text:
# react-hoodie

[![npm version](https://badge.fury.io/js/react-hoodie.svg)](https://badge.fury.io/js/react-hoodie)

React Hoodie bindings. Inspired by [react-redux][] and [re-base][].

It's similar to [Redux][] in that:

* there is one true store
* writes are dispatched as tasks

And similar to [re-base][] in that:

* you explicitly bind data to component state

Plus, thanks to [Hoodie][] it:

* works offline (properly, i.e.: writes and first load)
* syncs in realtime across multiple clients

[react-redux]: http://redux.js.org/docs/basics/UsageWithReact.html
[re-base]: https://github.com/tylermcginnis/re-base
[Redux]: http://redux.js.org/docs/introduction/ThreePrinciples.html
[Hoodie]: http://docs.hood.ie/

## Usage

Wrap your app in a hoodie:

```javascript
import React from 'react'
import ReactDOM from 'react-dom'

import { Hoodie, Provider } from 'react-hoodie'
import App from './app'

var hoodie = new Hoodie({url: 'http://localhost:8080'})
// hoodie.account.signIn({...}) etc.

ReactDOM.render(
  <Provider hoodie={hoodie}>
    <App />
  </Provider>,
  document.getElementById('root')
);
```

Bind hoodie data to component state and write to the hoodie store:

```javascript
import React, { Component } from 'react';

class App extends Component {
  constructor (props, context) {
    super(props, context)
    this.hoodie = context.hoodie;
    this.state = {
      'todos': []
    };
  }
  componentWillMount () {
    this.todos = this.hoodie.bindAll(this, 'todo', 'todos');
  }
  componentWillUnmount () {
    this.todos.unbind();
  }
  addTodo () {
    this.todos.add({'title': 'baba'});
  }
  render () {
    var todo = function (item) {
      return <li key={item.id}>{item.title}</li>;
    };
    return (
      <div className="App">
        <h2>Welcome to React Hoodie!</h2>
        <ul>{this.state.todos.map(todo)}</ul>
        <button onClick={this.addTodo.bind(this)}>
          + Add todo</button>
      </div>
    );
  }
}

App.contextTypes = {
  hoodie: React.PropTypes.any
}
```


text:
## Robust LSTM-Autoencoders for Face De-Occlusion in the Wild
Code for paper [Robust LSTM-Autoencoders for Face De-Occlusion in the Wild](https://ieeexplore.ieee.org/abstract/document/8101544) by Fang Zhao, Jiashi Feng, Jian Zhao, Wenhan Yang, Shuicheng Yan; TIP 2018.

### Getting Started
To compile cudamat library, modify `CUDA_ROOT` in `cudamat/Makefile` to the relevant cuda root path.

Install [caffe](https://github.com/BVLC/caffe) and [pycaffe](https://github.com/BVLC/caffe/tree/master/python).

Next compile .proto file by calling
```
protoc -I=./ --python_out=./ config.proto
```

### Training and Test
[lstm_ae_spatial_mr_com.py](https://github.com/zhaofang0627/face-deocc-lstm/blob/master/lstm_ae_spatial_mr_com.py): training and test for the RLA model described in the paper.

[lstm_ae_spatial_mr_com_ladv.py](https://github.com/zhaofang0627/face-deocc-lstm/blob/master/lstm_ae_spatial_mr_com_ladv.py): training and test for the Identity Preserving RLA (IP-RLA) model described in the paper.

license: MIT

branch_name: refs/heads/master

extension: md

license_type: permissive


text:
# Standard Application Layer Protocol Mitigation

## Description

### MITRE Description

> Network intrusion detection and prevention systems that use network signatures to identify traffic for specific adversary malware can be used to mitigate activity at the network level. Signatures are often for unique indicators within protocols and will be different across various malware families and versions. Adversaries will likely change tool signatures over time or construct protocols in such a way to avoid detection by common defensive tools. (Citation: University of Birmingham C2)

# Techniques

* [Standard Application Layer Protocol](../techniques/Standard-Application-Layer-Protocol.md)


text:
**Fireproof** 是一支来自英国与爱尔兰的男子组合One Direction的歌曲。单向组合（One
Direction，简称1D）包括尼尔•霍拉尼（Niall Horan）、塞恩•马利克（Zayn Malik）、利亚姆•佩恩（Liam
Payne）、哈里•斯泰尔斯（Harry Styles）和路易•汤姆林森（Louis Tomlinson）五位成员。

One Direction具有阳光的形象与追逐梦想的坚定和勇气。他们已经成为在全英乃至整个英语世界中具有影响力的偶像
。他们是五个有才华的家伙。他们都非常聪明，深切得知道自己想录制什么样的唱片，他们都是非常好的成功例子，并且接地气。

歌词下方是 _Fireproof钢琴谱_ ，希望大家喜欢。

### Fireproof歌词：

I think I'm gonna lose my mind,
Something deep inside me, I can't give up,
I think I'm gonna lose my mind,
I roll and I roll 'til I'm out of luck, yeah,
I roll and I roll 'til I'm out of luck,
I'm feeling something deep inside,
Hotter than a jet stream burning up,
I got a feeling deep inside,
It's taking, it's taking all I got, yeah,
It's taking, it's taking all I got.

path: /流行/Fireproof-One Direction/README.md

branch_name: refs/heads/main


text:
# Fast Reinforcement Learning
This repo is not affiliated with Jeremy Howard or his course which can be found here: [here](https://www.fast.ai/about/)
We will be using components from the Fastai library however for building and training our reinforcement learning (RL)
agents.

As a note, here is a run down of existing RL frameworks:
- [Intel Coach](https://github.com/NervanaSystems/coach)
- [Tensor Force](https://github.com/tensorforce/tensorforce)
- [OpenAI Baselines](https://github.com/openai/baselines)
- [Tensorflow Agents](https://github.com/tensorflow/agents)
- [KerasRL](https://github.com/keras-rl/keras-rl)

However there are also frameworks in PyTorch most notably Facebook's Horizon:
- [Horizon](https://github.com/facebookresearch/Horizon)
- [DeepRL](https://github.com/ShangtongZhang/DeepRL)

Our motivation is that existing frameworks commonly use tensorflow, which nothing against tensorflow, but we have
accomplished more in shorter periods of time using PyTorch.

Fastai for computer vision and tabular learning has been amazing. One would wish that this would be the same for RL.
The purpose of this repo is to have a framework that is as easy as possible to start, but also designed for testing
new agents.

# Table of Contents
1. [Installation](#installation)
2. [Alpha TODO](#alpha-todo)
3. [Code](#code)
5. [Versioning](#versioning)
6. [Contributing](#contributing)
7. [Style](#style)

## Installation
Very soon we would like to add some form of scripting to install some complicated dependencies. We have 2 steps:

**1.a FastAI**
[Install Fastai](https://github.com/fastai/fastai/blob/master/README.md#installation)
or if you are Anaconda (which is a good idea to use Anaconda) you can do: \
`conda install -c pytorch -c fastai fastai`

**1.b Optional / Extra Envs**
OpenAI all gyms: \
`pip install gym[all]`

Mazes: \
`git clone https://github.com/MattChanTK/gym-maze.git` \
`cd gym-maze` \
`python setup.py install`

**2 Actual Repo** \
`git clone https://github.com/josiahls/fast-reinforcement-learning.git` \
`cd fast-reinforcement-learning` \
`python setup.py install`

## Alpha TODO
At the moment these are the things we personally urgently need, and then the nice things that will make this repo
something akin to valuable. These are listed in kind of the order we are planning on executing them.

At present, we are in the Alpha stages of agents not being fully tested / debugged. The final step (before 1.0.0) will
be doing an evaluation of the DQN and DDPG agent implementations and verifying each performs the best it can at
known environments. Prior to 1.0.0, new changes might break previous code versions, and models are not guaranteed to be
working at their best. Post 1.0.0 will be more formal feature development with CI, unit testing, etc.

**Critical**
- [X] 0.0.0 MDPDataBunch: Finished to the point of being useful. Please reference: `tests/test_Envs`
Example:
```python
from fast_rl.core.Envs import Envs
from fast_rl.core.MarkovDecisionProcess import MDPDataBunch

# At present will try to load OpenAI, box2d, pybullet, atari, maze.
# note "get_all_latest_envs" has a key inclusion and exclusion so if you don't have some of these envs installed,
# you can avoid this here. Certain envs just flat out do not work / are unusual. You are welcome to see how to get them
# working.
for env in Envs.get_all_latest_envs():
    max_steps = 50  # Limit the number of per episode iterations for now.
    print(f'Testing {env}')
    mdp_databunch = MDPDataBunch.from_env(env, max_steps=max_steps, num_workers=0)
    if mdp_databunch is None:
        print(f'Env {env} is probably Mujoco... Add imports if you want and try on your own. Don\'t like '
              f'proprietary engines like this. If you have any issues, feel free to make a PR!')
    else:
        epochs = 1 # N episodes to run
        for epoch in range(epochs):
            for state in mdp_databunch.train_dl:
                # Instead of random action, you would have your agent here
                mdp_databunch.train_ds.actions = mdp_databunch.train_ds.get_random_action()

            for state in mdp_databunch.valid_dl:
                # Instead of random action, you would have your agent here and have exploration to 0
                mdp_databunch.valid_ds.actions = mdp_databunch.valid_ds.get_random_action()
```
- [X] 0.1.0 DQN Agent: Reference `tests/test_Learner/test_basic_dqn_model_maze`. We use Learner callbacks for
handling the different fit behaviors.

Testable code:
```python
from fast_rl.agents.DQN import DQN
from fast_rl.core.Learner import AgentLearner
from fast_rl.core.MarkovDecisionProcess import MDPDataBunch

data = MDPDataBunch.from_env('maze-random-5x5-v0', render='human')
model = DQN(data)
learn = AgentLearner(data, model)
learn.fit(450)
```
Result:

| ![](res/pre_interpretation_maze_dqn.gif) |
|:---:|
| *Fig 1: We are now able to train an agent using some Fastai API* |

We believe that the agent explodes after the first episode. Not to worry! We will make a RL interpreter to see whats
going on!

- [X] 0.2.0 AgentInterpretation: First method will be heatmapping the image / state space of the
environment with the expected rewards for super important debugging. In the code above, we are testing with a maze for a
good reason. Heatmapping rewards over a maze is pretty easy as opposed to other environments.

Usage example:
```python
from fast_rl.agents.DQN import DQN
from fast_rl.core.Interpreter import AgentInterpretationAlpha
from fast_rl.core.Learner import AgentLearner
from fast_rl.core.MarkovDecisionProcess import MDPDataBunch

data = MDPDataBunch.from_env('maze-random-5x5-v0', render='human')
model = DQN(data)
learn = AgentLearner(data, model)
learn.fit(10)
interp = AgentInterpretationAlpha(learn)
interp.plot_heatmapped_episode(5)
```

| ![](res/heat_map_1.png) |
|:---:|
| *Fig 2: Cumulative rewards calculated over states during episode 0* |
| ![](res/heat_map_2.png) |
| *Fig 3: Episode 7* |
| ![](res/heat_map_3.png) |
| *Fig 4: Unimportant parts are excluded via reward penalization* |
| ![](res/heat_map_4.png) |
| *Fig 5: Finally, state space is fully explored, and the highest rewards are near the goal state* |

If we change:
```python
interp = AgentInterpretationAlpha(learn)
interp.plot_heatmapped_episode(epoch)
```
to:
```python
interp = AgentInterpretationAlpha(learn)
interp.plot_episode(epoch)
```
We can get the following plots for specific episodes:

| ![](res/reward_plot_1.png) |
|:----:|
| *Fig 6: Rewards estimated by the agent during episode 0* |

As determined by our AgentInterpretation object, we need to either debug or improve our agent.
We will do this in parallel with creating our Learner fit function.

- [X] 0.3.0 Add DQNs: DQN, Dueling DQN, Double DQN, Fixed Target DQN, DDDQN.
- [X] 0.4.0 Learner Basic: We need to convert this into a suitable object. Will be similar to the basic fasai learner
hopefully. Possibly as add prioritize replay?
    - Added PER.
- [X] 0.5.0 DDPG Agent: We need to have at least one agent able to perform continuous environment execution. As a note, we
could give discrete agents the ability to operate in a continuous domain via binning.
    - [X] 0.5.0 DDPG added. let us move
    - [X] 0.5.0 The DDPG paper contains a visualization for Q learning might prove useful. Add to interpreter.

Added q value interpretation per explanation by Lillicrap et al., 2016. Currently both models (DQN and DDPG) have
unstable q value approximations. Below is an example from DQN.
```python
interp = AgentInterpretationAlpha(learn, ds_type=DatasetType.Train)
interp.plot_q_density(epoch)
```
Can be referenced in `fast_rl/tests/test_interpretation` for usage. A good agent will have mostly a diagonal line,
a failing one will look globular or horizontal.

| ![](res/dqn_q_estimate_1.jpg) |
|:----:|
| *Fig 7: Initial Q Value Estimate. Seems globular which is expected for an initial model.* |

| ![](res/dqn_q_estimate_2.jpg) |
|:----:|
| *Fig 8: Seems like the DQN is not learning...* |

| ![](res/dqn_q_estimate_3.jpg) |
|:----:|
| *Fig 9: Alarming later epoch results. It seems that the DQN converges to predicting a single Q value.* |

- [X] 0.6.0 Single Global fit function like Fastai's. Think about the missing batch step. Noted some of the changes to
the existing the Fastai

| ![](res/fit_func_out.jpg) |
|:----:|
| *Fig 10: Resulting output of a typical fit function using ref code below.* |

```python
from fast_rl.agents.DQN import DuelingDQN
from fast_rl.core.Learner import AgentLearner
from fast_rl.core.MarkovDecisionProcess import MDPDataBunch

data = MDPDataBunch.from_env('maze-random-5x5-v0', render='human', max_steps=1000)
model = DuelingDQN(data)
# model = DQN(data)
learn = AgentLearner(data, model)

learn.fit(5)
```

- [ ] **Working On** 0.7.0 Full test suite using multi-processing. Connect to CI.
- [ ] 0.8.0 Comprehensive model eval **debug/verify**. Each model should succeed at at least a few known environments.
- [ ] 0.9.0 Notebook demonstrations of basic model usage
- [ ] **1.0.0** Base version is completed with working model visualizations proving performance / expected failure. At
this point, all models should have guaranteed environments they should succeed in.
- [ ] 1.2.0 Add PyBullet Fetch Environments
    - [ ] 1.2.0 Not part of this repo, however the envs need to subclass the OpenAI `gym.GoalEnv`
    - [ ] 1.2.0 Add HER

## Code
Some of the key take aways is Fastai's use of callbacks. Not only do callbacks allow for logging, but in fact adding a
callback to a generic fit function can change its behavior drastically. My goal is to have a library that is as easy
as possible to run on a server or on one's own computer. We are also interested in this being easy to extend.

We have a few assumptions that the code / support algorithms I believe should adhere to:
- Environments should be pickle-able, and serializable. They should be able to shut down and start up multiple times
during run time.
- Agents should not need more information than images or state values for an environment per step. This means that
environments should not be expected to allow output of contact points, sub-goals, or STRIPS style logical outputs.

Rational:
- Shutdown / Startup: Some environments (pybullet) have the issue of shutting down and starting different environments.
Luckily, we have a fork of pybullet, so these modifications will be forced.
- Pickling: Being able to encapsulate an environment as a `.pkl` can be important for saving it and all the information
it generated.
- Serializable: If we want to do parallel processing, environments need to be serializable to transport them between
those processes.

Some extra assumptions:
- Environments can easier be goal-less, or have a single goal in which OpenAI defines as `Env` and `GoalEnv`.

These assumptions are necessary for us to implement other envs from other repos. We do not want to be tied to just
OpenAI gyms.

## Versioning
At present the repo is in alpha stages being. We plan to move this from alpha to a pseudo beta / working versions.
Regardless of version, we will follow Python style versioning

_Alpha Versions_:  #.#.# e.g. 0.1.0. Alpha will never go above 0.99.99, at that point it will be full version 1.0.0.
                   A key point is during alpha, coding will be quick and dirty with no promise of proper deprecation.

_Beta / Full Versions_: These will be greater than 1.0.0. We follow the Python method of versions:
                        **[Breaking Changes]**.**[Backward Compatible Features]**.**[Bug Fixes]**. These will be feature
                        additions such new functions, tools, models, env support. Also proper deprecation will be used.

_Pip update frequency_: We have a pip repository, however we do not plan to update it as frequently at the moment.
                        However, the current frequency will be during Beta / Full Version updates, we might every 0.5.0
                        versions update pip.

## Contributing
Follow the templates we have on github. Make a branch either from master or the most recent version branch.
We recommend squashing commits / keep pointless ones to a minimum.

## Style
Fastai does not follow closely with [google python style guide](https://github.com/google/styleguide/blob/gh-pages/pyguide.md#3164-guidelines-derived-from-guidos-recommendations),
however in this repo we will use this guide.
Some exceptions however (typically found in Fastai):
- "PEP 8 Multiple statements per line violation" is allowed in the case of if statements as long as they are still
within the column limit.

repository: swelchm/fast-reinforcement-learning

repo_name: swelchm/fast-reinforcement-learning


text:
![honey-cycle](https://carefuldata.com/images/cdlogo.png)

# honey-cycle
pcap collection and disk cleaning daemon for net-gargoyle2 honeypot

See https://github.com/jpegleg/net-gargoyle2 for the net-gargoyle2 honeypot base.

The honey-cycle system adds pcap collection and rotation with tcpdump,
and cleans up after the net-gargoyle2 sqlite db backups that net-gargoyle2
makes in /opt/net-gargoyle/ when the db reaches the configured sizes, defaulting
at 500MB.

honey-cycle creates a self-maintaining honeypot appliance out of net-gargoyle2
that upgrades itself and manages its disk space.

# Using the install script
The 'install' file will also install net-gargoyle2 if not already installed.
Usage example:

```
chmod +x install
./install
honey-cycle
```

Using systemd (unit file installed by script)

```
systemctl start honey
```

The file cycler.py is placed in /opt/net-gargoyle/workspace/cycler.py and contains the age
in addition to the sleep set in /usr/sbin/honey-cycle

Use the sleep to extend the amount of time each tcpdump is cut off.

If the partion that /opt is in gets 90% or more full, honey-cycle will start deleting .db.gz and .pcap files
out of /opt/net-gargoyle/ regardless of their age. If removing those files doesn't get it below 90% it will exit
instead of running as to not compound the problem with more pcaps.

repository: jpegleg/honey-cycle

repo_name: jpegleg/honey-cycle


text:
# Electronic Identification, Authentication and Trust Services Regulation

eIDAS (electronic IDentification, Authentication and Trust Services) is
an EU regulation on electronic identification and trust services for
electronic transactions in the internal market. For a set of eIDAS-compliant technical specifications that the member states of the EU need to
refer to, see [here](https://ec.europa.eu/cefdigital/wiki/display/CEFDIGITAL/2016/12/16/eIDAS+Technical+Specifications+v.+1.1).

If there are cross-border connections within the member states of
the EU, an eIDAS network that consists of a series of
eIDAS-nodes implemented at the member state level can be used. An eIDAS-node
consists of an eIDAS connector and an eIDAS proxy service or eIDAS
middleware service.

An eIDAS node can request a cross-border authentication through the
eIDAS connector and provide a cross-border authentication through the
eIDAS service (an eIDAS service can operate either in an eIDAS proxy
service or eIDAS middleware service).

Following is an example eIDAS network with proxy to proxy connection
between two "member states" (MS).

![eIDAS diagram]({{base_path}}/assets/img/concepts/eidas-diagram.png)

Following is what happens in the illustration given above.

1.  The user (citizen) of MS A requests access to a service provider in
    MS B.

2.  The service provider in MS B sends the request to its own connector.

3.  On receipt of the request, the connector asks the user for the
    country of origin (TLS protocol).

4.  When the user selects the country of origin, the SAML request is
    forwarded by the connector to the eIDAS-node proxy service of the
    user's member state.

5.  The eIDAS-node proxy service sends the SAML request to the identity
    provider for authentication, and a user authenticates using the
    electronic identity. Once authenticated, this identity is returned
    to the eIDAS-node proxy service.

6.  The eIDAS-node proxy service sends a SAML assertion to the
    requesting connector, which forwards the response to the service
    provider.

7.  The service provider grants access to the user.

For more information on how eIDAS works, see [How does eIDAS
work?](https://ec.europa.eu/cefdigital/wiki/pages/viewpage.action?pageId=82773030).

gha_language: CSS


text:
# ISAC-SIMO

[![Slack](https://img.shields.io/static/v1?label=Slack&message=%23isac-simo&color=blue)](https://callforcode.org/slack)

[Construction quality management open source tools by Build Change](https://github.com/ISAC-SIMO).

This project is maintained in its own organization and is officially part of [Call for Code® with The Linux Foundation](https://www.linuxfoundation.org/projects/call-for-code/).

repository: Call-for-Code/ISAC-SIMO

repo_name: Call-for-Code/ISAC-SIMO


text:
# WEB 200 Fundamentals of Web Development
## [Bellevue University](http://bellevue.edu "Bellevue University is a private, non-profit university located in Bellevue, Nebraska, United States.")

Address: 1000 Galvin Rd S, Bellevue, Nebraska 68005 - [Directions](https://www.google.com/maps/dir/''/Bellevue+University/@41.1509562,-95.9896355,12z/data=!4m8!4m7!1m0!1m5!1m1!1s0x8793886a86ca807f:0x838e857240d175eb!2m2!1d-95.9195956!2d41.1509774 "Google maps")

Web Development [Degree](http://www.bellevue.edu/degrees/bachelor/web-development-bs/ "Designed by developers for developers.")

## Course Description

This course examines the fundamentals specific to web development. Topics will include web standards, accessibility/usability, and the coding languages which serve as the foundation for web development: HTML and CSS.
Students work with these languages at a basic level, learning the essential structures, coding conventions, and best practices associated with the effective use of HTML and CSS in modern web-development environments. Prerequisite: Basic computer literacy

Prerequisite: None

## Repository Overview

Carefully read the assigned chapters, videos, and narrative I've included under each exercise and assignment.

Most exercises and assignments have runnable sample code, so you can visually see the concept "in action." Assignments are organized by "milestones" and each "milestone" builds on the last.

Approach every week from top-to-bottom and do not move to the next assignment/exercise without fully understanding the previous.

## Clone
```bash
git clone https://github.com/buwebdev/web-200.git
cd web-200
```


text:
# [Weights&Biases - Hydra](https://github.com/jean-zay-users/jean-zay-doc/tree/master/docs/examples/tf/tf_wandb_hydra)

Weights&Biases and Hydra are 2 tools used in Machine Learning Projects.
Weights&Biases allows you to easily save a lot of information about your different experiments in the cloud, like meta data, system data, model weights and of course your different metrics and logs.
Hydra is a configuration management tool that allows you to build command line interfaces and create robust and readable configuration files.
These 2 tools can be used together very elegantly and easily, but their setup on Jean Zay is not straightforward.
In this example, we will show you how to setup both tools on Jean Zay in a TensorFlow example.

## Installation

To run this example, you need to clone the jean-zay repo in your `$WORK` dir:
```
cd $WORK &&\
git clone https://github.com/jean-zay-users/jean-zay-doc.git
```

You can then install the requirements:
```
module purge
module load tensorflow-gpu/py3/2.6.0
pip install --user -r $WORK/jean-zay-doc/docs/examples/tf/tf_wandb_hydra/requirements.txt
```

## Run
In order to run the example on SLURM you can just issue the following command from the example directory:
```
python train_mnist.py --multirun hydra/launcher=base +hours=1
```

### SLURM parametrization
Different parameters can be set for the SLURM job, using the `hydra.launcher` config group.
For example to launch a longer job, you can use:
```
python train_mnist.py --multirun hydra/launcher=base +hours=10 hydra.launcher.qos='qos_gpu-t3'
```

If you want to use more gpus:
```
python train_mnist.py --multirun hydra/launcher=base +hours=10 hydra.launcher.qos='qos_gpu-t3' hydra.launcher.gpus_per_node=4
```

### Weights&Biases
This will require you to create a [Weights&Biases account](https://wandb.ai/).
`wandb` is run offline because the compute nodes are not connected to the internet.
In order to have the results uploaded to the cloud, you need to manually sync them using the `wandb sync run_dir` command.
The run directories are located in `$SCRATCH/wandb/jean-zay-doc`, but this can be changed using the `wandb.dir` config variable.
You can also run a script to sync the runs before they are finished on a front node, for example using the script [here](https://gist.github.com/zaccharieramzi/3e1abc67aefac106ede2883c56ac8e1a).

### Hydra and submitit outputs
The outputs created by Hydra and submitit are located in the `multirun` directory.
You can change this value by setting the `hydra.dir` config variable.

### Batch jobs
In order to batch multiple similar jobs you can use the sweep feature of Hydra.
For example, if you want to run multiple training with different batch sizes, you can do the following:
```
python train_mnist.py --multirun hydra/launcher=base +hours=1 fit.batch_size=32,64,128
```

This can be extended to the grid search of a Cartesian product for example:
```
python train_mnist.py --multirun hydra/launcher=base +hours=1 fit.batch_size=32,64,128 compile.optimizer=rmsprop,adam
```

## Similar resources

- [slurm-hydra-submitit](https://github.com/RaphaelMeudec/slurm-hydra-submitit) presents a similar concept in a more general case for any SLURM cluster, without W&B. In particular, it specifies [how to run specific parameters combinations grid search](https://github.com/RaphaelMeudec/slurm-hydra-submitit#specific-parameters-combinations).
- [jz-hydra-submitit-launcher](https://github.com/zaccharieramzi/jz-hydra-submitit-launcher) a pip installable (`pip install jz-hydra-submitit-launcher`) custom launcher that has the correct default for JZ, and several default configurations:
```
hydra-submitit-launch train_mnist.py dev hydra.launcher.setup=\["'#SBATCH -C v100-32g'","'export WANDB_MODE=offline'"\]
```

## References
- Weights&Biases: https://wandb.ai/site
- Hydra: https://hydra.cc/
- Submitit: https://github.com/facebookincubator/submitit
- Hydra submitit launcher: https://hydra.cc/docs/plugins/submitit_launcher/

## Alternatives

To Weights&Biases:
- MLFlow
- Tensorboard

To Hydra:
- argparse
- click

repository: jean-zay-users/jean-zay-doc

gha_license_id: MIT

repo_name: jean-zay-users/jean-zay-doc


text:
# Introduction

Okami is a high-level web scraping framework built entirely for Python 3.6+ using asynchronous model provided by standard library [asyncio](https://docs.python.org/3/library/asyncio.html) module with [aiohttp](https://docs.aiohttp.org) as a networking layer and [lxml](http://lxml.de) for parsing data.

Architecture is entirely modular and main components can be swapped out and replaced with custom implementations.

## Features

- complete website-wide page processing
- full scraping mode or delta mode scraping only unvisited pages
- immediate, on-demand or real-time page processing over HTTP API
- single page processing via command line
- lots of pipelines, middlewares and signals

Spiders are very simple implementations. Take a look at an example [here](https://github.com/ambrozic/okami/blob/master/okami/example.py#L14-L53) or continue to [usage](usage.md) documentation page.

## License

Okami is licensed under a three clause BSD License. Full license text can be found [here](license.md).

repository: ambrozic/okami

gha_language: Python

repo_name: ambrozic/okami


text:
# gRPC with some Spring Boot

## Introduction
This is small project that has two goals:

- Serve as a quick _how to_ guide in setting up gRPC with **Gradle**
- Serve as a quick _reminder_ as to how serve normal Spring request using the **protobuf** format and serializers
- Be a small and unrepresentative test of the performance between a service that 1) uses JSON serialization, 2) uses protobuf serialization and 3) uses the gRPC protocol _in toto_.

## Rundown

The project is divided in 3 modules:

- **[server-1]** a small Spring Boot app that serves requests over HTTP with both JSON and protobuf serialization.
- **[server-2]** a **Netty** based gRPC server.
- **[client-1]** a client server that can make the 3 types of requests to the servers aforementioned.

### Proto file

The same `.proto` file is copied across all three servers. To wit:
```proto

syntax = "proto3";

package io.analog.alex.grpcserver;

option java_multiple_files = true;
option java_outer_classname = "GreetingProto";

message GreetingRequest {
  string name = 1;
  string author = 2;
  string message = 3;
  int32 order = 4;
}

message GreetingResponse {
  string greet = 1;
}

service GreetingService {
  rpc sayHello (GreetingRequest) returns (GreetingResponse) {}
}
```

## How To

Simply run `./gradlew generateProto` followed by `./gradlew build`

repository: analog-alex/grpc-with-spring-kt

repo_name: analog-alex/grpc-with-spring-kt


text:
#Chrome Dev Tools

##Exercise 1:
![Screenshot 1](../../week-2/screenshot1.png)
##Exercise 2:
![Screenshot 2](../../week-2/screenshot2.png)
##Exercise 3:
![Screenshot 3](../../week-2/screenshot3.png)
##Exercise 4:
![Screenshot 4](../../week-2/screenshot4.png)
##Exercise 5:
![Screenshot 5](../../week-2/screenshot5.png)
##Exercise 6:
![Screenshot 6](../../week-2/screenshot6.png)
##Exercise 7:
![Screenshot 7](../../week-2/screenshot7.png)
##Exercise 8:
![Screenshot 8](../../week-2/screenshot8.png)
##Exercise 9:
![Screenshot 9](../../week-2/screenshot9.png)
##How can you use Chrome's DevTools inspector to help you format or position elements?
In the style section, once you've selected an element, you can set the display type and positioning type as well as chaning the margin, padding, top, bottom, left and right properties. When you change these properties

##How can you resize elements on the DOM using CSS?
You resize elements by changing the height and width of the element.

##What are the differences between Absolute, Fixed, Static, and Relative positioning? Which did you find easiest to use? Which was most difficult?
* With Absolute positioning, you can set the coordinates of the element relative to it's nearest parent. If there is no parent element, it is relative to the entire body.
* With Static positioning, the elements appear as they flow in the html document, in order.
* With Relative positioning, you can set the coordinates of an element relative to where the element would normally lie (their static position).
* With Fixed positioning, you set the coordinates of the element relative to the window. It will stay on the screen there, even if you scroll.

Absolute positioning was the easiet to use b/c the divs had no parent elements and they were positioned relative to the entire body. Relative positioning can be tricky if you're not sure where the static position is.

##What are the differences between Margin, Border, and Padding?
Margin is the space outside of the border. Border is the line (imaginary or displayed) enclosing the element. Padding is the space between the content of the element and the border.

##What was your impression of this challenge overall? (love, hate, and why?)
I thought it was easy most of the time. I enjoyed it because it gave us a chance to experiment with all of the positioning properties, which can be tricky.

gha_language: Ruby


text:
# utl-identify-overlapping-intervals-with-multiple-drug-exposure
    Identify overlapping intervals with multiple drug exposure

         Two Solutions

             1. Using R IRanges(for overlaps) and IGraph(linking)
                Only does ID = 1

             2. Pure SAS does not do the final linking

                PGStats
                https://communities.sas.com/t5/user/viewprofilepage/user-id/462

                Nice use of comb and lexcomb to enumerate combinations
                ncomb = comb(n, nDrugs);
                lexcomb(j, nDrugs, of d{*});

                see Mark Keintz 'proc optnet' code for inking (link below)

    The R code seems daunting but most of it is just to get data in and out of R.
    IRanges and IGraph are solid packages with many options, including
    by processing. It looks like they are optimized for speed.

    github
    https://tinyurl.com/y6hh73qt
    https://github.com/rogerjdeangelis/utl-identify-overlapping-intervals-with-multiple-drug-exposure

    related to
    https://tinyurl.com/y4mlzjrq
    https://communities.sas.com/t5/SAS-Programming/How-to-identify-concurrent-use-of-drugs/m-p/560737

    R IRanges
    http://lutgw1.lunet.edu/usr/lib64/R/library/IRanges/html/findOverlaps-methods.html

    SAS Proc Opnet fro linking
    Keintz, Mark
<EMAIL_ADDRESS>    https://tinyurl.com/yxfalyfb
    https://github.com/rogerjdeangelis/utl_identify_linked_pairs_in_a_table_across_rows

    *_                   _
    (_)_ __  _ __  _   _| |_
    | | '_ \| '_ \| | | | __|
    | | | | | |_) | |_| | |_
    |_|_| |_| .__/ \__,_|\__|
            |_|
    ;

    * Observation number to drug * not neede for SAS solution;
    proc format;
      value $num2drug
        "1" ="B"
        "2" ="D"
        "3" ="F"
        "4" ="A"
        "5" ="E"
        "6" ="C"
        "7" ="C"
    ;
    run;quit;

    options validvarname=upcase;
    libname sd1 "d:/sd1";
    data sd1.have;
       *format START mmddyy. END mmddyy.;
       input ID DRUG $ START :mmddyy. DAYS_SUPP END :mmddyy.;
    cards4;;
    1 B 1/1/09 90 4/1/09
    1 D 2/1/09 30 3/3/09
    1 F 3/6/09 30 6/5/09
    1 A 2/17/10 30 3/19/10
    1 E 3/1/10 90 5/30/10
    1 C 7/9/11 60 9/7/11
    1 C 5/6/12 90 8/4/12
    ;;;;
    run;quit;

    SD1.HAVE total obs=7
                                                 DAYS_
    Obs     START        END       ID    DRUG     SUPP

     1     01/01/09    04/01/09     1     B        90
     2     02/01/09    03/03/09     1     D        30
     3     03/06/09    06/05/09     1     F        30
     4     02/17/10    03/19/10     1     A        30
     5     03/01/10    05/30/10     1     E        90
     6     07/09/11    09/07/11     1     C        60
     7     05/06/12    08/04/12     1     C        90

    *           _
     _ __ _   _| | ___  ___
    | '__| | | | |/ _ \/ __|
    | |  | |_| | |  __/\__ \
    |_|   \__,_|_|\___||___/

    ;

    Dates shown as number of days since 1/1/1960 (basis for SAS dates)

    HERE ARE THE ONLY OVERLAPS

        Drug   Start    End      Start    End
        ====   =====    ===      =====    ===
     1  B      17898 - 17988
     2                        D   17929 - 17959  OVERLAP  1-> 2
     3                        F   17962 - 18053  OVERLAP  1-> 3
     4                        A   18310 - 18340
     5                        E   18322 - 18412
     6                        C   18817 - 18877
     7                        C   19119 - 19209

       Drug   Start    End      Start    End
       ====   =====    ===      =====    ===
     1                        B   17898 - 17988
     2                        D   17929 - 17959
     3                        B   18023 - 18053
     4  A   18310 - 18340
     5                        E   18322 - 18412  OVERLAP  4-> 5
     6                        C   18817 - 18877
     7                        C   19119 - 19209

    *            _               _
      ___  _   _| |_ _ __  _   _| |_ ___
     / _ \| | | | __| '_ \| | | | __/ __|
    | (_) | |_| | |_| |_) | |_| | |_\__ \
     \___/ \__,_|\__| .__/ \__,_|\__|___/
                    |_|
    ;

    *******************************************************
    1. Using R IRanges(for overlaps) and IGraph(linking)  *
    *******************************************************

    Observations that overlab

    SD1.WANT total obs=3

     Observations that Overlap

     OVER1    OVER2

       1        2      Drug-B and Drug-D
       1        3      Drug-B and Drug-F

       4        5      Drug-A and Drug-E ( second occurance
                                           or Drug-A does not overlap Drug-F)

    WORK.WANT total obs=2

      ID    DRUGOVERLAP

       1       B:D:F
       1       A:E

    ******************************************************
    2.  Using R IRanges(for overlaps) and IGraph(linking)  *
    *******************************************************

    options validvarname=upcase;
    libname sd1 "d:/sd1";
    data sd1.have;
       *format START mmddyy. END mmddyy.;
       input ID DRUG $ START :mmddyy. DAYS_SUPP END :mmddyy.;
    cards4;;
    1 B 1/1/09 90 4/1/09
    1 D 2/1/09 30 3/3/09
    1 F 3/6/09 30 6/5/09
    1 A 2/17/10 30 3/19/10
    1 E 3/1/10 90 5/30/10
    1 C 7/9/11 60 9/7/11
    1 C 5/6/12 90 8/4/12
    ;;;;
    run;quit;

    %utlfkil(d:/xpt/want.xpt);

    proc format;
      value $num2drug
        "1" ="B"
        "2" ="D"
        "3" ="F"
        "4" ="A"
        "5" ="E"
        "6" ="C"
        "7" ="C"
    ;
    run;quit;

    %utl_submit_r64('
         library(SASxport);
         library(data.table);
         library(IRanges);
         library(haven);
         have<-as.data.table(read_sas("d:/sd1/have.sas7bdat")[,c(3,5)]);
         colnames(have)=c("start","end");
         rng <-IRanges(have$start,have$end);
         want<-as.data.table(findOverlaps(rng,drop.redundant=TRUE,drop.self=TRUE));
         colnames(want)<-c("OVER1","OVER2");
         want;
         write.xport(want,file="d:/xpt/want.xpt");
      ');

    options validvarname=upcase;
    libname sd1 "d:/sd1";
    libname xpt xport "d:/xpt/want.xpt";
    data sd1.want ;
      length FTO $7;
      set xpt.want;
      FTO=cats('C0',over1,':','C0',over2);
    run;quit;
    libname xpt clear;

    %utlfkil(d:/xpt/want.xpt);

     %utl_submit_r64('
        library(SASxport);
        library(igraph);
        library(haven);
        data <-read_sas("d:/sd1/want.sas7bdat")[,1];
        data;
        data<-as.character(data$FTO);
        spl <- strsplit(data,":");
        combspl <- data.frame(
          grp = rep(seq_along(spl),lengths(spl)),
          val = unlist(spl));
        combspl;
        cl <- clusters(graph.data.frame(combspl))$membership[-(1:length(spl))];
        cl;
        dat <- data.frame(cl);
        dat[,2] <- row.names(dat);
        dat;
        want <- character(0);
        for (i in 1:max(cl)) {
          want[i] <- paste(paste0(dat[(dat[,1] == i),][,2]), collapse=":");
        };
        want;
        write.xport(dat,file="d:/xpt/want.xpt");
     ');

    libname xpt xport "d:/xpt/want.xpt";
    data want;
      retain id 1 drugOverlap;
      length drugOverlap $16;
      set xpt.dat;
      by cl;
      drug = put(substr( v2,3),$num2drug.);
      drugOverlap = catx(':',drugOverlap,drug);
      if last.cl then do;
         output;
         drugOverlap='';
      end;
      drop cl v2 drug;
    run;quit;
    libname xpt clear;

    Up to 40 obs from WANT total obs=2

    Obs    ID    DRUGOVERLAP

     1      1       B:D:F
     2      1       A:E

    ********************************************
    2. Pure SAS does not do the final linking  *
    ********************************************

    data have;
       input ID DRUG $ START_DT :mmddyy. DAYS_SUPP END_DT :mmddyy.;
    cards4;;
    1 B 1/1/09 90 4/1/09
    1 D 2/1/09 30 3/3/09
    1 F 3/6/09 30 6/5/09
    1 A 2/17/10 30 3/19/10
    1 E 3/1/10 90 5/30/10
    1 C 7/9/11 60 9/7/11
    1 C 5/6/12 90 8/4/12
    ;;;;
    run;quit;

    data days;
    set have;
    dum = 1;
    do day = start_dt to end_dt;
        output;
        end;
    format day yymmdd10.;
    keep id drug day;
    run;

    proc sort data=days; by id day drug; run;

    data dayTable;
    array d{32} $10;
    length drugList $64;
    do n = 1 by 1 until(last.day);
        set days; by id day;
        d{n} = drug;
        end;
    do nDrugs = 2 to n;
        ncomb = comb(n, nDrugs);
        do j = 1 to ncomb;
            rc = lexcomb(j, nDrugs, of d{*});
            call missing(drugList);
            do k = 1 to nDrugs;
                drugList = catx("-", drugList, d{k});
                end;
            output;
            end;
        end;
    keep id day nDrugs drugList;
    run;

    proc sort data=dayTable; by id nDrugs drugList day; run;

    data dayTableSeq;
    retain seq;
    set dayTable; by id nDrugs drugList;
    if first.drugList or day-1 ne lag(day) then seq+1;
    run;

    data want;
    length id nDrugs 8 drugList $64 duration startDate endDate 8;
    retain startDate;
    set dayTableSeq; by id nDrugs drugList seq;
    if first.seq then startDate = day;
    if last.seq then do;
        endDate = day;
        duration = endDate - startDate + 1;
        /*if duration >= 28 then*/ output;
        end;
    format startDate endDate yymmdd10.;
    keep id nDrugs drugList startDate endDate duration;
    run;


text:
---
title: Ignore
---

Sometimes, Snyk may alert you to a vulnerability that you either has no patches or updates available, or that you do not believe to be currently exploitable in your application. In this case, you may want to tell Snyk to ignore the vulnerability for a certain period of time.

If you're using snyk wizard (only available on Node.js projects), the wizard will give you the option of ignoring the vulnerability for a period of 30 days. If you're using Ruby or Java, or if you want to specify a different duration, you can use the snyk ignore command.

snyk ignore --id=IssueID [--expiry=expiry] [--reason='reason for ignoring']

### Options

`snyk ignore` accepts three options:

      Option
      Description
      Default
      Required

      --id

The Snyk ID for the issue to ignore. Found by running snyk test and grabbing the last segment of the URL for a given vulnerability.

Example: For the vulnerability found at https://snyk.io/vuln/npm:tough-cookie:20160722, you would use:
 --id=npm:tough-cookie:20160722

      None
      Yes

      --expiry

The expiry date string, according to RFC2822.

Example: --expiry=2017-04-30

      30 days
      No

      --reason

The reason for ignoring the issue.

Example: --reason='Not currently exploitable.'

      "None Given"
      No

branch_name: refs/heads/gh-pages

gha_language: HTML


text:
# timestamp-microservice
FreeCodeCamp API Challenge #1

A web application that accepts a URI parameter in UNIX timestamp or natural language format, and returns a JSON object containing both unix and natural forms.

#### Example

Submitting either `/1465084800` OR `/June 5, 2016` will return:

```json
{
  "unix":<PHONE_NUMBER>,
  "natural": "June 5, 2016"
}
```

repository: Ryan-Rutledge/timestamp-microservice

repo_name: Ryan-Rutledge/timestamp-microservice


text:
---
title: CSS
category: Developer
category: Developer > Software and System Design > Coding Style Guide
redirect_from:
  - /developer/coding_style_guide/css
---

## Styling

Classes vs IDs:
* Classes are for repeated elements - make these as general as possible
* IDs *must* only have one associated element at any given time - this is for specifying your module

Both CSS classes and IDs should be written as dash-separated-variables.
Example HTML:
```
<h1 id="my-header" class="my-class">Title</h1>
<p id="my-paragraph" class="my-class">Text.</p>
```

When writing CSS, Submitty uses the following guidelines:
* Use 4 space indents
* Use K&R style braces (one brace on the same line on the selector)
* For selectors which specify elements with a comma, write each element on a separate line
* Group all @media queries at the bottom, under as few breakpoints as possible

Example CSS:
```
#my-header,
.my-class {
    display: none;
}

@media (min-width: 541px) {
    #my-header {
        display: absolute;
    }

    .my-class {
        display: block;
    }
}
```

_NOTE: We will be implementing a minifier so there is no need to do things like remove the whitespace
after a colon, but there is nothing wrong with using shorthand properties._

If possible, separate classes for specific cases and general use. For example, `global.css`'s
`.system-message` class specifies the positioning / sizing of a message:
```
.system-message {
    width: 100%;
    text-align: center;
    margin: auto;
    font-size: 1.5em;
    font-weight: bold;
}
```
On the other hand `server.css`'s `.warning` and `.danger` classes keep a consistent color for other elements to use:
```
.warning {
    background: #fff3cd;
    color: #856404;
}

.danger {
    background: #f2dede;
    color: #b94a48;
}
```

Combining these, both our noscript error and our system message notifications are displayed with a consistent
image - with respect to each other and other warning/danger messages on the site. When choosing a color for
your element, check to see what other colors are used in similar situations and choose from something that
already exists.

## Responsive Design

Responsive design is the technique of displaying a page differently to fit different devices. This can
mostly be done through CSS @media queries. These queries add additional CSS when specific conditions
about the user's device is met. We implement a "mobile first design" that does not use @media queries for
mobile devices but instead uses @media queries for additional rules on tablet / desktop devices.

Generally, our CSS is structured like this:
```
.my-class {
    /* General CSS as well as special rules for small (mobile) devices */
}

@media (min-width: 541px) {
    .my-class {
        /* Additional special CSS for medium (tablet) and large (desktop) devices */
    }
}

@media (min-width: 768px) {
    .my-class {
        /* Additional special CSS for large (desktop) devices only */
    }
}
```

It might not always be necessary to use @media queries; some things render just fine on all devices.
When choosing your breakpoints (the pixel cutoffs), slowly decrease your screen size to find at which
widths your UI loses quality. If you are having trouble determining specific breakpoints for your module,
the ones provided in the example above should cover most cases.

## File Architecture:

Each `.twig` file should generally have a paired `.css` file. Do not use inline CSS or `<style>` elements
on your page. When adding a new CSS file, use our internal PHP function so that we can properly serialize it:
```
$this->core->getOutput()->addInternalCss('mystyle.css');
```
Your CSS file should go in the directory:
```
/Submitty/site/public/css/
```

Further, as we are still integrating responsive design to the site, to soft "enable" mobile on
a page, you must explicitly add the following viewport tag to your HTML:
```
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
```
This tag allows us to scale @media query breakpoints based on display size, not resolution size.
Technically, responsive display is enabled on the entire site, but it will not trigger on mobile
devices as users do not generally change their window size on a phone.

gha_language: JavaScript


text:
---
layout: post
title: Materials and Products Database
img: "assets/img/portfolio/map.jpg"
date: May 2023
tags: [fire, data, materials, material properties, open source]
youtubeId:
---

![image]({{ page.img | relative_url }})

The built environment is comprised of many different materials, and for many, detailed knowledge of their fire behavior is limited or non-existent. I as part of the UL Fire Safety Research Institute (FSRI) team that developed the Materials and Products (MaP) Database to address this information gap. The MaP is an interactive, web-based repository populated with data from rigorous testing of the contemporary products and materials commonly found in the modern built environment.

## For More information
Homepage: FSRI MaP
Github Repo: Github Data Repo


text:
# Chapter 2 - Web3 and Solidity in Truffle

This chapter will introduce you to Web3 and its related APIs and uses in Truffle. You will gain an understanding of the fundamentals of Web3 and how it used in Truffle to connect to and help develop blockchain and/or smart contract based applications. Moreover, this chapter will give you a brief refresher of Solidity, including functions, data types, visibility specifiers, and events.

## What Will You Learn?
1. Learn and understand the reasons for the use of Web3 in an isolated environment in Truffle
2. Learn and understand the reasons for the use of Web3 in Truffle
3. Learn and understand the use of various types of functions and data types in Solidity
4. Learn and understand when and why events are used
5. Learn and understand how to use the appropriate type and visibility specifier when defining a function

## Technologies Used
- Web3
- Solidity

repository: rasor/Truffle-Quick-Start-Guide

repo_name: rasor/Truffle-Quick-Start-Guide


text:
---
external help file: WrikeExplorer-help.xml
Module Name: WrikeExplorer
online version:
schema: 2.0.0
---

# Set-WrikeAccessToken

## SYNOPSIS
Sets the Wrike API App access token to be used with the commands in the WrikeExplorer module.

## SYNTAX

```
Set-WrikeAccessToken [-AccessToken] <Object> [-Ephemeral] [-WhatIf] [-Confirm] [<CommonParameters>]
```

## DESCRIPTION
Sets the Wrike API App access token to be used with the commands in the WrikeExplorer module.

To receive a Wrike API App access token, visit https://www.wrike.com/frontend/apps/index.html
and create an API App. Then request a "Permanent access token" for the new app. Copy this
long JSON Web Token (JWT) string and use it with this function to ensure all other commands
in this module use the access token for authentication with the Wrike API.

## EXAMPLES

### Example 1
```powershell
PS C:\> Set-WrikeAccessToken -AccessToken (Read-Host -Prompt 'Access Token' -AsSecureString)
```

Prompts you to enter the 'Access Token', and then persists it to disk as a securestring. You
should only need to do this once per local computer user as it is stored in your AppData folder.

### Example 2
```powershell
PS C:\> Set-WrikeAccessToken -AccessToken (Read-Host -Prompt 'Access Token' -AsSecureString) -Ephemeral(Read-Host -Prompt 'Access Token' -AsSecureString)
```

Prompts you to enter the 'Access Token', and then uses it for the remainder of the PowerShell
session. It will not be persisted to disk.

## PARAMETERS

### -AccessToken
Specifies the API App access token to use for authentication

```yaml
Type: Object
Parameter Sets: (All)
Aliases:

Required: True
Position: 0
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -Confirm
Prompts you for confirmation before running the cmdlet.

```yaml
Type: SwitchParameter
Parameter Sets: (All)
Aliases: cf

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -Ephemeral
Specifies that the token should not be persisted to disk

```yaml
Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
```

### -WhatIf
Shows what would happen if the cmdlet runs. The cmdlet is not run.

```yaml
Type: SwitchParameter
Parameter Sets: (All)
Aliases: wi

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).

## INPUTS

### None

## OUTPUTS

### System.Object
## NOTES

## RELATED LINKS

repository: joshooaj/WrikeExplorer

repo_name: joshooaj/WrikeExplorer


text:
# NOTICE: THIS PROJECT IS NO LONGER UNDER DEVELOPMENT
Unfortunately, rocketleaguereplays.com shut down mid-development of this project so it cannot be completed. Leaving the source up here in case anyone is curious.

## rl-data-scraper
Python application that scrapes together a database of rocket league matches.

## Data Sources
This script pulls data from the following places:
* [Rocket League Stats](https://rocketleaguestats.com)
* [Rocket League Replays](https://rocketleaguereplays.com) - **No longer available**

![Rocket League Stats Banner](images/rls_partner_horizontal_small.png)

repository: zak-grumbles/rl-data-scraper

repo_name: zak-grumbles/rl-data-scraper


text:
# Markdown New Tab

[link-cws]: https://chrome.google.com/webstore/detail/demppioeofcekpjcnlkmdjbabifjnokj "Version published on Chrome Web Store"
[link-amo]: https://addons.mozilla.org/en-US/firefox/addon/markdown-new-tab/ "Version published on Mozilla Add-ons"

[![Licence](https://img.shields.io/badge/License-MIT-green.svg?style=flat-square)](LICENSE)
[![Build Status](https://img.shields.io/travis/plibither8/markdown-new-tab/master.svg?style=flat-square)](https://travis-ci.org/plibither8/markdown-new-tab)
[![Chrome Web Store](https://img.shields.io/chrome-web-store/users/demppioeofcekpjcnlkmdjbabifjnokj.svg?label=chrome%20users&style=flat-square)][link-cws]
[![Mozilla Add-on](https://img.shields.io/amo/users/markdown-new-tab.svg?label=firefox%20users&style=flat-square)][link-amo]
![Made with love in India](https://madewithlove.now.sh/in?heart=true&colorB=%23ff701f&template=flat-square)

> Take down notes 🗒, save reminders ⏰, paste links 🔗, create checklists ☑ or tables, all using markdown... directly in your 'New Tab' page! Markdown New Tab is a replacement for the default 'New Tab' page on Google Chrome 🆕 🎉.

  Preview it!

![Demo GIF](/assets/demo.gif)

## Install

- [**Chrome** extension][link-cws] [][link-cws]
- [**Firefox** add-on][link-amo] [][link-amo]
- **Opera** extension: Use [this Opera extension](https://addons.opera.com/en/extensions/details/download-chrome-extension-9/) to install the Chrome version.

## About

Markdown New Tab is a replacement for the default Google Chrome new tab page. Refer to [this brilliant guide](https://github.github.com/gfm/) to get familiar with the markdown syntax.

### Features

* Take down _**`styled`**_ notes 🗒, create checklists ☑, links 🔗, tables and reminders ⏰, add images 🖼 (and all other frills associated with ｍａｒｋｄｏｗｎ [M↓])

* ⏰ 💾 Automatically saves (and deletes) revision history for you to look back and reminisce

* ⌨ Use [keyboard shortcuts](#Usage) to toggle between edit and save the notes

* 💪 💪 ACTIVATE POWERMODE! (enable in settings)

* Sync notes, revision history and settings between all Chrome browsers you are logged into

### Upcoming

* Change background and foreground colours

* Split editing to show live preview

## Usage

* You can edit and save the notes either by pressing the buttons on the top right, or by using the shortcuts Ctrl + X (or Cmd + X on Mac) to edit the text and Ctrl + S (or Cmd + S on Mac) to save the text.

* To save and edit the notes by using Ctrl + ↵ (or Cmd + ↵ on Mac), go to settings and enable it.

* Revision history can be accessed by clicking "Last Edited: ____" on the bottom right corner.

## Development

1. Clone this repo:

```sh
$ git clone https://github.com/plibither8/markdown-new-tab
```

2. Open Chrome and go to `chrome://extensions`
3. Enable 'Developer Mode' by checking the tickbox (on the top of the page).
4. Click the 'Load Unpacked Extension' button and select the `dist/` folder of the cloned repository.
5. The extension should be loaded now and the 'New Tab' page should be Markdown New Tab. 🎉

> The code makes use of `localStorage()` to save the raw text, revision history, last edited time and date, settings and last cursor position.

### Testing in Firefox

In Firefox the extension can be installed temporarily until you restart the browser. To do so:

1. enter `about:debugging` in the URL bar
2. click "Load Temporary Add-on"
3. open the extension's directory in your local repo and select [`dist/manifest.json`](dist/manifest.json)

More info [here](https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Temporary_Installation_in_Firefox).

## Donate

Markdown New Tab was made by me during my study-breaks and free time. If you like and have enjoyed it, please consider donating a small amount (any amount will be really appreciated!) to support and sustain its development. Thank you!

[![Patreon](https://img.shields.io/badge/Become%20a-patreon-orange.svg?style=for-the-badge&logo=patreon)](https://www.patreon.com/plibither8)

[![Donate](https://img.shields.io/badge/donate-PayPal-blue.svg?style=for-the-badge&logo=paypal)](https://paypal.me/plibither8)

[![Buy Me A Coffee](https://www.buymeacoffee.com/assets/img/custom_images/purple_img.png)](https://www.buymeacoffee.com/plibither8)

## License

Copyright (c) Mihir Chaturvedi. All rights reserved.

Licensed under the [MIT](LICENSE) License.

repository: LanjianNUll/markdown-new-tab

repo_name: LanjianNUll/markdown-new-tab


text:
# nuget-runner

[![npm version](http://img.shields.io/npm/v/nuget-runner.svg?style=flat)](https://npmjs.org/package/nuget-runner) [![build status](http://img.shields.io/travis/mikeobrien/node-nuget-runner.svg?style=flat)](https://travis-ci.org/mikeobrien/node-nuget-runner) [![Dependency Status](http://img.shields.io/david/mikeobrien/node-nuget-runner.svg?style=flat)](https://david-dm.org/mikeobrien/node-nuget-runner) [![npm downloads](http://img.shields.io/npm/dm/nuget-runner.svg?style=flat)](https://npmjs.org/package/nuget-runner)

Node wrapper for [Nuget](http://docs.nuget.org/docs/start-here/installing-nuget).

## Install

```bash
$ npm install nuget-runner --save
```

## Usage

First, create a nuget runner, passing in the desired default options. The ones below apply to all or most commands, however any command option can be specified. For example you can specify `noCache: true` to ensure all commands that support that option do not use the cache.

```js
var Nuget = require('nuget-runner');

// Create the nuget instance passing in default options.
var nuget = Nuget({

    // Optional path to the nuget executable. If omitted
    // nuget.exe must be in the PATH.
    nugetPath: 'path/to/nuget.exe',

    // The API key.
    apiKey: '78a53314-c2c0-45c6-9d92-795b2096ae6c',

    // Display this amount of details in the output.
    verbosity: 'normal|quiet|detailed',

    // The NuGet configuation file. If not specified, file
    // %AppData%\NuGet\NuGet.config is used as configuration file.
    configFile: 'path/to/nuget.config'

});
```
These defaults can be selectively overridden in the individual command options.

 ```js
var nuget = Nuget({ verbosity: 'quiet' });

nuget.push(..., { verbosity: 'detailed' })
```

All commands return a [promise](https://github.com/kriskowal/q). Success returns `stdout`:

```js
nuget.push(...)
    .done(function(stdout) {
        console.log(stdout);
    });
```

Failure returns the error:

```js
nuget.push(...)
    .fail(function(error) {
        console.log(error.message);
    });
```

The following are the supported commands and options.

## Add
*(nuget.exe v3.3 and above)* Adds the provided package to your package source in a hierarchical layout in order to provide significant performance benefits. See [here](https://docs.nuget.org/consume/command-line-reference#add-command) for more details.

```js
nuget.add({

    // Specifies the path to the package to be added and the package source,
    // which is a folder or UNC share, to which the nupkg will be added. Http
    // sources are not supported.
    nupkg: 'path/to/file.nupkg',

    // Specifies the folderBasedPackageSource to which the nupkg will be
    // added. Http sources are not supported.
    source: '\\\\server\\path',

    // If provided, all the files in the package are added to your package
    // source.
    expand: true,

    verbosity: 'normal|quiet|detailed'

});
```

## Config

Sets NuGet config values. See [here](http://docs.nuget.org/docs/reference/command-line-reference#Config_Command) for more details.

```js
nuget.config({

        name1: 'value1',
        name2: 'value2'

    },

    // Options
    {

        verbosity: 'normal|quiet|detailed',
        configFile: 'path/to/nuget.config'

    });
```

## Delete

Deletes a package from the server. See [here](http://docs.nuget.org/docs/reference/command-line-reference#Delete_Command) for more details.

```js
nuget.delete(

    // Id of the package.
    'PackageId',

    // Version of the package.
    '1.0',

    // Options
    {

        // Specifies the server URL.
        source: 'http://mynugetserver.org',

        apiKey: '78a53314-c2c0-45c6-9d92-795b2096ae6c',
        verbosity: 'normal|quiet|detailed',
        configFile: 'path/to/nuget.config'

    });
```

## Install

Installs a package using the specified sources. If no sources are specified, all sources defined in `%AppData%\NuGet\NuGet.config` are used. If NuGet.config specifies no sources, uses the default NuGet feed. See [here](http://docs.nuget.org/docs/reference/command-line-reference#Install_Command) for more details.

```js
nuget.install(

    // Specify the package id. Or if a path to a packages.config file is
    // used instead of an id, all the packages it contains are installed.
    'PackageId|path/to/packages.config',

    // Options
    {

        // A list of packages sources to use for the install.
        // Can either be a path, url or config value.
        source: ['http://mynugetserver.org', 'path/to/source', 'ConfigValue'],

        // Specifies the directory in which packages will be installed.
        // If none specified, uses the current directory.
        outputDirectory: 'path/to/output/directory',

        // The version of the package to install.
        version: '<IP_ADDRESS>',

        // If set, the destination directory will contain only
        // the package name, not the version number.
        excludeVersion: true,

        // Allows prerelease packages to be installed. This flag is not required
        // when restoring packages by installing from packages.config.
        preRelease: true,

        // Disable looking up packages from local machine cache.
        noCache: true,

        // Checks if package restore consent is granted before installing a package.
        requireConsent: true,

        // Solution root for package restore.
        solutionDirectory: 'path/to/solution/directory',

        verbosity: 'normal|quiet|detailed',
        configFile: 'path/to/nuget.config'

    });
```

## Mirror

Mirrors a package and its dependencies from the specified source repositories to the target repository. See [here](http://docs.nuget.org/docs/reference/command-line-reference#Mirror_Command) for more details.

```js
nuget.mirror(

    // Specify the id of the package to mirror. If a path to a
    // packages.config file is used instead of a package id, all
    // the packages it contains are mirrored to the given version
    // (if specified) or latest otherwise.
    'PackageId|path/to/packages.config',

    // The url of the list target repository.
    'http://list.nugetserver.org',

    // The url of the publish target repository.
    'http://target.mynugetserver.org',

    // Options
    {

        // A list of packages sources to use for the finding packages to mirror.
        // If no sources are specified, the ones defined in the default NuGet config
        // file are used. If the default NuGet config file specifies no sources,
        // uses the default NuGet feed. Can either be a path, url or config value.
        source: ['http://mynugetserver.org', 'path/to/source', 'ConfigValue'],

        // The version of the package to install. If not specified, latest
        // version is mirrored.
        version: '<IP_ADDRESS>',

        // When set, "latest" when specifying no version for a package id (as command
        // argument or in packages.config) includes pre-release packages.
        preRelease: true,

        // Specifies the timeout for pushing to a server in seconds. Defaults to
        // 300 seconds (5 minutes).
        timeout: 600,

        // By default a local cache is used as a fallback when a package or a
        // package dependency is not found in the specified source(s). If you
        // want to ensure only packages from the specified sources are used,
        // set the NoCache option. If you want instead to maximize chances
        // of finding packages, do not set this option.
        noCache: true,

        // Log what would be done without actually doing it. Assumes success
        // for push operations.
        noOp: true,

        apiKey: '78a53314-c2c0-45c6-9d92-795b2096ae6c'

    });
```

## Pack

Creates a NuGet package based on the specified nuspec or project file. See [here](http://docs.nuget.org/docs/reference/command-line-reference#Pack_Command) for more details.

```js
nuget.pack({

    // Specify the location of the nuspec or project file to create a package.
    spec: 'path/to/nuspec|path/to/project/file',

    // Specifies the directory for the created NuGet package file.
    // If not specified, uses the current directory.
    outputDirectory: 'path/of/output',

    // The base path of the files defined in the nuspec file.
    basePath: 'source/path',

    // Shows verbose output for package building.
    verbose: true,

    // Overrides the version number from the nuspec file.
    version: '<IP_ADDRESS>',

    // Specifies one or more wildcard patterns to exclude when creating a package.
    exclude: [ '**\\*.log', '**\\.DS_Store' ],

    // Determines if a package containing sources and symbols should be created.
    // When specified with a nuspec, creates a regular NuGet package file and
    // the corresponding symbols package.
    symbols: true,

    // Determines if the output files of the project should be in the tool folder.
    tool: true,

    // Determines if the project should be built before building the package.
    build: true,

    // Prevent default exclusion of NuGet package files and files and folders
    // starting with a dot e.g. .svn.
    noDefaultExcludes: true,

    // Specify if the command should not run package analysis after building
    // the package.
    noPackageAnalysis: true,

    // Include referenced projects either as dependencies or as part of the package.
    // If a referenced project has a corresponding nuspec file that has the same name
    // as the project, then that referenced project is added as a dependency. Otherwise,
    // the referenced project is added as part of the package.
    includeReferencedProjects: true,

    // Prevent inclusion of empty directories when building the package.
    excludeEmptyDirectories: true,

    // Provides the ability to specify properties when creating a package.
    properties: {

        name1: 'value1',
        name2: 'value2'

    },

    // Set the minClientVersion attribute for the created package. This value will
    // override the value of the existing minClientVersion attribute (if any) in
    // the .nuspec file.
    minClientVersion: '2.5',

    verbosity: 'normal|quiet|detailed'

});
```

## Push

Pushes a package to the server and publishes it. NuGet's default configuration is obtained by loading `%AppData%\NuGet\NuGet.config`, then loading any nuget.config or `.nuget\nuget.config` starting from root of drive and ending in current directory. See [here](http://docs.nuget.org/docs/reference/command-line-reference#Push_Command) for more details.

```js
nuget.push(

    // Specify the path to the package.
    'path/to/package/file',

    // Options
    {

        // Specifies the server URL. If not specified, nuget.org is used unless
        // `DefaultPushSource` config value is set in the NuGet config file. Starting
        // with NuGet 2.5, if NuGet.exe identifies a UNC/folder source, it will
        // perform the file copy to the source.
        source: '\\\\mycompany\\repo',

        // Specifies the timeout for pushing to a server in seconds. Defaults to
        // 300 seconds (5 minutes).
        timeout: 600,

        apiKey: '78a53314-c2c0-45c6-9d92-795b2096ae6c',
        verbosity: 'normal|quiet|detailed',
        configFile: 'path/to/nuget.config'

    });
```

## Restore

Downloads and unzips (restores) any packages missing from the packages folder. See [here](http://docs.nuget.org/docs/reference/command-line-reference#Restore_command) for more details.

```js
nuget.restore({

    // Specify the solution path or path to a packages.config file.
    packages: 'path/to/solution.sln|path/to/packages.config',

    // A list of packages sources to use for the install.
    // Can either be a path, url or config value.
    source: ['http://mynugetserver.org', 'path/to/source', 'ConfigValue'],

    // Disable using the machine cache as the first package source.
    noCache: true,

    // Checks if package restore consent is granted before restoring a package.
    requireConsent: true,

    // Specifies the packages directory.
    packagesDirectory: 'path/to/solution/directory',

    // Specifies the solution directory. Not valid when restoring packages
    // for a solution.
    solutionDirectory: 'path/to/solution/directory',

    // Disable parallel nuget package restores.
    disableParallelProcessing: true,

    verbosity: 'normal|quiet|detailed',
    configFile: 'path/to/nuget.config'

});
```

## Set API Key

Saves an API key for a given server URL. When no URL is provided API key is saved for the NuGet gallery. See [here](http://docs.nuget.org/docs/reference/command-line-reference#SetApiKey_Command) for more details.

```js
nuget.setApiKey(

    // Specify the API key to save.
    '78a53314-c2c0-45c6-9d92-795b2096ae6c',

    // Options
    {

        // Server URL where the API key is valid.
        source: 'http://mynugetserver.org',

        verbosity: 'normal|quiet|detailed',
        configFile: 'path/to/nuget.config'

    });
```

## Sources

Provides the ability to manage list of sources located in `%AppData%\NuGet\NuGet.config`. See [here](http://docs.nuget.org/docs/reference/command-line-reference#Sources_Command) for more details.

```js
nuget.sources(

    // Name of the source.
    'Source name',

    // Action to perform on the source.
    'Add|Remove|Enable|Disable|Update',

    // Options
    {

        // Path to the package(s) source.
        source: 'path/to/sources',

        // UserName to be used when connecting to an authenticated source.
        username: 'username',

        // Password to be used when connecting to an authenticated source.
        password: 'p@$$w0rd',

        // Do not encrypt the password and store it in clear text.
        storePasswordInClearText: true,

        verbosity: 'normal|quiet|detailed',
        configFile: 'path/to/nuget.config'

    });
```

## Spec

Generates a nuspec for a new package. If this command is run in the same folder as a project file (`.csproj`, `.vbproj`, `.fsproj`), it will create a tokenized nuspec file. See [here](http://docs.nuget.org/docs/reference/command-line-reference#Spec_Command) for more details.

```js
nuget.spec({

    // Id of the package.
    packageId: 'MyPackage',

    // Assembly to use for metadata.
    assemblyPath: 'MyAssembly.dll',

    // Overwrite nuspec file if it exists.
    force: true,

    verbosity: 'normal|quiet|detailed',
    configFile: 'path/to/nuget.config'

});
```

## Update

Update packages to latest available versions. This command also updates NuGet.exe itself. Please note that the presence of Packages folder is required to run the Update command. A recommended way is to run NuGet.exe Restore command first before running the Update command. See [here](http://docs.nuget.org/docs/reference/command-line-reference#Update_Command) for more details.

```js
nuget.update({

    // Specify the solution path or path to a packages.config file.
    packages: 'path/to/solution.sln|path/to/packages.config',

    // A list of package sources to search for updates.
    source: ['http://mynugetserver.org', 'path/to/source', 'ConfigValue'],

    // Package ids to update.
    packageIds: [ 'PackageA', 'PackageB' ],

    // Path to the local packages folder (location where packages are installed).
    repositoryPath: 'path/to/repository',

    // Looks for updates with the highest version available within the same
    // major and minor version as the installed package.
    safe: true,

    // Update the running NuGet.exe to the newest version available from the server.
    self: true,

    // Show verbose output while updating.
    verbose: true,

    // Allows updating to prerelease versions. This flag is not required when
    // updating prerelease packages that are already installed.
    preRelease: true,

    // The action to take, when asked to overwrite or ignore existing files
    // referenced by the project.
    fileConflictAction: 'Overwrite|Ignore|None',

    verbosity: 'normal|quiet|detailed',
    configFile: 'path/to/nuget.config'

});
```

## License
MIT License

repository: mikeobrien/node-nuget-runner

repo_name: mikeobrien/node-nuget-runner


text:
# This Course

## Trends
 - Cloud managed NoSQL (theirs or vendor)
 - Consolidation of NoSQL providers
 - Big data is here (genomics, others...)
 - Multiple NoSQL features in the same NoSQL database (i.e. DynamoDB is both K/V and Document...)
 - Cloud NoSQL 'ORMs', i.e. AWS Amplify (over DynamoDB...), GCP Firebase
 - Event (streams) vs Batches (or Incremental)
 - Serverless

 ## How to Store
 - Files (regular or HDFS)
    -> Cloud Object Stores (S3...)
 - Relational Tables
 - Customized File systems
    - With structures on top (like tables)

 ## How to Query
 - Files -> write code
    - is becomming use SQL **NEW**
 - Tables -> write SQL and/or use ORM
    - JOINS & INDEXES
 - Customized File systems
    - NoSQL or Hadoop/Spark
    - was write code
    - adding use SQL-like syntax
        - few or no JOINS / INDEXES

## How to optimize
 - Files -> compress, split
 - Tables -> same and archive
    - add indexes
 - Customized Files systems
    - use file AND table options

## When to Use
 - Files -> massive amounts of data (genomic)
 - Tables -> transactions
    - schema on WRITE
    - CRUD validation
 - Customized -> everything else
    - schema on READ (flexible CRUD)
    - prefer cloud vendor to OSS
        - better integration
            - vendor 'ORM's'

## CAP
 - Consistency (transactions)
    - ACID -> RDBMS only
    - Tunable -> some NoSQL
    - Eventual -> NoSQL
    - None -> Files
 - Availability (duplicates for uptime)
 - Partitioning (scalability)

Figure below from Wikipedia NoSQL entry - [link](https://en.wikipedia.org/wiki/NoSQL)

 ![Comparing](https://github.com/lynnlangit/learning-nosql/blob/master/0_Comparisons/noSQL-performance.png)

## Open Source or Not
- True cost of pure open source
- True cost of 'productized' open source
- Reasons to use vendor-integrated NoSQL

## Use Cases
- Mobile on AWS
- Mobile on GCP
- IoT on AWS
- Genomics on AWS
- Genomics on GCP

repository: Database-Forked/learning-nosql

repo_name: Database-Forked/learning-nosql


text:
# Profiles

### Tags

Advanced, Profile

### Usage

```bash
$ goto --profiles
```

### Effect

Lists all profiles and shows which one is the currently active one.

### Notes

Anything with profiles is considered advanced usage, because you normally don't
need to learn that much about it to use `goto`.

repository: CatEars/goto

gha_language: Rust

repo_name: CatEars/goto


text:
# fast-inject

[![Build Status](https://travis-ci.org/benthepoet/fast-inject.svg?branch=master)](https://travis-ci.org/benthepoet/fast-inject)
[![Coverage Status](https://coveralls.io/repos/github/benthepoet/fast-inject/badge.svg?branch=master)](https://coveralls.io/github/benthepoet/fast-inject?branch=master)

A lightweight dependency injection container for Node.js.

## Node.js Support
This library currently supports Node.js >= 8.0.0.

## Why dependency injection in Node.js?
To be honest dependency injection isn't really necessary in Node.js most of the time due to
its module-based design but I created this library because I wanted the following.

* A lightweight container that I can instantiate on every HTTP request
* Lazy-loaded services that only get instantiated if they're used
* The ability to decouple modules for testing without needing `proxyquire`
* Eliminate relative paths to other modules

## Installation
This library is intended for use in Node.js projects and can be installed with `npm`.

```bash
npm install fast-inject --save
```

## Creating a basic container
Containers are merely just an object with properties for constants or services. These constants or services
are provided as singletons. Services are also lazy-loaded and thus only get instantiated if they are accessed.

To setup a container you just create an `Injector` instance and register your constants and/or services.

```javascript
const { Injector } = require('fast-inject');

// Service class
class B {
  // Expects an instance of `A` to be injected.
  constructor(a) {
    this.a = a;
  }
}

// Service class
class C {
  // Expects an instance of `B` to be injected.
  constructor(b) {
    this.b = b;
  }
}

const { container } = new Injector()
  // Constants can provide any static value (string, number, Object, Function).
  .constant('A', 1234)
  // Services must be defined as ES6 classes and can have dependencies.
  // Any dependencies are injected into the constructor when the service is instantiated.
  .service(B, ['A'])
  // Use the `name` property of the class when one service is dependent on another.
  .service(C, [B.name]);

// Access a constant
console.log(container.A);
// 1234

// Access a service
console.log(container.B.a);
// 1234

// Access a nested service
console.log(container.C.b.a);
// 1234
```

## Creating a container pipeline
In addition to using the approach above, `fast-inject` also allows you to build a container
pipeline by means of functional composition. `Ramda` is used in the example below but you can
use any library that supports function composition like `Lodash` or `Underscore.js`.

```javascript
const R = require('ramda');
const { constant, service } = require('fast-inject');

// Service class
class B {
  // Expects an instance of `A` to be injected.
  constructor(a) {
    this.a = a;
  }
}

// Service class
class C {
  // Expects an instance of `B` to be injected.
  constructor(b) {
    this.b = b;
  }
}

// Compose the pipeline
const pipeline = R.pipe(
  constant('A', 1234),
  service(B, ['A']),
  service(C, [B.name])
);

// Create a container
const container = pipeline(Object.create(null));
```

The functional approach also gives you the advantage of being able to compose multiple pipelines together.

# API

## Classes

Injector

## Functions

constant(name, value, container) ⇒ Object

Define a constant on a container.

service(Class, dependencies, container) ⇒ Object

Define a service on a container.

## Injector
**Kind**: global class
**Properties**

| Name | Type | Description |
| --- | --- | --- |
| container | Object | The container instance. |

* [Injector](#Injector)
    * [new Injector()](#new_Injector_new)
    * [.constant(name, value)](#Injector+constant) ⇒ [Injector](#Injector)
    * [.service(Class, dependencies)](#Injector+service) ⇒ [Injector](#Injector)

### new Injector()
The class for constructing a dependency container.

### injector.constant(name, value) ⇒ [Injector](#Injector)
Define a constant on the injector's container.

**Kind**: instance method of [Injector](#Injector)
**Returns**: [Injector](#Injector) - The Injector instance.

| Param | Type |
| --- | --- |
| name | string |
| value | \* |

### injector.service(Class, dependencies) ⇒ [Injector](#Injector)
Define a service on the injector's container.

**Kind**: instance method of [Injector](#Injector)
**Returns**: [Injector](#Injector) - The Injector instance.

| Param | Type |
| --- | --- |
| Class | function |
| dependencies | Array.<string> |

## constant(name, value, container) ⇒ Object
Define a constant on a container.

**Kind**: global function
**Returns**: Object - The container instance.

| Param | Type |
| --- | --- |
| name | string |
| value | \* |
| container | Object |

## service(Class, dependencies, container) ⇒ Object
Define a service on a container.

**Kind**: global function
**Returns**: Object - The container instance.

| Param | Type |
| --- | --- |
| Class | function |
| dependencies | Array.<string> |
| container | Object |

repository: benthepoet/fast-inject

repo_name: benthepoet/fast-inject


text:
## Citation

The abstract, conference version of the paper & Citations can be found directly @ [https://www.isca-speech.org/archive/interspeech_2018/orife18_interspeech.html](https://www.isca-speech.org/archive/interspeech_2018/orife18_interspeech.html)

BibTeX
```
@inproceedings{orife18_interspeech,
  author={Iroro Orife},
  title={{Attentive Sequence-to-Sequence Learning for Diacritic Restoration of YorùBá Language Text}},
  year=2018,
  booktitle={Proc. Interspeech 2018},
  pages={2848--2852},
  doi={10.21437/Interspeech.2018-42}
}
```

repository: Niger-Volta-LTI/publications

repo_name: Niger-Volta-LTI/publications


text:
French for Future - Design
=================================
![Mockup](https://raw.github.com/lepinsk/akaoka-sans/master/Mockup.png)

### Font
* Avenir Book, small text is 18; clock numbers are 48

### Layout details (the pebble has a 144 x 168 pixel display)

* the date and time are centered text
* the top of the weekday is 22px from the top of the screen
* top of the time is 46px from the top
* top of the date is 95px from the top
* the dotted line is 126px from the top, 41px from the bottom
* the tops of the weather lines are 25px from the bottom of the screen (143px from the top)
* and the temperature is left-aligned, 10px from the left edge
* the conditions are right-aligned, 10px from the right edge

In practice, we've had to nudge our frames around quite a bit. Check ```layouts.h``` for the specific frame definitions.

### Weather strings

* tornado - 0
* sunny - 32
* clear - 31, 33, 34
* p. cloudy - 29, 30, 44
* cloudy - 26, 27, 28
* cold - 25
* drizzle - 9
* foggy - 20
* hot - 36
* sleet - 18
* snowy - 13, 16, 41, 42, 43, 7, 14, 15, 46
* rainy - 11, 12, 40, 5, 6, 8, 10, 35
* stormy - 1, 3, 4, 37, 38, 39, 45, 47
* windy - 23, 24
* hail - 17
* dusty - 19
* hazy - 21
* smoky - 22

Yahoo's weather condition IDs are as follows:
```
0 tornado
1 tropical storm
2 hurricane
3 severe thunderstorms
4 thunderstorms
5 mixed rain and snow
6 mixed rain and sleet
7 mixed snow and sleet
8 freezing drizzle
9 drizzle
10  freezing rain
11  showers
12  showers
13  snow flurries
14  light snow showers
15  blowing snow
16  snow
17  hail
18  sleet
19  dust
20  foggy
21  haze
22  smoky
23  blustery
24  windy
25  cold
26  cloudy
27  mostly cloudy (night)
28  mostly cloudy (day)
29  partly cloudy (night)
30  partly cloudy (day)
31  clear (night)
32  sunny
33  fair (night)
34  fair (day)
35  mixed rain and hail
36  hot
37  isolated thunderstorms
38  scattered thunderstorms
39  scattered thunderstorms
40  scattered showers
41  heavy snow
42  scattered snow showers
43  heavy snow
44  partly cloudy
45  thundershowers
46  snow showers
47  isolated thundershowers
```

repository: lepinsk/french-for-future

gha_language: C

repo_name: lepinsk/french-for-future


text:
# ✨ You ✨

For listening.

# Giving Thanks

🏆 The wonderful individual patrons and sponsors! 🏆

<img src="resources/Sponsors.png" alt="GitHub Sponsors"/>

### Thanks: Media

- Images:
  - [David Cassolato](https://instagram.com/david.cassolato)
  - [Matheus Natan](https://twitter.com/theunatan)
  - [James Wheeler](https://twitter.com/souvenirpixels)
  - [Miguel Á. Padriñán](https://twitter.com/padrinan)
- Video & Slide Images: [LaBeouf, Rönkkö & Turner - #INTRODUCTIONS](http://labeoufronkkoturner.com/projects/introductions/)

### We Need Your Help

Support a vision for fluid text handling in C++ and C:

- See the plan [here - https://thephd.github.io/portfolio/text](https://thephd.github.io/portfolio/text)
- Support the plan [here - https://thephd.github.io/support/](https://thephd.github.io/support/)

Any questions?

path: /presentations/unicode/sg16/2020.02.05/source/05 - 01 Conclusion.md

filename: 05 - 01 Conclusion.md


text:
---
layout: default
---

# 1997-05-14 - Re: Would the anonymous person(s) please...

## Header Data

From: The Spectre<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Message Hash:<PHONE_NUMBER>bf0540a6074672b6a2158a695ebd37eba9e74cf519fff2b8a66372

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1997-05-14 15:40:47 UTC

Raw Date: Wed, 14 May 1997 23:40:47 +0800

## Raw message

```
{% raw  %}From: The Spectre<EMAIL_ADDRESS>Date: Wed, 14 May 1997 23:40:47 +0800
To<EMAIL_ADDRESS>Subject: Re: Would the anonymous person(s) please...
  Thanks...
>
What would be the point.. the only person you can be *sure* doesn't care
about these messages is the mark.

- -----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.2

mQENAzM2vJwAAAEH/1uuDgh1udD+DbU9ies8Lst3j7bmlM+m+aN0gVwerfx+uA14
AG6RDZwwCLwCZYxh0/AizW1b25nHs5XDFW7QIVo1/agtbyz3rt7plcp3wi+rXPxo
zFPgILegG2k81mHYIYVJ1g9bEExVGsNc7GMthkaOjPL2VYirQPRtAa4ZZc6JuCLH
I85xIcwuLppYajUU4WMMf4yz+5w1WtTlHdL9+ec6BHoF+fOhsF/8DMd5nveFl0aM
G52t+z6okMw9vFjLbEtj0BbDRsMjRJNM5uFQWzU+nPEaUzVP+MySe/yrjR2P3dZa
UKjpG3Er7U4DV7rb8mE20Wet10jJoALjG8yMZrUABRG0HVRoZSBTcGVjdHJlIDxz
cGVjdHJlQG5hYy5uZXQ+iQEVAwUQM0qy66AC4xvMjGa1AQGNLAf/QY5SyC/jybOQ
asYfNqhPFip0gZwUutOOgPdyrEsXoxFOWJ9OG95dzvNJ3of22zh4RLusUt5NT7lB
DFUKiP4aQsNf5XmW+qk/R1nmqyO/XHAAAdIos2SGsYew2d3JatIlFZIQ+vMkEOC0
+oPotz7effhkDKeYl+Qdla9eZ1C47Be2NrA1sH26jKYhCob6VnAK+zAin8ZPEnb0
XEKQTMVdE2ehv2Q8PxygZhDI0L6sM6EgguvDWjJuGN4bIhxh22dAyNRJ7CVQsqwV
rj4TtkAuqUb0nyQvD2xUeJcB/O+1LCH7oFBE4EG1qEIl7asVjEURrfej7OwxRrA0
J0Lc5tZToA==
=tS4W
- -----END PGP PUBLIC KEY BLOCK-----

-----BEGIN PGP SIGNATURE-----
Version: 2.6.2

iQEVAwUBM3nWTaAC4xvMjGa1AQHPLAf+PrpiMXm4xG3Ex2rTiowGqXL5ODizBaQB
IL+5Q6wTLjlpWJf5OFNX2YvLhsqWS868vLRq9xDsTTsYskhyj9bFfCR7izXq0TJu
ROFRKqo0F9iXYJt0pERBwHlfvdZ8wRfJMyql+FQSV5yiHyguWWuIvkalx695M992
bdGMq9WhKmlfFG2MvP8Wye478XlllYZzzQJ8lxnMlWGbekuQs+Ciduvqe9r0dKj2
UcrLdFOTwECBVv8QsTwY8Kc+RYNwuXSxTwRxrrs285b3TX8s+hhUPeoFyjbpPdG4
D9t1AgD1+CJUee4HIZQAy2vmUrUJZvNAxTlQoVoXEHjeGOd1AJPB/Q==
=zYWb
-----END PGP SIGNATURE-----

{% endraw %}
```

## Thread

+ Return to [May 1997](/archive/1997/05)

+ Return to "[The Spectre <spectre@nac.net>](/authors/the_spectre_spectre_at_nac_net_)"

+ 1997-05-14 (Wed, 14 May 1997 23:40:47 +0800) - Re: Would the anonymous person(s) please... - _The Spectre<EMAIL_ADDRESS>


text:
### Exercise 1 - Reverse a String

Implement the `reverse` method in `main.rb` **WITHOUT** using the `String#reverse` method.

To run the tests, run `ruby tests.rb`.

If all tests passed, exercise is complete!


text:
---
name: Bug report
about: Create a report to help us improve the app

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behaviour. e.g.:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
<!-- A clear and concise description of what you expected to happen.-->

**Screenshots/Recordings**
<!-- Add screenshots or recordings to help explain your problem. -->

**micro:bit version**
<!-- You can find this information in the lower right hand corner of the back of micro:bit (the side that says BBC micro:bit). -->
-   V1.3, V1.5, V2.0, not hardware related [Edit as applicable]

**Device**
 - Make: [e.g. Motorola]
 - Model: [e.g. G8]
 - OS: [e.g. Android 10]
 - App Version [e.g. 2.8.8]  <!-- This can be found in the App info. -->

**Additional context**
Add any other context about the problem here.

repository: martinwork/microbit-android

repo_name: martinwork/microbit-android


text:
# websocket-sharp #

**websocket-sharp** is a C# implementation of WebSocket protocol client & server.

## Usage ##

### WebSocket Client ###

#### Step 1 ####

Required namespaces.

```cs
using WebSocketSharp;
using WebSocketSharp.Frame;
```

`WebSocket` class exists in `WebSocketSharp` namespace, WebSocket data frame resources (e.g. `WsFrame` class) exist in `WebSocketSharp.Frame` namespace.

#### Step 2 ####

Creating a instance of `WebSocket` class.

```cs
using (WebSocket ws = new WebSocket("ws://example.com"))
{
  ...
}
```

`WebSocket` class inherits `IDisposable` interface, so you can use `using` statement.

#### Step 3 ####

Setting `WebSocket` event handlers.

##### WebSocket.OnOpen event #####

`WebSocket.OnOpen` event is emitted immediately after WebSocket connection has been established.

```cs
ws.OnOpen += (sender, e) =>
{
  ...
};
```

`e` has come across as `EventArgs.Empty`, so there is no operation on `e`.

##### WebSocket.OnMessage event #####

`WebSocket.OnMessage` event is emitted each time WebSocket data frame is received.

```cs
ws.OnMessage += (sender, e) =>
{
  ...
};
```

**Frame type** of received WebSocket data frame is stored in `e.Type` (`WebSocketSharp.MessageEventArgs.Type`, its type is `WebSocketSharp.Frame.Opcode`), so you check it out and you determine which item you should operate.

```cs
switch (e.Type)
{
  case Opcode.TEXT:
    ...
    break;
  case Opcode.BINARY:
    ...
    break;
  default:
    break;
}
```

If `e.Type` is `Opcode.TEXT`, you operate `e.Data` (`WebSocketSharp.MessageEventArgs.Data`, its type is `string`).

If `e.Type` is `Opcode.BINARY`, you operate `e.RawData` (`WebSocketSharp.MessageEventArgs.RawData`, its type is `byte[]`).

##### WebSocket.OnError event #####

`WebSocket.OnError` event is emitted when some error is occurred.

```cs
ws.OnError += (sender, e) =>
{
  ...
};
```
Error message is stored in `e.Message` (`WebSocketSharp.ErrorEventArgs.Message`, its type is `string`), so you operate it.

##### WebSocket.OnClose event #####

`WebSocket.OnClose` event is emitted when WebSocket connection is closed.

```cs
ws.OnClose += (sender, e) =>
{
  ...
};
```

Close status code is stored in `e.Code` (`WebSocketSharp.CloseEventArgs.Code`, its type is `WebSocketSharp.Frame.CloseStatusCode`) and reason of close is stored in `e.Reason` (`WebSocketSharp.CloseEventArgs.Reason`, its type is `string`), so you operate them.

#### Step 4 ####

Connecting to server using WebSocket.

```cs
ws.Connect();
```

#### Step 5 ####

Sending data.

```cs
ws.Send(data);
```

`WebSocket.Send` method is overloaded.

`data` types are `string`, `byte[]` and `FileInfo` class.

#### Step 6 ####

Closing WebSocket connection.

```cs
ws.Close(code, reason);
```

If you want to close WebSocket connection explicitly, you can use `Close` method.

Type of `code` is `WebSocketSharp.Frame.CloseStatusCode`, type of `reason` is `string`.

`WebSocket.Close` method is overloaded (In addition `Close()` and `Close(code)` exist).

### WebSocket Server ###

#### Step 1 ####

Required namespace.

```cs
using WebSocketSharp.Server;
```

`WebSocketServer<T>` class and `WebSocketService` class exist in `WebSocketSharp.Server` namespace.

#### Step 2 ####

Creating a class that inherits `WebSocketService` class.

For example, if you want to provide the echo service,

```cs
using System;
using WebSocketSharp;
using WebSocketSharp.Server;

public class Echo : WebSocketService
{
  protected override void onMessage(object sender, MessageEventArgs e)
  {
    Send(e.Data);
  }
}
```

For example, if you want to provide the chat service,

```cs
using System;
using WebSocketSharp;
using WebSocketSharp.Server;

public class Chat : WebSocketService
{
  protected override void onMessage(object sender, MessageEventArgs e)
  {
    Publish(e.Data);
  }
}
```

If you override `onMessage` method, it is bound to server side `WebSocket.OnMessage` event.

In addition, if you override `onOpen`, `onError` and `onClose` methods, each of them is bound to `WebSocket.OnOpen`, `WebSocket.OnError` and `WebSocket.OnClose` events.

#### Step 3 ####

Creating a instance of `WebSocketServer<T>` class.

```cs
var wssv = new WebSocketServer<Echo>("ws://example.com:4649");
```

Type of `T` inherits `WebSocketService` class, so you can use a class that was created in **Step 2**.

If you set WebSocket url without port number, `WebSocketServer<T>` set **80** or **443** to port number automatically.
So it is necessary to run with root permission.

    $ sudo mono example2.exe

#### Step 4 ####

Setting WebSocketServer event handler.

##### WebSocketServer<T>.OnError event #####

`WebSocketServer<T>.OnError` event is emitted when some error is occurred.

```cs
wssv.OnError += (sender, e) =>
{
  ...
};
```

Error message is stored in `e.Message` (`WebSocketSharp.ErrorEventArgs.Message`, its type is `string`), so you operate it.

#### Step 5 ####

Starting server.

```cs
wssv.Start();
```

#### Step 6 ####

Stopping server.

```cs
wssv.Stop();
```

## Examples ##

Examples of using **websocket-sharp**.

### Example ###

[Example] connects to the [Echo server] using the WebSocket.

### Example1 ###

[Example1] connects to the [Audio Data delivery server] using the WebSocket ([Example1] is only implemented a chat feature, still unfinished).

[Example1] uses [Json.NET].

### Example2 ###

[Example2] starts WebSocket server.

## Supported WebSocket Protocol ##

**websocket-sharp** supports **[RFC 6455]**.

- @**[branch: hybi-00]** supports older draft-ietf-hybi-thewebsocketprotocol-00 (**[hybi-00]**).
- @**[branch: draft75]** supports even more old draft-hixie-thewebsocketprotocol-75 (**[hixie-75]**).

## Reference ##

- **[The WebSocket Protocol]**
- **[The WebSocket API]**

Thx for translating to japanese.

- **[The WebSocket Protocol 日本語訳]**
- **[The WebSocket API 日本語訳]**

## License ##

Copyright © 2010 - 2012 sta.blockhead

Licensed under the **[MIT License]**.

repository: waveface/websocket-sharp

repo_name: waveface/websocket-sharp


text:
---
title: About
exclude: true
---

### Why a Wiki for Robotics?
As practitioners, we believe that we are pioneering a new field.
Robots are inherently complex and require knowledge across numerous disciplines. This know-how takes time to develop.

Resources that exist are specialized and academic in focus. These frequently lack implementation details or instructions on applying the information provided.  These create a high-barrier of entry into the field.

To accelerate the development of both projects and individual skills, we need an applications-focused knowledgebase. A platform to share our knowledge, best practices, and lessons learned so that others may succeed.

*This* is that knowledge base. Here, you will find guidance on the full spectrum of our field.

### Where should I start?

### How can I contribute?

For simple edits, you can use the [editor on GitHub](https://github.com/RoboticsKnowledgebase/roboticsknowledgebase.github.io/blob/master/README.md) to maintain and preview the content for your website in Markdown files.

Please see the [Contribute page](https://roboticsknowledgebase.com/docs) for more details.


text:
# Changelog
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.1.1] - 2021-08-23
### Changed
- `yamlKeyPathCacheValueCStringCallbacks` callback array should be `extern const` in header, not `const`; led to compilers generating an empty constant variable in each object file that included the [yamlKeyPath.h](include/yamlKeyPath.h) header and symbol collision at link
- `yamlConfigFileError` enumeration started life as a typedef but then became just an enum — but the `yamlConfigFileError` name was left after the `enum` declaration, leading to the generation of a `yamlConfigFileError` variable in each object file that included the [yamlConfigFile.h](include/yamlConfigFile.h) header and symbol collision at link

## [0.1.0] - 2019-01-19
Initial release

repository: jtfrey/yamlConfigFile

repo_name: jtfrey/yamlConfigFile


text:
# HttpClientServiceAspect.RequestReadyAsyncCore method

Called right before the request is sent.

```csharp
protected virtual Task RequestReadyAsyncCore(HttpRequestMessage httpRequest, ServiceDto requestDto,
    CancellationToken cancellationToken)
```

## See Also

* class [ServiceDto](../../Facility.Core/ServiceDto.md)
* class [HttpClientServiceAspect](../HttpClientServiceAspect.md)
* namespace [Facility.Core.Http](../../Facility.Core.md)

<!-- DO NOT EDIT: generated by xmldocmd for Facility.Core.dll -->

repository: FacilityApi/FacilityCSharp

gha_language: C#

repo_name: FacilityApi/FacilityCSharp


text:
# Change Log

## v1.0.1

### Fixed

- Update required versions as described in [Terraform documentaion](https://www.terraform.io/docs/configuration/terraform.html#specifying-required-provider-versions)

## v1.0.0

- Initial release


text:
# Clasterosporium parasiticum (Cooke) Sacc. SPECIES

#### Status
ACCEPTED

#### According to
Index Fungorum

#### Published in
Syll. fung. (Abellini) 4: 392 (1886)

#### Original name
Sporidesmium parasiticum Cooke

### Remarks
null

repository: mdoering/backbone

repo_name: mdoering/backbone


text:
# Snake Game

## General Info

The classic Snake Game is a project developed using JavaScript, CSS, HTML canvas.
## To play the game click:
https://anadoh.github.io/snake_game/

## Technologies
* HTML
* CSS
* JavaScript

## Screenshots
![Game](./doc/Snake.png)
![Game over](./doc/Snake_game_over.png)

## Setup
How to run this project.
1. Clone this repo
2. Just open index.html

## Status
Project is finished.

## License
MIT


text:
# Employee Directory
  ![badge](https://img.shields.io/badge/license-MIT-brightgreen)

  ## Description :
  A react application that lets the user view his/her entire employee directory and have quick access to their information.

  ## Link to deployed app :
  - https://mnm1506.github.io/Employee-Directory/

  ## Table of Contents :
  - [Description](#description)
  - [Link](#Link)
  - [Usage](#usage)
  - [License](#license)
  - [Technologies](#Technologies)
  - [Contributors](#contributors)
  - [Questions](#questions)

  ## Usage :
    As a user, I want to be able to view my entire employee directory at once
    so that I have quick access to their information.

  ## License :
  This application is covered by the MIT license.
  ![badge](https://img.shields.io/badge/license-MIT-brightgreen)

  ## screenshot :
  - ![Employee Directory (1)](https://user-images.githubusercontent.com/71415480/111347717-78aadf00-864d-11eb-8b5d-9df7517bd340.gif)

  ## Technologies :
  - HTML 22.4%
  - CSS 10.4%
  - JavaScript 67.2%
  - React
  - gh pages (deployement)

  ## Contributors :
   Moussa Nait Merabet

  ## Questions ? :
   Contact me

   - Find me on GitHub: [https://github.com/Mnm1506](https://github.com/https://github.com/Mnm1506)

   - Email me if you have any questions: [moussanm2014@gmail.com](https://www.google.com/gmail/)