text:
# Desktop Plugins

These are optional plugins that can be included in an embedder to access OS
functionality.

## How to use this code

In the long term plugins would be managed via pub, as they are with mobile
Flutter plugins. For now, however, they are designed to be included directly
from this repository, and you must manually manage the linking and registration
of plugins in your application (unlike on mobile, where the `flutter` tool
handles that automatically).

An overview of the approach for each platform is below. See the `testbed`
application for an example of including optional plugins, including the changes
to each platform's runner in the corresponding platform directory.

### Dart

Add local package references for the plugins you want to use to your
pubspec.yaml. For example:

```
dependencies:
  ...
  example_plugin:
    path: relative/path/to/plugins/example_plugin
```

Then import it in your dart code as you would any other package:
```dart
import 'package:example_plugin/example_plugin.dart';
```

### macOS

#### Building

Build the Xcode project under the macos diretory for each plugin you
want to use.

If you want a build-time dependency on the plugin builds, rather than
pre-building the plugins, you can add the plugin projects as dependencies
of your application project; see `testbed` for an example of this approach.

##### Local Engine Support

Since desktop plugin builds are not yet integrated with the Flutter tooling,
`--local-engine` does not exist for plugin builds, and is not passed through
from application-level builds (e.g., `testbed`). For now, if you need to build
plugins with a local build of the Flutter engine, you can get the same
effect by adding a file called `engine_override` at the root of your
`flutter-desktop-embedding` checkout containing the name of your build output
directory (i.e., the same thing you would pass to `--local-engine`). For
instance:

```
$ echo host_debug_unopt > engine_override
```

This should only be necessary if the plugin build requires changes in your local
engine, for instance if it use APIs that have been changed or added in your
local engine build. At runtime, the library used will be determined by
the application build.

#### Adding to an Application

Link the plugin frameworks in your application, and add them to the Copy
Frameworks step.

In PluginRegistrant.m, call `-registerWithRegistrar:` on each plugin you
want to use. For instance:

```objc
  [FDEExamplePlugin registerWithRegistrar:
      [registry registrarForPlugin:"FDEExamplePlugin"]];
```

### Linux

#### Dependencies

The Linux plugins in this project require the following libraries:

* GTK 3
* pkg-config

Installation example for debian-based systems:

```
$ sudo apt-get install libgtk-3-dev pkg-config
```

#### Building

Run `make -C linux` in the directory of the plugin you want to build.

#### Adding to an Application

Link the library files for the plugins you want to include into your binary.
The plugin builds in this project put the library at the top level of the
output directory (set `OUT_DIR` when calling `make` to set the location),
and the public header you will need in the `include/` directory next to it.

After creating your Flutter window controller, call your plugin's registrar
function. For instance:

```cpp
  ExamplePluginRegisterWithRegistrar(
      flutter_controller.GetRegistrarForPlugin("ExamplePlugin"));
```

### Windows

#### Building

The plugin projects are designed to be built from within the solution of
the application using them. Add the .vcxproj files for the plugins you want
to build to your application's Runner.sln.

#### Adding to an Application

Link the library files for the plugins you want to include into your exe.
The plugin builds in this project put the library at the top level of the
Plugins directory in the build output, along with their public headers.

After creating your Flutter window controller, call your plugin's registrar
function. For instance:

```cpp
  ExamplePluginRegisterWithRegistrar(
      flutter_controller.GetRegistrarForPlugin("ExamplePlugin"));
```

## Writing your own plugins

You can create local packages following the model of plugins here to
use in your own projects. In particular, `example_plugin` is intended to
serve as a starting point for new plugins, standing in for the current lack
of `flutter create -t plugin` support for desktop.


text:
# sharpneat-refactor
Major rewrite/refactor of SharpNEAT.

The code in this repository will eventually be merged into the main sharpneat repo, where it will become SharpNEAT 4.0.

This code base currently targets .NET 5.

There are some UI projects that are based on support for Windows.Forms in dotnet core, however these projects will only run on Windows.
You can however run sharpneat from the console, i.e. without any UI.

The core sharpneat library/agorithm in this repo is completed and tested, so this code is ready for use in research if you wish.
If you do this then you should refer to this project as a SharpNEAT 4.0 pre-release. If you are planning to cite the code then I can
make a more specific/official release on request.

This refactor/rewrite greatly improves the API, code structure, and performance, and provides a good foundation for future NEAT research.

Colin, April 2021

license: MIT

repository: lanicon/sharpneat-refactor

branch_name: refs/heads/master

extension: md

license_type: permissive

repo_name: lanicon/sharpneat-refactor


text:
|  | Now with *Expo* support |
| --- | --- |

Background Geolocation for React Native · [![npm](https://img.shields.io/npm/dm/react-native-background-geolocation.svg)]() [![npm](https://img.shields.io/npm/v/react-native-background-geolocation.svg)]()
============================================================================

[![](https://dl.dropboxusercontent.com/s/nm4s5ltlug63vv8/logo-150-print.png?dl=1)](https://www.transistorsoft.com)

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

The *most* sophisticated background **location-tracking & geofencing** module with battery-conscious motion-detection intelligence for **iOS** and **Android**.

The plugin's [Philosophy of Operation](../../wiki/Philosophy-of-Operation) is to use **motion-detection** APIs (using accelerometer, gyroscope and magnetometer) to detect when the device is *moving* and *stationary*.

- When the device is detected to be **moving**, the plugin will *automatically* start recording a location according to the configured `distanceFilter` (meters).

- When the device is detected be **stationary**, the plugin will automatically turn off location-services to conserve energy.

Also available for [Flutter](https://github.com/transistorsoft/flutter_background_geolocation), [Cordova](https://github.com/transistorsoft/cordova-background-geolocation-lt), [NativeScript](https://github.com/transistorsoft/nativescript-background-geolocation-lt) and pure native apps.

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

The **[Android module](http://www.transistorsoft.com/shop/products/react-native-background-geolocation)** requires [purchasing a license](http://www.transistorsoft.com/shop/products/react-native-background-geolocation).  However, it *will* work for **DEBUG** builds.  It will **not** work with **RELEASE** builds [without purchasing a license](http://www.transistorsoft.com/shop/products/react-native-background-geolocation).

(2018) This plugin is supported **full-time** and field-tested **daily** since 2013.

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

[![Google Play](https://dl.dropboxusercontent.com/s/80rf906x0fheb26/google-play-icon.png?dl=1)](https://play.google.com/store/apps/details?id=com.transistorsoft.backgroundgeolocation.react)

![Home](https://dl.dropboxusercontent.com/s/wa43w1n3xhkjn0i/home-framed-350.png?dl=1)
![Settings](https://dl.dropboxusercontent.com/s/8oad228siog49kt/settings-framed-350.png?dl=1)

# Contents
- ### 😫 [Help!](../../wiki/Help)
- ### :books: [API Documentation](https://transistorsoft.github.io/react-native-background-geolocation)
- ### [Installing the Plugin](#large_blue_diamond-installing-the-plugin)
- ### [Setup Guides](#large_blue_diamond-setup-guides)
- ### [Configure your License](#large_blue_diamond-configure-your-license)
- ### [Using the plugin](#large_blue_diamond-using-the-plugin)
- ### [Example](#large_blue_diamond-example)
- ### [Debugging](../../wiki/Debugging)
- ### [Demo Application](#large_blue_diamond-demo-application)
- ### [Testing Server](#large_blue_diamond-simple-testing-server)
- ### [Privacy Policy](help/PRIVACY_POLICY.md)

## :large_blue_diamond: Installing the Plugin

### With *Expo*

```shell
npx expo install react-native-background-geolocation
```

### With `yarn`

```bash
yarn add react-native-background-geolocation
```

### With `npm`
```
$ npm install react-native-background-geolocation --save
```

## :large_blue_diamond: Setup Guides

### Expo
- [Expo Setup](help/INSTALL-EXPO.md)

### iOS
- [Auto-linking Setup](help/INSTALL-IOS-AUTO.md)

### Android
- [Auto-linking Setup](help/INSTALL-ANDROID-AUTO.md)

## :large_blue_diamond: Configure your license

1. Login to Customer Dashboard to generate an application key:
[www.transistorsoft.com/shop/customers](http://www.transistorsoft.com/shop/customers)
![](https://gallery.mailchimp.com/e932ea68a1cb31b9ce2608656/images/b2696718-a77e-4f50-96a8-0b61d8019bac.png)

2. Add your license-key to `android/app/src/main/AndroidManifest.xml`:

```diff
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.transistorsoft.backgroundgeolocation.react">

  <application
    android:name=".MainApplication"
    android:allowBackup="true"
    android:label="@string/app_name"
    android:icon="@mipmap/ic_launcher"
    android:theme="@style/AppTheme">

    <!-- react-native-background-geolocation licence -->
+     <meta-data android:name="com.transistorsoft.locationmanager.license" android:value="YOUR_LICENCE_KEY_HERE" />
    .
    .
    .
  </application>
</manifest>
```

## :large_blue_diamond: Using the plugin ##

```javascript
import BackgroundGeolocation from "react-native-background-geolocation";
```

### [Typescript](https://facebook.github.io/react-native/blog/2018/05/07/using-typescript-with-react-native) API:

For those using [Typescript](https://facebook.github.io/react-native/blog/2018/05/07/using-typescript-with-react-native) (__recommended__), you can also `import` the interfaces:
```javascript
import BackgroundGeolocation, {
  State,
  Config,
  Location,
  LocationError,
  Geofence,
  GeofenceEvent,
  GeofencesChangeEvent,
  HeartbeatEvent,
  HttpEvent,
  MotionActivityEvent,
  MotionChangeEvent,
  ProviderChangeEvent,
  ConnectivityChangeEvent
} from "react-native-background-geolocation";

```

For more information, see [this blog post](https://medium.com/@transistorsoft/new-feature-typescript-api-4a160a2c853b)

## :large_blue_diamond: Example

There are three main steps to using `BackgroundGeolocation`
1. Wire up event-listeners.
2. `.ready(config)` the plugin.
3. `.start()` the plugin.

:warning: Do not execute *any* API method which will require accessing location-services until the **`.ready(config)`** method resolves (eg: `#getCurrentPosition`, `#watchPosition`, `#start`).

```javascript
// NO!  .ready() has not resolved.
BackgroundGeolocation.getCurrentPosition(options);
BackgroundGeolocation.start();

BackgroundGeolocation.ready(config).then((state) => {
  // YES -- .ready() has now resolved.
  BackgroundGeolocation.getCurrentPosition(options);
  BackgroundGeolocation.start();
});

// NO!  .ready() has not resolved.
BackgroundGeolocation.getCurrentPosition(options);
BackgroundGeolocation.start();
```

### Example 1. — React *Functional Component*

  Show Source

```javascript

import React from 'react';
import {
  Switch,
  Text,
  View,
} from 'react-native';

import BackgroundGeolocation, {
  Location,
  Subscription
} from "react-native-background-geolocation";

const HelloWorld = () => {
  const [enabled, setEnabled] = React.useState(false);
  const [location, setLocation] = React.useState('');

  React.useEffect(() => {
    /// 1.  Subscribe to events.
    const onLocation:Subscription = BackgroundGeolocation.onLocation((location) => {
      console.log('[onLocation]', location);
      setLocation(JSON.stringify(location, null, 2));
    })

    const onMotionChange:Subscription = BackgroundGeolocation.onMotionChange((event) => {
      console.log('[onMotionChange]', event);
    });

    const onActivityChange:Subscription = BackgroundGeolocation.onActivityChange((event) => {
      console.log('[onActivityChange]', event);
    })

    const onProviderChange:Subscription = BackgroundGeolocation.onProviderChange((event) => {
      console.log('[onProviderChange]', event);
    })

    /// 2. ready the plugin.
    BackgroundGeolocation.ready({
      // Geolocation Config
      desiredAccuracy: BackgroundGeolocation.DESIRED_ACCURACY_HIGH,
      distanceFilter: 10,
      // Activity Recognition
      stopTimeout: 5,
      // Application config
      debug: true, // <-- enable this hear sounds for background-geolocation life-cycle.
      logLevel: BackgroundGeolocation.LOG_LEVEL_VERBOSE,
      stopOnTerminate: false,   // <-- Allow the background-service to continue tracking when user closes the app.
      startOnBoot: true,        // <-- Auto start tracking when device is powered-up.
      // HTTP / SQLite config
      url: 'http://yourserver.com/locations',
      batchSync: false,       // <-- [Default: false] Set true to sync locations to server in a single HTTP request.
      autoSync: true,         // <-- [Default: true] Set true to sync each location to server as it arrives.
      headers: {              // <-- Optional HTTP headers
        "X-FOO": "bar"
      },
      params: {               // <-- Optional HTTP params
        "auth_token": "maybe_your_server_authenticates_via_token_YES?"
      }
    }).then((state) => {
      setEnabled(state.enabled)
      console.log("- BackgroundGeolocation is configured and ready: ", state.enabled);
    });

    return () => {
      // Remove BackgroundGeolocation event-subscribers when the View is removed or refreshed
      // during development live-reload.  Without this, event-listeners will accumulate with
      // each refresh during live-reload.
      onLocation.remove();
      onMotionChange.remove();
      onActivityChange.remove();
      onProviderChange.remove();
    }
  }, []);

  /// 3. start / stop BackgroundGeolocation
  React.useEffect(() => {
    if (enabled) {
      BackgroundGeolocation.start();
    } else {
      BackgroundGeolocation.stop();
      setLocation('');
    }
  }, [enabled]);

  return (
    <View style={{alignItems:'center'}}>
      <Text>Click to enable BackgroundGeolocation</Text>
      <Switch value={enabled} onValueChange={setEnabled} />
      <Text style={{fontFamily:'monospace', fontSize:12}}>{location}</Text>
    </View>
  )
}

export default HelloWorld;
```

### Example 2. — React *Class Component*

  Show Source

```javascript
import React from 'react';
import {
  Switch,
  Text,
  View,
} from 'react-native';

import BackgroundGeolocation, {
  Location,
  Subscription
} from "react-native-background-geolocation";

export default class HelloWorld extends React.Component {
  subscriptions:Subscription[] = [];
  state:any = {};
  constructor(props:any) {
    super(props);
    this.state = {
      enabled: false,
      location: ''
    }
  }

  componentDidMount() {
    /// 1.  Subscribe to BackgroundGeolocation events.
    this.subscriptions.push(BackgroundGeolocation.onLocation((location) => {
      console.log('[onLocation]', location);
      this.setState({location: JSON.stringify(location, null, 2)})
    }, (error) => {
      console.log('[onLocation] ERROR:', error);
    }))

    this.subscriptions.push(BackgroundGeolocation.onMotionChange((event) => {
      console.log('[onMotionChange]', event);
    }))

    this.subscriptions.push(BackgroundGeolocation.onActivityChange((event) => {
      console.log('[onActivityChange]', event);
    }))

    this.subscriptions.push(BackgroundGeolocation.onProviderChange((event) => {
      console.log('[onProviderChange]', event);
    }))

    /// 2. ready the plugin.
    BackgroundGeolocation.ready({
      // Geolocation Config
      desiredAccuracy: BackgroundGeolocation.DESIRED_ACCURACY_HIGH,
      distanceFilter: 10,
      // Activity Recognition
      stopTimeout: 5,
      // Application config
      debug: true, // <-- enable this hear sounds for background-geolocation life-cycle.
      logLevel: BackgroundGeolocation.LOG_LEVEL_VERBOSE,
      stopOnTerminate: false,   // <-- Allow the background-service to continue tracking when user closes the app.
      startOnBoot: true,        // <-- Auto start tracking when device is powered-up.
      // HTTP / SQLite config
      url: 'http://yourserver.com/locations',
      batchSync: false,       // <-- [Default: false] Set true to sync locations to server in a single HTTP request.
      autoSync: true,         // <-- [Default: true] Set true to sync each location to server as it arrives.
      headers: {              // <-- Optional HTTP headers
        "X-FOO": "bar"
      },
      params: {               // <-- Optional HTTP params
        "auth_token": "maybe_your_server_authenticates_via_token_YES?"
      }
    }).then((state) => {
      this.setState({enabled: state.enabled});
      console.log("- BackgroundGeolocation is configured and ready: ", state.enabled);
    })
  }

  /// When view is destroyed (or refreshed during development live-reload),
  /// remove BackgroundGeolocation event subscriptions.
  componentWillUnmount() {
    this.subscriptions.forEach((subscription) => subscription.remove());
  }

  onToggleEnabled(value:boolean) {
    console.log('[onToggleEnabled]', value);
    this.setState({enabled: value})
    if (value) {
      BackgroundGeolocation.start();
    } else {
      this.setState({location: ''});
      BackgroundGeolocation.stop();
    }
  }

  render() {
    return (
      <View style={{alignItems:'center'}}>
        <Text>Click to enable BackgroundGeolocation</Text>
        <Switch value={this.state.enabled} onValueChange={this.onToggleEnabled.bind(this)} />
        <Text style={{fontFamily:'monospace', fontSize:12}}>{this.state.location}</Text>
      </View>
    )
  }
}
```

### Promise API

The `BackgroundGeolocation` Javascript API supports [Promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) for *nearly* every method (the exceptions are **`#watchPosition`** and adding event-listeners via **`#onXXX`** method (eg: `onLocation`).  For more information, see the [API Documentation](https://transistorsoft.github.io/react-native-background-geolocation-android)

```javascript
BackgroundGeolocation.ready({
  desiredAccuracy: BackgroundGeolocation.DESIRED_ACCURACY_HIGH,
  distanceFilter: 50
}).then(state => {
  console.log('- BackgroundGeolocation is ready: ', state);
}).catch(error => {
  console.warn('- BackgroundGeolocation error: ', error);
});

// Or use await in an async function
try {
  const state = await BackgroundGeolocation.ready({
    desiredAccuracy: BackgroundGeolocation.DESIRED_ACCURACY_HIGH,
    distanceFilter: 50
  })
  console.log('- BackgroundGeolocation is ready: ', state);
} catch (error) {
  console.warn('- BackgroundGeolocation error: ', error);
}
```

## :large_blue_diamond: [Demo Application](https://github.com/transistorsoft/rn-background-geolocation-demo)

A fully-featured [Demo App](https://github.com/transistorsoft/rn-background-geolocation-demo) is available in its own public repo.  After first cloning that repo, follow the installation instructions in the **README** there.  This demo-app includes a settings-screen allowing you to quickly experiment with all the different settings available for each platform.

![Home](https://dl.dropboxusercontent.com/s/wa43w1n3xhkjn0i/home-framed-350.png?dl=1)
![Settings](https://dl.dropboxusercontent.com/s/8oad228siog49kt/settings-framed-350.png?dl=1)

## :large_blue_diamond: [Simple Testing Server](https://github.com/transistorsoft/background-geolocation-console)

A simple Node-based [web-application](https://github.com/transistorsoft/background-geolocation-console) with SQLite database is available for field-testing and performance analysis.  If you're familiar with Node, you can have this server up-and-running in about **one minute**.

![](https://dl.dropboxusercontent.com/s/px5rzz7wybkv8fs/background-geolocation-console-map.png?dl=1)

![](https://dl.dropboxusercontent.com/s/tiy5b2oivt0np2y/background-geolocation-console-grid.png?dl=1)

# License

The MIT License (MIT)

Copyright (c) 2018 Chris Scott, Transistor Software

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

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

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

gha_language: Objective-C

gha_license_id: MIT


text:
### [CVE-2019-0379](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-0379)
![](https://img.shields.io/static/v1?label=Product&message=SAP%20Process%20Integration%2C%20business-to-business%20add-on&color=blue)
![](https://img.shields.io/static/v1?label=Version&message=%3D1.0%20&color=brighgreen)
![](https://img.shields.io/static/v1?label=Vulnerability&message=Missing%20Authentication%20Check&color=brighgreen)

### Description

SAP Process Integration, business-to-business add-on, versions 1.0, 2.0, does not perform authentication check properly when the default security provider is changed to BouncyCastle (BC), leading to Missing Authentication Check

### POC

#### Reference
- https://launchpad.support.sap.com/#/notes/2826015

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

repository: trickest/cve

branch_name: refs/heads/main

gha_language: HTML

repo_name: trickest/cve


text:
# [Big Game Ultimate Trivia Quiz](http://alexa.amazon.com/#skills/amzn1.echo-sdk-ams.app.e53313d6-65a1-46f2-b3f9-2d91a1baf7c0)
![3 stars](../../images/ic_star_black_18dp_1x.png)![3 stars](../../images/ic_star_black_18dp_1x.png)![3 stars](../../images/ic_star_black_18dp_1x.png)![3 stars](../../images/ic_star_border_black_18dp_1x.png)![3 stars](../../images/ic_star_border_black_18dp_1x.png) 2

To use the Big Game Ultimate Trivia Quiz skill, try saying...

* *Alexa, start Big Game*

* *Repeat*

* *Help*

This skill quizzes you on the history of football's biggest game, including team, player and coach records, trivia about the first-ever final football game, and random facts ranging from commercials and halftime shows to unbelievable plays!

***

### Skill Details

* **Invocation Name:** big game
* **Category:** null
* **ID:** amzn1.echo-sdk-ams.app.e53313d6-65a1-46f2-b3f9-2d91a1baf7c0
* **ASIN:** B01BFSF9AG
* **Author:** Trivial Tinkering
* **Release Date:** February 3, 2016 @ 14:57:23
* **In-App Purchasing:** No


text:
# Feff85EXAFS example: 1-bromoadamantane

This is a data-bearing example, thus the tests will cover both the
computation and the results of the analysis.

Bromoadamantane is a single-bonded, 10-carbon frame with hydrogen
atoms accommodating the remaining charge on the carbon atoms.  One
hydrogen atom is replaced with a bromine atom.  The XAS data are
measured at the Br K edge.

This is an interesting analysis problem because the Br-H scattering
plays a significant and easily measurable role in the EXAFS analysis.

The bromoadamantane sample was kindly provided by Alessandra Leri,
Marymount Manhattan College and measured by Bruce at NSLS X23A2.

![Ball and stick figure of the 1-bromoadamantane molecule](bromoadamantane.png)

* [Chemical table file (cartesian coordinates)](bromoadamantane.sdf) -- [CID 79106](http://pubchem.ncbi.nlm.nih.gov/summary/summary.cgi?cid=79106)
* [template for feff input file (converted from SDF file)](bromoadamantane.mustache) -- uses the [mustache](http://mustache.github.io/) templating system
* [XDI data file: chi(k)](bromoadamantane.chik)
* [Athena project file](bromoadamantane.prj) -- Data processed with a pre-release of Demeter 0.9.21 using the larch (0.9.23) backend and XDI 1.0


text:
# PNB

![](https://i.imgur.com/HK4G4Yq.png)

A small program that prevents toxicity in league of legends by disabling the enter key.

[Download now!](https://github.com/Fumi24/PNB/releases/latest)


text:
# jbc
Jack's Blockchain -- Simple blockchain to learn and talk about how blockchains work.

## Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

### Prerequisites

As always, you'll need to install the Python libraries in requirements.txt

```
$ pip install requirements.txt
```

### Running a node

To run the node on the command line, there are a few options.

`-m` tells the node to not only receive nodes, but also mine.

`-p PORT_NUM` will tell `node.py` which port to run on. This is important when running multiple nodes locally as described below.

### Hard linking directory for multiple nodes

In order to run a different node, we want to hard link the main jbc directory into another directory. To do this, use the [linknodes.sh](https://gist.github.com/jackschultz/5bdc628739c9ceae9ec96fadf9ed8557) script in the directory above jbc.

For example,

```
$ ./linknodes.sh 5001
```

will create a directory named `jbc5001`. Then in that directory, you'll be able to run a node on a different port to gather blocks or mine as well.

## Contributing

Feel free to clone, run, and give feedback and pull requests. Finding bugs is a great help to the project, as well as a great way for everyone to learn. And feel free to help update this README file to better describe how to run this locally.

## License

This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details

repository: Mahedros/jbc

repo_name: Mahedros/jbc


text:
# Aergo Connect

Chrome browser extension built using Vue + Typescript

## Install

### Release version

- [Install Aergo Connect from the Chrome web store](https://chrome.google.com/webstore/detail/aergo-connect/iopigoikekfcpcapjlkcdlokheickhpc)

### Beta version

- Build from source or download [latest release](https://github.com/aergoio/aergo-connect/releases) package
- In Chrome, go to your Extensions
- Enable "Developer mode"
- Click "load unpacked" and select the extracted package
- Aergo Connect should appear in your menu bar

## Issues and Security

Please post any issues or suggestions to the Github issues page.

For security related reports, please contact us at<EMAIL_ADDRESS>
## Development

**Install dependencies**

    yarn

**Run dev build**

    yarn build-dev

Add the `dist-dev` folder as an "unpacked extension" to Chrome.

## Build

**Build for production**

    cd packages/@aergo-connect/extension && yarn build

**Package as zip**

    cd packages/@aergo-connect/extension && yarn package

Find the zip in the release folder.

repository: aergoio/aergo-connect

gha_language: Vue

repo_name: aergoio/aergo-connect


text:
TaskManager
===========

TaskManager is a simple task manager for Mac OS X. It shows a list of apps and provides details about them. It also allows you to do things like quit and hide apps. If you're looking for a working example of NSRunningApplication, you found it! :)

![TaskManager](https://cloud.githubusercontent.com/assets/8571043/4080146/3fee9d66-2edc-11e4-9223-c3f952dec52d.png "")

repository: fernando-valente/TaskManager

repo_name: fernando-valente/TaskManager


text:
# full_stack_lab2_persistence

In this lab we start work on the first tier of the full-stack, the persistence layer. Working with databases!

We need to do this the smart way.

The common way to install a database (like Mongodb) would be to simply apt-get the software through the operating system and install it.....but wait! Think of your team!

When the next person tries to get up and running, will they know they need to follow all the steps to install the database before they begin coding?? We could document it in the README, but that seems like a lot of work.

We have options.

In this lab we will use Docker to launch a Debian-based distro contianer, write automation shell scripts to add a secure key, update our sources, install, configure, and create a user for MongoDB.

Now we're talking full stack development!

Following this we will take a look at using the official Docker images for Mongo Database.

### Covered

- Working with SSH keys
- Writing shell scripts
- Secure installation of Mongodb

In addition, once we've got our database installed we'll get busy learning about "schema-less" data.

- Basics of Mongodb
- Modelling document-based data
- Using the Repl
- Inserting, finding, updating and removing documents

By the completion of this lesson and assignments, any of your classmates should be able to easily clone your repo to a fresh environment, and get fully up and running with Mongo.


text:
![GIF demo](readme/header.gif)

# ProjectQuest

Problem identified: During the pandemic, many companies have been forced to adopt flexible and remote working arrangements. To improve motivation among the employees, our project aims to bring RPG elements into a work productivity application specifically for Software Developers.

Our solution: A gamified Software Project Management tool for easy remote team and task management.

## Installation

Use the package manager [pip](https://pip.pypa.io/en/stable/) to install the following libraries.

```bash
pip install flask
pip install flask_sqlalchemy
pip install flask_cors
pip install firebase_admin
```
We have included a `readme/requirements.txt` file that you can use to recursively install the necessary python libraries.

## Usage
In order to run the Web Application, first start running the `api/main.py` file

If you are using Windows OS, you may use the following commands:
```bash
cd api/
python main.py
```

If you are using Macintosh OS, you may use the following commands:
```bash
cd api/
python3 main.py
```

To visit the Web Application, simply locate the folder where you've downloaded the file and add `/app` to the back of the link. For e.g. `file:///Applications/MAMP/htdocs/wad2/app`

## Demo
A live demo of our application is available at the following link: https://projectquest.netlify.app/
Sign-up instructions: https://docs.google.com/document/d/1faH1JPwbBsKPBJRq3W_jMAgU2RMbJeBzpJia28_7ACQ/edit?usp=sharing

You may log in using the following account for a quick view of the entire Web Application:
+ email<EMAIL_ADDRESS>+ password: Passw0rd!

## Core Functionalities of ProjectQuest
1. User Login & Registration
    + User Login
    + User Registration

2. Project Management
    + Auto creation or linking to Github Repo Teams
    + View Github statistics (daily, weekly commits, etc)

    ![GIF demo](readme/team.gif)

3. Task Management
    + Creation of tasks/issues to be done
        - Assignment of team members and priority levels
        - Ability to categorize tasks/issues
    + View tasks/issues in a calendar form and Gantt chart form
    + Mark completed tasks/issues

    ![Task](readme/task.gif)

4. Team Management
    + Create Meetings
        - Automatically create Daily.Co (https://www.daily.co/) Meeting
    + View Upcoming & Past Meetings
    + Generate Meeting Invites

5. Personal Profile Management
    + View tasks assigned to user
    + View meetings

    ![Personal](readme/personal.gif)

6. Gamification elements
    + Gain EXP and Level up by completing actions
        - Completing tasks/issues, higher priority tasks give more EXP
        - EXP Multiplier (Takes into account group streak and user level)
        - Animations when completing a task

        ![Animations when completing a task](readme/gamification_complete_task.gif)

    + Classes
        - Mage, warrior, etc. Different looks)

        ![Classes](readme/characters.gif)

    + Team-based
        - Completing tasks as a team and maintaining the team streak (which in turns affect EXP Multiplier)
    + Leaderboard within team linked with GIT
    + Redeem real life rewards based on level
        - Rewards like movie voucher created by team lead

    ![GIF demo](readme/rewards.gif)
7. User Experience
    + Tours are included to explain the Web Application for the user

    ![Tour](readme/tour.gif)

## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

**The Team**
---

+ [@weixiangtoh](https://github.com/weixiangtoh) :whale:
+ [@nicwongg](https://github.com/nicwongg) :penguin:
+ [@tfortammi](https://github.com/tfortammi) :rabbit2:
+ [@francinetan1998](https://github.com/francinetan1998) :cat:

**Acknowledgements**
---
Our team recognises the importance of crediting our work and we would like to thank the following because if not for them, this project would not have been possible:
+ Google Gantt Chart & ChartJS for the Gantt Chart and Charts display from [Google Developers | Gantt Chart](https://developers.google.com/chart/interactive/docs/gallery/ganttchart) and [ChartJS] (https://www.chartjs.org/).
+ Full Calendar API to display calendars from [Calendar API] (https://fullcalendar.io/)
+ Canvas to create banners and character sprites from [Canvas] (https://www.canva.com/)
+ Tourguide.js to create useful tourguides for newcomers of our Web Application from [Tourguide.js] (https://github.com/LikaloLLC/tourguide.js/)
+ jQuery Datatables to add additional features to HTML tables from [jQuery Datatables] (https://datatables.net/)
+ Bootstrap 4 to incorporate responsiveness into our Web Application from [Bootstrap 4] (https://getbootstrap.com/)
+ [HZPagination.js] (https://www.jqueryscript.net/other/List-Pagination-Plugin-jQuery-HZpagination.html) to paginate lists for the rewards shop from [@ahmedhijazi94] (https://github.com/ahmedhijazi94)
+ Pixel attack effect from [NYKNCK] (https://kvsr.itch.io/effectnpt?download)
+ Pixel icons for different reward categories from [Shikashi] (https://cheekyinkling.itch.io/shikashis-fantasy-icons-pack?download)
+ Pixel icons for different character classes from [0x72] (https://0x72.itch.io/dungeontileset-ii)
+ Pixel background art from [Sydney Seekford, Thy Vo, and Ryan Imm] (https://www.behance.net/gallery/65290819/Pixel-Art-Backgrounds-Tutorial-Skip)
+ Pixel city background art from [Ronan O'Connell] (https://www.chron.com/entertainment/article/houston-8-bit-pixel-art-skyline-reddit-scene-rice-12850623.php)
+ Pixel shop banner from [IF[ALIEN]] (https://steamcommunity.com/sharedfiles/filedetails/?id=538458906)

**Finally...**
---
![Project Management Quote](readme/quote.jpg)

## License
[MIT](https://choosealicense.com/licenses/mit/)


text:
# Example Raincatcher Client App

This simple example Client application uses the `wfm-tutorial-module` and `fh-wfm-mediator` module highlight the features available in a Raincathcer module.

The Client App is designed to be run with the [raincatcher-tutorial-cloud](https://github.com/feedhenry-raincatcher/raincatcher-tutorial-cloud) app.

## Running the App

1. Run `npm install`.
2. Run `grunt`

This will browserify the components of the app and run a server.

repository: nialldonnellyfh/raincatcher-mono

repo_name: nialldonnellyfh/raincatcher-mono


text:
# Generating a RockYou sample dataset
This codes generate sample dataset in `data` directory, which was used to train the model under `pretrained` directory.

Run these in this order under this `bin` directory:
1. `get-dataset.sh`:
Download `rockyou-withcount.txt` and save it under `data` directory

2. `make-rockyou-full.py`:
Duplicate password according to the counts, and save it as `rockyou-full.txt`

3. `prep-data.py`:
Split `rockyou-full.txt` 80% / 20% for training and test dataset, and save it as `train.txt` and `test.txt`

repository: vsecurity-research/PassGAN

repo_name: vsecurity-research/PassGAN


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

The format is based on [Keep a Changelog](http://keepachangelog.com/).

## [Unreleased]
### Added
### Changed
### Fixed
### Removed

## [0.1.0] - 2018-01-02
### Added
- box
- sidebarMenu
- dashboardBody
- dashboardHeader
- dashboardPage
- dashboardSidebar
- menuItem
- renderValueBox
- tabItem
- tabItems
- valueBox
- valueBoxOutput
- dropdownMenu
- dropdownMenuOutput
- infoBox
- infoBoxOutput
- messageItem
- notificationItem
- renderDropdownMenu
- renderInfoBox
- tabBox
- taskItem

[Unreleased]: https://github.com/Appsilon/semantic.dashboard/compare/0.1.0...HEAD
[0.1.0]: https://github.com/Appsilon/semantic.dashboard/compare/efb5ed9abfd48be547e4ff191925dd5b02f971b2...0.1.0


text:
---
title: Your Company?
type: Company
role: staff/principal engineer
maintech: Gradle, Android
sector: any
location: London / remote
dates:
  from: 2023-06-01
  to:
---

I'm looking for a new opportunity. If the below fits what you need and your company, please see my [CV](https://drive.google.com/file/d/0B5qTNPgq_ll5UlRfbVdjckE5Y0k/view?usp=sharing) and contact me.

I'm great at:
 * overseeing and contributing to large codebases and systems
 * solving complex problems with ingenious solutions
 * developing features, maintaining and improving them
 * helping/teaching/mentoring other developers to upskill their abilities
 * upgrading libraries, refactoring, modularizing code
 * optimizing, stabilizing builds

I'm looking for:
 * a platform/core/productivity/staff engineering role
   (Gradle, Android Studio, static analysis, build tools, etc.)
 * working with complex Gradle/Android builds/plugins/libraries
 * maintaining CI, UI tests, fixing flaky tests
 * a company that values its users and employees
   (having a dedicated team for the above is a good sign)

**Technologies**: Gradle, Android

**Tools used**: Git, IntelliJ IDEA/Android Studio

gha_language: SCSS


text:
# createJS Banner

createJS Banner is a MPU banner (300x250) built with the use of createJS library.

## Version

0.0.1

## Tech

* [EaselJS] (http://createjs.com/easeljs)
* [TweenJS] (http://createjs.com/tweenjs)
* [PreloadJS] (http://createjs.com/preloadjs)

## Tasks

**createJS Banner** uses **PreloadJS** to load all assets on the _init_ function.

**EaselJS** works with HTML _canvas_ element. It a stage instance passing canvas' _ID_. It containd all display objects. Objects are positioned on the canvas with x and y coordinates. Additional properties were added to the text objects (lineWidth, textAlign).

**TweenJS** is responsible for animating the display objects.

## Licence

MIT

repository: PiotrFurmanek/createJS

repo_name: PiotrFurmanek/createJS


text:
---
layout: mypost
title: Goods shipped directly from Ireland to EU up by 50% in six months
categories: [外刊精读]

---

### Goods shipped directly from Ireland to EU up by 50% in six months

> source: TG

Volumes of goods shipped directly from Ireland to the EU on new Brexit-busting **ferry[渡船]** routes have rocketed by 50% in the past six months as exporters seek to avoid travelling across land through Great Britain, according to official data.

Figures published by the Irish Maritime Development Office (IMDO) show significant traffic **diverted[改道]** away from the traditional routes between Dublin and Britain to some of 32 new ferry services direct to ports such as Le Havre, Cherbourg and Dunkirk in France and Zeebrugge in Belgium.

The IMDO report shows freight[货运] volumes from Dublin port to Liverpool and Holyhead in Anglesey down 19% in the first three-quarters of 2021 compared with 2020 and down by 30% on the two routes from Rosslare in south-east Ireland to the Welsh ports of Pembroke and Fishguard.

“It is clear that the new trading arrangements between Ireland and the UK have had a significant and negative effect upon ro-ro [roll-on roll-off lorry haulage] freight traffic between the two countries,” the IMDO report said. “Underpinning all of these trends are the new customs and trading arrangements between Ireland and the UK that came into force on 1 January 2021,” it added.

“One-third of all ro-ro in the Republic of Ireland now operates on direct routes to ports in the European Union, up from a 16% share in 2019,” the IMDO said.

Traffic for the second and third quarters of this year show Irish Republic to EU traffic is already up by 52% compared with the entirety of 2019, it added.

The decline in demand for the ferry services to Wales and Liverpool has also seen Northern Irish ports receiving a Brexit **dividend[股息，红利]**, with freight volumes hitting “unprecedented highs in 2021”.

Historically, Northern Irish **hauliers[货运公司]** have preferred the Dublin-Holyhead route as the quickest way to access markets in the south and south-east of England, but some have now **eschewed[避开]** the route “to avoid the new customs requirements involved between Ireland and UK ports”, the reports said.

It has meant an uplift in traffic in Northern Ireland’s three ports, with a 15% rise in Belfast, 18% in Larne and 20% at Warrenpoint.

The rise in the number of ferry services going direct to France, from 12 before Brexit to 44 in 2021, along with concern about possible delays over customs checks in Dover and Calais, has helped fuel the diversion[改道] of trade from the Republic direct to the continent.

Rosslare Europort has benefited most. It is now taking 49% of EU traffic, with another 49% going through Dublin and 2% via Cork.

On Saturday, Rosslare Europort said, it had its busiest day in its history. Its general manager, Glenn Carr, **put the increased demand down to the desire to avoid the UK[放下高涨的避开UK的想法]**, but also a reduction in trade with Great Britain because of Brexit red tape and cost.

**“In particular industries, we’re definitely seeing where traditionally a lot of goods were sourced in the UK or exported to the UK, there’s been a switch to Europe,”** he told journal.ie. “We definitely see it in the port in terms of the mix of goods that are there now – ingredients, food, dairy, pharmaceuticals.”**[在一些特定的行业，我们绝对看到传统上很多货物曾经是来自英国或者出口到英国，但是这些都已经都转向欧洲大陆]**


text:
# ReportGenerator
*ReportGenerator* converts coverage reports generated by coverlet, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov, or lcov into human readable reports in various formats.

Author: Daniel Palme
Blog: [www.palmmedia.de](https://www.palmmedia.de)
Twitter: [@danielpalme](https://twitter.com/danielpalme)

## Usage
To learn how to use *ReportGenerator* have a look at the:
* [Usage Guide](https://reportgenerator.io/usage)
* [Command line parameters](https://github.com/danielpalme/ReportGenerator/#usage--command-line-parameters)

### YAML example
```yaml

- task: reportgenerator@5
  displayName: ReportGenerator
  inputs:
    reports: 'coverage.xml' # REQUIRED # The coverage reports that should be parsed (separated by semicolon). Globbing is supported.
    targetdir: 'coveragereport' # REQUIRED # The directory where the generated report should be saved.
    reporttypes: 'HtmlInline_AzurePipelines;Cobertura' # The output formats and scope (separated by semicolon) Values: Badges, Clover, Cobertura, OpenCover, CsvSummary, Html, Html_Dark, Html_Light, Html_BlueRed, HtmlChart, HtmlInline, HtmlInline_AzurePipelines, HtmlInline_AzurePipelines_Dark, HtmlInline_AzurePipelines_Light, HtmlSummary, JsonSummary, Latex, LatexSummary, lcov, MarkdownSummary, MarkdownSummaryGithub, MarkdownDeltaSummary, MHtml, PngChart, SonarQube, TeamCitySummary, TextSummary, TextDeltaSummary, Xml, XmlSummary
    sourcedirs: '' # Optional directories which contain the corresponding source code (separated by semicolon). The source directories are used if coverage report contains classes without path information.
    historydir: '' # Optional directory for storing persistent coverage information. Can be used in future reports to show coverage evolution.
    plugins: '' # Optional plugin files for custom reports or custom history storage (separated by semicolon).
    assemblyfilters: '+*' # Optional list of assemblies that should be included or excluded in the report. Exclusion filters take precedence over inclusion filters. Wildcards are allowed.
    classfilters: '+*' # Optional list of classes that should be included or excluded in the report. Exclusion filters take precedence over inclusion filters. Wildcards are allowed.
    filefilters: '+*' # Optional list of files that should be included or excluded in the report. Exclusion filters take precedence over inclusion filters. Wildcards are allowed.
    verbosity: 'Info' # The verbosity level of the log messages. Values: Verbose, Info, Warning, Error, Off
    title: '' # Optional title.
    tag: '$(build.buildnumber)_#$(build.buildid)' # Optional tag or build version.
    license: '' # Optional license for PRO version. Get your license here: https://reportgenerator.io/pro
    customSettings: '' # Optional custom settings (separated by semicolon). See: https://github.com/danielpalme/ReportGenerator/wiki/Settings.
```

### Attention
The [Publish Code Coverage Results](https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/PublishCodeCoverageResultsV1) task from Microsoft regenerates the report with different settings and based on the supplied _Coberatura_ file (see [announcement](https://docs.microsoft.com/en-us/azure/devops/release-notes/2019/sprint-150-update#cobertura-code-coverage-report-updates)). Moreover it does not necessarily use the latest version of _ReportGenerator_.
To disable the regeneration of the report, you can use the following environment variable in your build:
```yaml
disable.coverage.autogenerate: 'true'
```

## Screenshots
The screenshots show two snippets of the generated reports:
![Screenshot 1](img/screenshot1.png)
![Screenshot 2](img/screenshot2.png)

repository: danielpalme/ReportGenerator

gha_language: C#

repo_name: danielpalme/ReportGenerator


text:
---
layout: post
title: "May 4, 2020"
---

## May 4, 2020

### PM Trudeau

* $850M investment in Canadian and [international](https://europa.eu/global-response/) projects to research, develop and test treatments and vaccines for COVID-19
* It's the 75th anniversary of the Canadian-led liberation of the Netherlands - asks us all to pause for a moment of silence at 2:00 PM EST
* Working on how the relief programs (CERB, etc.) will change once Canadians start re-entering workforce - more details soon
* Did not commit to tabling a Budget this year - "we're still in a period of tremendous uncertainty and we'll continue to be transparent"
* Specific sectoral support for the economy (ex: airlines) will be announced in the coming days/weeks

### Ontario Premier Ford

* Beat their target of 16K tests per day by May 6 (17K conducted today). Ontario is now leading the country in daily testing volumes per capita
* They will have more "good news" about further openings of businesses and services later this week (hinted at parks, cottages, and retail)
* They are looking at the possibility of creating COVID-19 only hospitals so other hospitals can resume elective surgeries

### Québec Premier Legault

* The re-opening of retail business in Montreal has been pushed from May 11th to May 18th
* Elementary schools and daycares are still set to re-open on May 19th but could be delayed
* Non-essential businesses in regions outside of Montreal have begun to gradually re-open today, the CBC has prepared a [guide](https://newsinteractives.cbc.ca/localcovid19/?region=QC) on what's open or closed
* The province is still working towards ramping up the number of tests administered

repository: asad-a/gov

repo_name: asad-a/gov


text:
# logcat

	easter logcat

Underneath, this calls `adb logcat`, however, it does several extra things:

* Clear the log with `adb logcat -c`
* Filter it so that only relevant messages are shown

Typical usage is to run `easter logcat` first and then manually start your Moai app.
In most situations, the [run](run.md) command offers a more convenient way to run your app.


text:
# YouTube Live API PHP Wrapper
A simple, lightweight library to access YouTube Live API in PHP

## Installation via composer
Add it to your project via
`composer require adnanhussainturki/youtubeliveapi`

## Documentation
Check out the example in ``` examples ``` directory.

### Buy me a coffee
[![](https://img.buymeacoffee.com/api/?url=aHR0cHM6Ly9pbWcuYnV5bWVhY29mZmVlLmNvbS9hcGkvP25hbWU9YWRuYW50dXJraSZzaXplPTMwMCZiZy1pbWFnZT1ibWMmYmFja2dyb3VuZD1mZjgxM2Y=&creator=adnanturki&is_creating=building%20cool%20things%20every%20single%20f**king%20day.&design_code=1&design_color=%23ff813f&slug=adnanturki)](https://www.buymeacoffee.com/adnanturki)

### How to contribute
- Create a fork, make changes and send a pull request.
- Raise a issue

### License
Licensed under Apache 2.0. You can check its details [here](https://choosealicense.com/licenses/apache-2.0/ "here").

repository: domsamuka/YouTubeLiveAPI

repo_name: domsamuka/YouTubeLiveAPI


text:
# _PDX Solar System Website_

#### _An informative site that helps the user explore Portland while learning about the solar system, 11.8.16_

#### By _**Michael Andrade, Anne Belka, Adam Baker, and Quinn Schwartz**_

## Description

_Back in the day, the Oregon Museum of Science and Industry built a scale model of the solar system, with planets spread across the Portland city limits. We have created a new site to document what remains of these models, along with information on the originals.

Published at _

## Specifications

* _The program should have attractive content_
  * _Example in: User opens page_
  * _Example out: User says "neat!"_
* _The program should be media responsive_
  * _Example in: User opens website on phone_
  * _Example out: Website looks good_
* _The program should have cross browser compatibility_
  * _Example in: User opens website in FireFox_
  * _Example out: Website looks good_
  * _Navbar made up of planets_
  * _Navbar planets bring up info and large picture when clicked_
  * _click something to bring up full map with all planets and_
* _Maps API_
  * _a marker for each planet_
  * _name on hover for each planet_
  * _infowindow on click for each planet_
  * _orbits shown_
  * _The program should have clickable icons overlaid on top of a map of portland_
    * _Example in: User clicks sun icon_
    * _Example out: Page displays sun image and text_
  * _The program should have a hover effect that shows quick info about a planet_
    * _Example in: User hovers over sun icon_
    * _Example out: Page displays basic stats in a small pop-up_

## Known Bugs

_No known bugs_

## Support and contact details

_For questions and comments, contact any of the contributors through Github._

## Technologies Used

_Written with Jquery 3.1.1, bootstrap 3, and CSS3_

### License

*MIT*

Copyright (c) 2016 **_Michael Andrade, Anne Belka, Adam Baker, Quinn Schwartz_**

repository: albelka/pdx-solar-system

repo_name: albelka/pdx-solar-system


text:
---
title: 'Kubernetes Namespace 101'
date: 2018-11-29T16:54:08+00:00
author: vishal
layout: post
vantage_panels_no_legacy:
  - 'true'
siteorigin_page_settings:
  - 'a:6:{s:6:"layout";s:7:"default";s:10:"page_title";b:1;s:15:"masthead_margin";b:1;s:13:"footer_margin";b:1;s:13:"hide_masthead";b:0;s:19:"hide_footer_widgets";b:0;}'
categories:
  - containers
  - kubernetes
  - devops
tags:
  - kubernetes
image: namespace-101.jpg
description: Namespaces are Kubernetes objects which partition a single Kubernetes cluster into multiple virtual clusters.
published: true
---

![post-image]({{site.baseurl}}/images/blogs/namespace-101.jpg)

## Kubernetes Namespace
Namespaces are Kubernetes objects which partition a single Kubernetes cluster into multiple virtual clusters. Each Kubernetes namespace provides the scope for [`Kubernetes Names`](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/) it contains; which means that using the combination of an object name and a Namespace, each object gets an unique identity across the cluster.

By default, a Kubernetes cluster is created with the following three namespaces:

- **default**: By default all the resource created in Kubernetes cluster are created in the `default namespace`. By default the `default namespace` can allow applications to run with unbounded CPU and memory requests/limits (Untill someone set resource quota for the `default namespace`).
- **kube-public**: Namespace for resources that are publicly readable by all users. This namespace is generally reserved for cluster usage.
- **kube-system**:  It is the Namespace for objects created by Kubernetes systems/control plane.

## Prerequisites

- Basic experience with Linux/Unix system.
- Familiarity with Kubernetes.
- Kubernetes cluster to perform the demo.

### Create a Namespace.

- List the namespaces present in the Kubernetes cluster.

```
$ kubectl get namespaces

NAME          STATUS    AGE
default       Active    5m
kube-public   Active    5m
kube-system   Active    5m
```

We can create a Namespace in two ways either by using `kubectl create namespace` command or by using configuration file.

- Create a new namespace `my-namespace` with command.

```
$ kubectl create ns my-namespace
namespace/my-namespace created
```

- List the namespaces.

```
$ kubectl get namespace

NAME           STATUS    AGE
default        Active    8m
kube-public    Active    8m
kube-system    Active    8m
my-namespace   Active    3s
```

We can also create a namespace using the configuration file.

- Lets create a namespace from configuration file.

```yaml
apiVersion: v1
kind: Namespace
metadata:
  name: test-ns
```

- Deploy above file.

```
$ kubectl apply -f namespace.yaml
namespace/test-ns created
```

- List the namespaces.

```
$ kubectl get namespace

NAME           STATUS    AGE
default        Active    18m
kube-public    Active    18m
kube-system    Active    18m
my-namespace   Active    9m
test-ns        Active    2m
```

## Use-cases of Namespaces

### Partition Cluster resources.
Kubernetes Namespaces can be used to divide a cluster into logical partitions allowing a single large Kubernetes cluster to be used by multiple users and teams, or a single user with multiple applications. Each user, team, or application running in a Namespace, is isolated from every other user, team, or application in other Namespaces and they operate as if they are the sole user of the cluster (note that Namespaces do not provide network segmentation).

**Deploy application in specific namespace.**

Now we will see how to create a kubernetes object inside specific namespace.

- List the namespaces.

```
$ kubectl get namespace

NAME           STATUS    AGE
default        Active    18m
kube-public    Active    18m
kube-system    Active    18m
my-namespace   Active    9m
test-ns        Active    2m
```

- Lets create a pod from following configuration.

```yaml
apiVersion: v1
kind: Pod
metadata:
  name: mypod
  namespace: my-namespace
  labels:
     app: mypod
spec:
  containers:
  - name: mypod
    image: nginx:alpine
```
In above configuration, we have specified the namespace with field `namespace: my-namespace`. So this pod will be created inside the `my-namespace` namespace.

- Deploy a pod with above configuration.

```
$ kubectl apply -f mypopd.yaml
pod/mypod created
```

- List the pods present in `my-namespace` namespace.

```
$ kubectl get pod -n my-namespace

NAME      READY     STATUS             RESTARTS   AGE
mypod     1/1       Running            0          16s
```

**Bind user to specific namespace.**

By setting the context, we can bind a user to a specific namespace, so this namespace will be the default namespace for that user. You can do it either by modifying the `kubeconfig` file or using following command

- Create a Namespace for different teams like `dev, qa and production`

```
$ kubectl create ns dev   # Namespace for Developer team

$ kubectl create ns qa    # Namespace for QA team

$ kubectl create ns production  # Namespace for Production team
```

- Set the context for different user groups.

```
# Bind dev context to dev namespace
$ kubectl config set-context dev --namespace=dev --cluster=kubernetes --user=dev

# Bind qa context to QA namespace
kubectl config set-context qa --namespace=qa --cluster=kubernetes --user=qa

# Bind production context to production namespace
kubectl config set-context production --namespace=prod --cluster=kubernetes --user=production
```
Here we have binded Dev team to `dev` namespace, QA team to `qa` namespace and Production team to `production` namespace.
This specific namespaces will act as default namespace for paticular team assigned to it. For detailed information of Kubernetes context and kubeconfig follow the documentation given at [kubernetes.io](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/).

### Ability to specify resource consumption policies.
With [`Resource Quotas`](https://kubernetes.io/docs/concepts/policy/resource-quotas/) applied on namespaces, we can limit the cluster resources usage of a particular set of users.  A resource quota is responsible for limiting resource consumption per namespace. It also can limit the quantity of objects that can be created in a namespace by type, as well as the total amount of compute resources that may be consumed by resources in that namespace.

Now we will see how we can configure the resource quota for specific Namespace.

- Create a new `demo` namespace.
```
$ kubectl create namespace demo
namespace/demo created
```

- Create a resource qouta object for `demo` namespace.

```yaml
apiVersion: v1
kind: ResourceQuota
metadata:
  name: mem-cpu
  namespace: demo
spec:
  hard:
    requests.cpu: "0.5"
    requests.memory: 512Mi
    limits.cpu: "1"
    limits.memory: 1Gi
```
Here, we are specifying that in demo namespace; we can not request more than 0.5 CPU and 512Mi RAM overall. So if we already have a pod running with 256 Mi request; we would not be able to schedule a new pod, if that requires more than remaining 256 Mi memory. Similarly, we are setting the hard limit of 1 CPU and 1GB RAM for the namespace.

- Deploy this resource qouta object.
```
$ kubectl apply -f qouta.yaml
resourcequota/mem-cpu created
```

- Get the detailed information about the above created resource quota.

```yaml
$ kubectl get resourcequota mem-cpu --namespace=demo --output=yaml

apiVersion: v1
kind: ResourceQuota
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"v1","kind":"ResourceQuota","metadata":{"annotations":{},"name":"mem-cpu","namespace":"demo"},"spec":{"hard":{"limits.cpu":"1","limits.memory":"1Gi","requests.cpu":"0.5","requests.memory":"512Mi"}}}
  creationTimestamp: 2018-11-21T07:05:48Z
  name: mem-cpu
  namespace: demo
  resourceVersion: "6091"
  selfLink: /api/v1/namespaces/demo/resourcequotas/mem-cpu
  uid: dfd1002c-ed5b-11e8-ab3b-507b9d3bd0b6
spec:
  hard:
    limits.cpu: "1"
    limits.memory: 1Gi
    requests.cpu: 500m
    requests.memory: 512Mi
status:
  hard:
    limits.cpu: "1"
    limits.memory: 1Gi
    requests.cpu: 500m
    requests.memory: 512Mi
  used:
    limits.cpu: "0"
    limits.memory: "0"
    requests.cpu: "0"
    requests.memory: "0"
```
Here we can see the information about hard limit as well as used resources for given namespace.

- Deploy Demo1 application within this namespace. Whose resource request can be fulfilled by the resource quota set for this namespace.

```yaml
apiVersion: v1
kind: Pod
metadata:
  namespace: demo
  name: pod-demo1
  labels:
     app: demo1
spec:
  containers:
  - name: demo1
    image: nginx:alpine
    ports:
    - containerPort: 80
    resources:
      limits:
        memory: "400Mi"
        cpu: "0.3"
      requests:
        memory: "300Mi"
        cpu: "0.2"
```

- Deploy this demo1 application.

```
$ kubectl apply -f demo1.yaml
pod/pod-demo1 created
```
This application resource request was within the resource quota's specification. So this pod got deployed.

- Now lets create another pod in `demo` namespace. Whose resource request is exceeding the resource quota set for the namespace. And let's see what happens.

```yaml
apiVersion: v1
kind: Pod
metadata:
  namespace: demo
  name: demo-pod2
  labels:
     app: demo
spec:
  containers:
  - name: demo
    image: nginx:alpine
    ports:
    - containerPort: 80
    resources:
      limits:
        memory: "700Mi"
        cpu: "0.6"
      requests:
        memory: "600Mi"
        cpu: "0.6"
```

- Lets try to deploy this demo2 application.

```
$ kubectl apply -f demo2.yaml

Error from server (Forbidden): error when creating "demo2.yaml": pods "demo-pod2" is forbidden: exceeded quota: mem-cpu, requested: limits.memory=700Mi,requests.cpu=600m,requests.memory=600Mi, used: limits.memory=400Mi,requests.cpu=200m,requests.memory=300Mi, limited: limits.memory=1Gi,requests.cpu=500m,requests.memory=512Mi
```
This error occured because this pod is requesting the greater resources than specified in resource quota.

- Lets delete the `demo` namespace.
With the [Role-based access control (RBAC)](https://kubernetes.io/docs/reference/access-authn-authz/rbac/), we can control the access permissions within particular Namespace. Cluster Admin can controls the access permission granted to the user or groups of users in specific namespaces, this can be achieved by the help of Role Binding.

### A unique scope for Kubernetes Names.
Kubernetes namespace provides the scope for [`Kubernetes Names`](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/). Within the Namespace an Object can be referred by a short name like `my-app` and the Namespace adds further scope to identify the object, e.g. `my-app.my-namespace`. Within the Namespace the name of the object must be unique and the combination of Name and Namespace (e.g. `my-app.my-namespace` ) must have to be unique at cluster level.

### Summary
Namespaces are essential objects for dividing and managing Kubernetes clusters. Namespaces allow us to logically segregate and assign resources to individual users, teams or applications. Namespaces provide the basic building blocks for resource usage allowance, access control and isolation for applications, users or groups of users. By using Namespaces, you can increase resource effeciencies as a single cluster can now be used for a diverse set of workloads.

### References
- **Kubernetes Namespaces** : https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
- **Kubernetes Names** : https://kubernetes.io/docs/concepts/overview/working-with-objects/names/
- **Role-based access control (RBAC)** : https://kubernetes.io/docs/reference/access-authn-authz/rbac/
- **Resource Quotas** : https://kubernetes.io/docs/concepts/policy/resource-quotas/)
- **Kubeconfig** : https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/

repository: sharathdt/cloudyuga-new

repo_name: sharathdt/cloudyuga-new


text:
# In addition to the original action, this forked version changes an environment variable (a variable in the "environment" field in task-definition.json), or appends it if does not yet exist. Usage: environment-variable-name, environment-variable-value. Names are obvious: environment-variable-name for the variable name that you want to change, environment-variable-value for its value.

# If the "logconfiguration-options-awslogs-group" variable is set, modifies logConfiguration options awslogs-group as stage + _containers. # Done to set different logging configurations depending on environment. Code untested

# Code is untested. Works for me. PRs welcome

## Amazon ECS "Render Task Definition" Action for GitHub Actions

Inserts a container image URI into an Amazon ECS task definition JSON file and (optionally) modifies any existing container environment variables, adding it to the array if the variable does not already exist.

**Table of Contents**

## License Summary

This code is made available under the MIT license.


text:
---
layout: post
status: publish
published: true
title: Sun Buys Mysql
author: atlantageek
author_login: atlantag
author_email<EMAIL_ADDRESS>wordpress_id: 15
wordpress_url: http://www.atlantageek.com/?p=15
date: 2008-01-16 09:38:44 -05:00
categories:
- Mysql
tags:
- Mysql
- sun
- open source
comments: true

---
Excellent news. Sun acquires Mysql.

MySQL AB :: Kaj Arnö

Three Reasons why Sun bought MySQL

First: Sun has seen its technology base crumble with the rise of Microsoft on the enterprise site and Linux on the Anti-Microsoft side.   Java has helped them slow their decline but even there they are not the only Java tool shop in town. Now with MySQL they have a chance.  A while back they did a deal with Oracle where they sold a DB appliance with Oracle being the DB. I never saw one being used but it seemed like a great concept.    With the appliance the DB will already be tuned to the hardware.

Second Sun gets to capitalize on its enterprise good name.  MySQL is an excellent product but risk averse companies do not consider it an option. With sun's name behind MySQL it will get an air of legitimacy.  So Sun gets to add value to MySQL with very little effort and gets to reap the rewards of the legitimacy with little effort.

Last of all

Sun gets it sales force back in the Web based companies contact list. All these companies trying to be corporate citizens are sending Sun their $500 to pay for MySQL and while they are on the phone they get to hear about Sun's new hardware lineup.  Really when was the last time you went to Sun instead of Dell for your web server needs.

extension: markdown


text:
## Reevaluate functions when called, v3
Originally published: 2009-05-14 15:17:23
Last updated: 2009-05-14 15:18:41
Author: geremy condra

This small snippet came about as a result of this discussion on python-ideas, requesting a new syntax for dynamically reevaluating a function each time it is called.

It is a minor alteration of version 2 of this recipe that, instead of calling eval() on string annotations, simply requires that the annotations be callable and calls them at runtime.

gha_language: Python


text:
---
layout: post
title: Setting up Home Assistant/Hassio (Part 2)
tags: [ homeassistant, centos, poweredge ]
---

Please read [Part 1]({% link _posts/2020-05-20-setting-up-home-assistant-part-1.md %})
of my guide if you haven't yet done so.

# Beyond Home Assistant

With Home Assistant, formally known as Hassio, all up and running the next step
is to run Docker containers using the Supervisor. I should mention that running
Docker containers through Home Assistant's Supervisor is different than typical
runtimes but it's not difficult if you're familiar building Docker containers.
How this is accomplished is by using
[Add-ons](https://developers.home-assistant.io/docs/add-ons).

*[IPMI]: Intelligent Platform Management Interface
Since Home Assistant is running on a PowerEdge R420 I wanted it to capture as
many stats about the system as possible. The [System
Monitor](https://www.home-assistant.io/integrations/systemmonitor/) exposes some
basic information about the host, but the PowerEdge offers much more such as fan
speed, various power usage and info, and temperature. The problem is that
there's no built in integration in Home Assistant to access this information. I
will have to do this myself.

# Getting the information

First thing to do is access the information. A big of searching yielded me to
discover [ipmitool](https://github.com/ipmitool/ipmitool). After installation I
ran a command to get all sensor information:

```shell
$ sudo ipmitool sensor
SEL              | na         | discrete   | na    | na        | na        | na
| na        | na        | na
Intrusion        | 0x0        | discrete   | 0x0080| na        | na        | na
| na        | na        | na
Fan1A RPM        | 1680.000   | RPM        | ok    | na        | 720.000   |
840.000   | na        | na        | na
Fan1B RPM        | 1560.000   | RPM        | ok    | na        | 720.000   |
840.000   | na        | na        | na
Fan2A RPM        | 2160.000   | RPM        | ok    | na        | 720.000   |
840.000   | na        | na        | na
Fan2B RPM        | 2280.000   | RPM        | ok    | na        | 720.000   |
840.000   | na        | na        | na
Fan3A RPM        | 2280.000   | RPM        | ok    | na        | 720.000   |
840.000   | na        | na        | na
Fan3B RPM        | 2280.000   | RPM        | ok    | na        | 720.000   |
840.000   | na        | na        | na
Fan4A RPM        | 2280.000   | RPM        | ok    | na        | 720.000   |
840.000   | na        | na        | na
Fan4B RPM        | 2160.000   | RPM        | ok    | na        | 720.000   |
840.000   | na        | na        | na
Fan5A RPM        | 2160.000   | RPM        | ok    | na        | 720.000   |
840.000   | na        | na        | na
Fan5B RPM        | 2160.000   | RPM        | ok    | na        | 720.000   |
840.000   | na        | na        | na
...
```

*[MQTT]: Message Queuing Telemetry Transport
Eureka! This is exactly what I wanted. Even better, there is a command to get
format this information as CSV. I just need to expose this to Home Assistant.
There are many avenues that you can take. I could have used a [Command
Sensor](https://www.home-assistant.io/integrations/sensor.command_line/) but
that would be a lot of duplication and might even strain the IPMI module with so
many ad-hoc calls. The tool already collates all the information together, so it
would be best to simply take information and go from there. The answer is to use
MQTT. Home Assistant has built in support and a [discovery
protocol](https://www.home-assistant.io/docs/mqtt/discovery/) for reducing
config overhead. All you need to do is publish a JSON payload to a specific
topic and it will take care of the rest.

# Writing an add-on

I decided to turn this into an add-on because it would be easier to manage and
reduce hardcoding many values, which is simplifies maintainability and
portability. Following the [developer guide to making an
add-on](https://developers.home-assistant.io/docs/add-ons) wasn't as straight
forward as I was expecting and made many mistakes along the way.

*[STDOUT]: Standard Output
The biggest issue is becoming familiar with the internals. The next issue is
debugging, mainly on the MQTT side of things. I found the attributes in the
documentation confusing and had to cross-reference with other integrations and
trial and error to figure out what attributes can be used for the type of
sensors I'm trying to write. At least we had good ol STDOUT to capture outputs
for analysis.

The main caveat with Home Assistant's MQTT discovery is that there's typically
two phases, depending on the type of sensor you're dealing with. A config phase,
and a state phase. The first typically initialising the sensor with meta data
such as name and device info etc, while the latter being the value of the sensor
itself.

After figuring how to communicate to Home Assistant via MQTT the next step was
to write the program. You can [view the actual
code](https://github.com/evilmarty/hassio-addons/blob/master/ipmi/rootfs/etc/services.d/ipmi/run)
but the basic logic being:

1. Read sensor info from IPMI
2. Iterate over each row
3. Publish configuration for row
4. Read sensor info from IPMI
5. Iterate over each row
6. Publish sensor value for row
7. Pause then jump back to step 4

Using the [Home Assistant Base
Image](https://github.com/home-assistant/docker-base) provides us with some
niceties such as config parsing and communicating with the Supervisor and other
services. It also provides the amazing [jq](https://stedolan.github.io/jq/)
tool, which is used to massage data and construct the MQTT payload.

All that's required to finalise is writing the `config.json`. The main things I
want to point out is that marking the "startup" as a "services" and require
"mqtt" and to mount the IPMI device (/dev/ipmi0) into the container.

![IPMI Sensors in Home
Assistant](/assets/images/home-assistant-ipmi-entities.jpg)

# Creating a repository

While I could have this as a [local
add-on](https://developers.home-assistant.io/docs/add-ons/testing), this wasn't
the only add-on that I wrote nor be the last. Instead, I created [repo on
GitHub](https://github.com/evilmarty/hassio-addons), added a `repository.json`
file, moved my IPMI add-on as a folder, and then added it the Add-on Store.

![The Add-on Store](/assets/images/home-assistant-addon-store.jpg)

Best thing is it's easy to share Add-on repositories, so you're welcome to add
mine should you wish. It includes a few other apps which may be useful.

gha_license_id: NOASSERTION


text:
## Setup
(For GeyserConnect to work you need 2 UDP ports open, by default these are `19132` and `19133`.)
1. Download the latest build from [Jenkins](https://ci.nukkitx.com/job/GeyserMC/job/GeyserConnect/job/master/)
2. Edit the config as needed
3. Start the server as you do with a normal Geyser install. EG: `java -Xms1024M -jar GeyserConnect.jar` (More info on [Creating a Startup Script](Creating-a-Startup-Script))
4. Connect to it to make sure its all working.

## DNS and Docker
There are both [DNS](https://github.com/GeyserMC/GeyserConnect/tree/master/bind9) (using bind9) and [Docker](https://github.com/GeyserMC/GeyserConnect/tree/master/docker) configs in the repo if you would like to use them.

## Config
* `address` - The IP address that will listen for connections.
* `remote-address` - The IP address to forward players to, this needs to be accessible by the client. Set it to `auto` to grab your public IP automatically.
* `port` - The port that will listen for connections.
* `debug-mode` - If debug messages should be sent through console.
* `max-players` - Maximum amount of players that can connect.
* `motd` - MOTD to display.
* `geyser`
  * `port` - The port that will listen for connections.
  * `debug-mode` - If debug messages should be sent through the console, has to be enabled in both places to work.
  * `shutdown-time` - The time to wait after the last player disconnects to shutdown the proxy, in seconds. Set to -1 to disable.
* `servers` - A list of servers to show for everyone build from `address`, `port`, `online` and `bedrock` all optional apart from address.
* `custom-servers`
  * `enabled` - Should custom servers be enabled for users.
  * `max` - Max amount of custom servers per user.
  * `storage-type` - Storage engine for custom servers. Can be `json`, `sqlite`, `mysql`
  * `mysql` - Connection information for the MySQL database if enabled

The default config can be found [here](https://github.com/GeyserMC/GeyserConnect/blob/master/src/main/resources/config.yml).

repository: SinonGame/GeyserWikiTranslate

repo_name: SinonGame/GeyserWikiTranslate


text:
# Curvularia senegalensis (Speg.) Subram., 1956 SPECIES

#### Status
ACCEPTED

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

#### Published in
J. Indian bot. Soc. 35(4): 467 (1956)

#### Original name
Brachysporium senegalense Speg., 1914

### Remarks
null

repository: mdoering/backbone

repo_name: mdoering/backbone


text:
---
title: different
description: Different validation decorator will check two inputs whether they are different or not. It is just opposite of compare decorator.
author: rxcontributorone

---
# When to use
Suppose you want to create a user form in which you want to compare firstname and LastName which are entered by the user which contains fields like firstname and lastname, password Here depending upon the requirement these scenarios may arise.
1. The Name of firstName field on which comparison is done.
2. The Custom Message on password field.
3. Apply dynamic validation, If the validation will be changed based on some criteria in the application.

Let’s see how different validator fulfil the need.

# Basic Different Validation
First we need to create a User Model class and define property of Password and Confirm Password in the model to achieve the functional need of point 1.

[!code-typescript[](\assets\examples\reactive-form-validators\decorators\different\add\account-info.model.ts?condition="tab_1=='basicadd'"&type=section)]
[!code-typescript[](\assets\examples\reactive-form-validators\decorators\different\edit\account-info.model.ts?condition="tab_1=='basicedit'"&type=section)]

Now, we need to create a `FormGroup` in the component. To achieve this we need to add `RxFormBuilder`. The `RxFormBuilder` is an injectable service that is provided with the `RxReactiveFormsModule`. Inject this dependency by adding it to the component constructor.
Here we have covered Add and Edit form operations.

[!TabGroup]
# [Add](#tab\basicadd)
[!code-typescript[](\assets\examples\reactive-form-validators\decorators\different\add\different-add.component.ts)]
# [Edit](#tab\basicedit)
[!code-typescript[](\assets\examples\reactive-form-validators\decorators\different\edit\different-edit.component.ts)]
***

[conditional-paragraph?condition="tab_1=='basicedit'"]The below code is `account-info-data.json` for getting data from the server

[!code-typescript[](\assets\examples\different\edit\account-info-data.json?condition="tab_1=='basicedit'"&type=section)]

Next, we need to write html code.
[!code-typescript[](\assets\examples\reactive-form-validators\decorators\different\add\different-add.component.html?condition="tab_1=='basicadd'"&type=section)]
[!code-typescript[](\assets\examples\reactive-form-validators\decorators\different\edit\different-edit.component.html?condition="tab_1=='basicedit'"&type=section)]

[!example(?condition="tab_1=='basicadd'"&type=tab&title=diiferent Decorator for add Example)]
<app-different-add></app-different-add>

[!example(?condition="tab_1=='basicedit'"&type=tab&title=different Decorator for edit Example)]
<app-different-edit></app-different-edit>

# DifferentConfig
Below options are not mandatory to use in the `@different()` decorator. If needed then use the below options.

|Option | Description |
|--- | ---- |
|[conditionalExpression](#conditionalExpression) | Different validation should be applied if the condition is matched in the `conditionalExpression` function. Validation framework will pass two parameters at the time of `conditionalExpression` check. Those two parameters are current `FormGroup` value and root `FormGroup` value. You can apply the condition on respective object value.If there is need of dynamic validation means it is not fixed in client code, it will change based on some criterias. In this scenario you can bind the expression based on the expression value is coming from the web server in `string` format. The `conditionalExpression` will work as same as client function. |
|[fieldName](#fieldName) | Current property is matched with the particular property. so we need to pass particular property name. |
|[message](#message) | To override the global configuration message and show the custom message on particular control property. |

## conditionalExpression
Type :  `Function`  |  `string`

Different validation should be applied if the condition is matched in the `conditionalExpression` function. Validation framework will pass two parameters at the time of `conditionalExpression` check. Those two parameters are current `FormGroup` value and root `FormGroup` value. You can apply the condition on respective object value.
If there is need of dynamic validation means it is not fixed in client code, it will change based on some criterias. In this scenario you can bind the expression based on the expression value is coming from the web server in `string` format. The `conditionalExpression` will work as same as client function.

[!codeExample(?title=conditionalExpressionExampleFunction)]

[!codeExample(?title=conditionalExpressionExampleString)]

[!TabGroup(?showHideCondition="conditionalExpression")]
# [Model](#tab\conditionalExpressionmodel)
[!code-typescript[](\assets\examples\reactive-form-validators\decorators\different\conditionalExpression\account-info.model.ts)]
# [Component](#tab\conditionalExpressionComponent)
[!code-typescript[](\assets\examples\reactive-form-validators\decorators\different\conditionalExpression\different-conditional-expressions.component.ts)]
# [Html](#tab\conditionalExpressionHtml)
[!code-typescript[](\assets\examples\reactive-form-validators\decorators\different\conditionalExpression\different-conditional-expressions.component.html)]
***

[!example(?type=section&clickEventCode="conditionalExpression=!conditionalExpression"&title=different decorator with conditionalExpression)]
<app-different-conditionalExpression></app-different-conditionalExpression>

## fieldName
Type :  `string`
Current property is matched with the particular property. so we need to pass particular property name.

[!codeExample(?title=fieldNameExample)]

[!TabGroup(?showHideCondition="fieldName")]
# [Model](#tab\fieldNamemodel)
[!code-typescript[](\assets\examples\reactive-form-validators\decorators\different\fieldName\account-info.model.ts)]
# [Component](#tab\fieldNameComponent)
[!code-typescript[](\assets\examples\reactive-form-validators\decorators\different\fieldName\different-field-name.component.ts)]
# [Html](#tab\fieldNameHtml)
[!code-typescript[](\assets\examples\reactive-form-validators\decorators\different\fieldName\different-field-name.component.html)]
***

[!example(?type=section&clickEventCode="fieldName=!fieldName"&title=different decorator with fieldName)]
<app-different-fieldName></app-different-fieldName>

## message
Type :  `string`
To override the global configuration message and show the custom message on particular control property.

[!codeExample(?title=messageExample)]

[!TabGroup(?showHideCondition="message")]
# [Model](#tab\messageModel)
[!code-typescript[](\assets\examples\reactive-form-validators\decorators\different\message\account-info.model.ts)]
# [Component](#tab\messageComponent)
[!code-typescript[](\assets\examples\reactive-form-validators\decorators\different\message\different-message.component.ts)]
# [Html](#tab\messageHtml)
[!code-typescript[](\assets\examples\reactive-form-validators\decorators\different\message\different-message.component.html)]
***

[!example(?type=section&clickEventCode="message=!message"&title=different decorator with custom message)]
<app-different-message></app-different-message>

# Complete Different Example

This Complete Different example which includes all the DifferentConfig properties will fulfil the requirement of scenarios 1 and 2

[!TabGroup]
# [Example](#tab\completeexample)
<app-different-complete></app-different-complete>
# [Model](#tab\completemodel)
[!code-typescript[](\assets\examples\reactive-form-validators\decorators\different\complete\account-info.model.ts)]
# [Component](#tab\completecomponent)
[!code-typescript[](\assets\examples\reactive-form-validators\decorators\different\complete\different-complete.component.ts)]
# [Html](#tab\completehtml)
[!code-typescript[](\assets\examples\reactive-form-validators\decorators\different\complete\different-complete.component.html)]
***

# Dynamic Different Example
[!TabGroup]
# [Example](#tab\dynamicexample)
<app-different-dynamic></app-different-dynamic>
# [Model](#tab\dynamicmodel)
[!code-typescript[](\assets\examples\reactive-form-validators\decorators\different\dynamic\account-info.model.ts)]
# [Component](#tab\dynamiccomponent)
[!code-typescript[](\assets\examples\reactive-form-validators\decorators\different\dynamic\different-dynamic.component.ts)]
# [Json](#tab\dynamicjson)
[!code-typescript[](\assets\examples\reactive-form-validators\decorators\different\dynamic\dynamic.json)]
# [Html](#tab\dynamichtml)
[!code-typescript[](\assets\examples\reactive-form-validators\decorators\different\dynamic\different-dynamic.component.html)]
***

repository: AmirFawzy/rxweb

repo_name: AmirFawzy/rxweb


text:
# mongoid\_optimistic\_locking

This gem helps to abstract the ["Update if Current"](http://www.mongodb.org/display/DOCS/Atomic+Operations#AtomicOperations-%22UpdateifCurrent%22) method which may be used as a replacement for [transactions in Mongo](http://docs.mongodb.org/manual/faq/developers/#how-do-i-do-transactions-and-locking-in-mongodb).

The gem is an addon over [Mongoid ODM](http://mongoid.org/) and is based on [ActiveRecord's Optimistic Locking](http://api.rubyonrails.org/classes/ActiveRecord/Locking/Optimistic.html).

## Compatibility

Works with *Mongoid 3*.

For Mongoid 2 use version 0.0.2

## Rails 3 Installation

Add the gem to your `Gemfile`:

    gem 'mongoid_optimistic_locking'

## Usage

To use it, all you have to do is add include `Mongoid::OptimisticLocking`:

    class Post
      include Mongoid::Document
      include Mongoid::OptimisticLocking
      field :text
    end

This will add a `_lock_version` field in the document which will be incremented every time a save is called.
Be sure to rescue `Mongoid::Errors::StaleDocument` to handle applicative logic in case the object was changed.

For example:

    class PostController < ApplicationController
      ## Adds an "UPDATE: ...some text..." to an existing document
      def add_update
        begin
          post = Post.find(params[:id])
          post.text += "---UPDATE---  " + params[:more_text]
          post.save
        rescue Mongoid::Errors::StaleDocument
          retry
        end
      end
    end

That's it!

## Embedded Document Caveats

While `Mongoid::OptimisticLocking` can be used to some degree within embedded documents, there are certain limitations due to Mongoid's document embedding callback structure. Consider the following example:

    class Post
      include Mongoid::Document
      field :text
      embeds_many :comments
    end

    class Comment
      include Mongoid::Document
      include Mongoid::OptimisticLocking
      embedded_in :post
      field :text
    end

    post = Post.new
    comment = post.comments.build(:text => 'hello')
    comment.save # will use optimistic locking checks
    post.save # will not use optimistic locking checks

## Open sourced by

[Boxee](http://www.boxee.tv)

## References
[Mongo Developer FAQ - How do I do transactions/locking?](http://docs.mongodb.org/manual/faq/developers/#how-do-i-do-transactions-and-locking-in-mongodb)

[Mongo Atomic Operations - "Update if Current"](http://www.mongodb.org/display/DOCS/Atomic+Operations#AtomicOperations-%22UpdateifCurrent%22)

[Presentation from "Startup Day" on Mongoid Optimistic Locking](https://speakerdeck.com/u/burgalon/p/mongoid-optimistic-locking)


text:
# Brainstream

Turn the web into audio streams

## Environment Setup

If you don't already have yarn installed on your local machine please execute below command to install yarn:

```
npm install -g yarn
```

### Installing Dependencies

On the root directory of the project please execute below command to install all the project dependencies:

```
yarn install
```

### Initialize Environment variables

```
cp `.env.example` to `.env`
```

### Starting application

On the root directory of the project please execute below command to start the tutorial application:

```
yarn start
```

## Learn More

This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).

repository: squanto/brainstream

gha_language: JavaScript

repo_name: squanto/brainstream


text:
Build the image with
```
docker build -t hello-pythonic-world .
```.

Once finished, execute the container  with:
```
docker run hello-pythonic-world
```.

## Override the entry point
```
docker run hello-pythonic-world cat /etc/issue
```

## List and remove unused images
```
docker image ls
docker image rmi hello-pythonic-world
```

repository: gmodena/wmf-docker-thirty-minutes

repo_name: gmodena/wmf-docker-thirty-minutes


text:
# ATX-Displacement-Alert
A Tool to identify displacement risk in Austin, TX.

## MISSION:
There is no local, real-time tracking of eviction and (more generally) displacement data for Austin, Texas. While Evictionlab offers great insight into evictions in the Austin metro area through 2016 there is no way to assist people who are currently at-risk of being evicted.

Through this project, we will develop a tool to map current displacement risk for residents of Austin, Texas (inspired by a New York city based tool http://map.dapmapnyc.org/app/). On-the-ground activists would be able to use the geographic information to cut turf, create walk lists, and canvass door-to-door, connecting Austin residents at risk of displacement with useful resources and information they can utilize to prevent or fight back against displacement.

## SOLUTION:
We are looking to create an interactive map web application, with multiple layers overlayed on the map to describe the risk of resident/tenant displacement. Because the real-time eviction filings provide only zip code level data and represent only a part of all displacements, we have sought to use multiple data sources that provide both a higher level of resolution (i.e. we want data that is localized on areas smaller than zip code level) and a more complete sketch of the factors that correlate with displacement.

Currently, we aim to describe the risk of displacement using the following risk factors:
1. recent eviction filings (zip code resolution)
2. tax delinquency parcels (street address resolution)
3. new building sales (neighborhood/zipcode resolution)
4. new building construction permits (street address resolution)
5. eviction rates from 2000-2016 (block group resolution).
6. poverty rates from 2000-2016 (block group resolution).
7. median property value from 2000-2016 (block group resolution).
8. percent renter occupied from 2000-2016 (block group resolution).
9. population size from 2000-2016 (block group resolution).

It is clear that just overlaying each of the above risk factors on a map may not be the most useful or user-friendly way to describe the risk of displacement. Thus, each risk factor may need to be restricted to exclude irrelevant data, or weighted by other factors to highlight subsets that most clearly are associated with displacement risk.

*FOR MORE INFORMATION ABOUT THESE DATA SOURCES, LOOK AT THE README HERE: https://github.com/brandonmichaelgarcia/ATX-Displacement-Alert/blob/master/Data%20Source%20Planning/README-DataSources.md*

## OVERVIEW OF TASKS/CHALLENGES:
* Identify methods to best weight/adjust risk factors to improve relevance.
* Identify tax delinquency parcels that are most relevant to displacement risk.
* Identify new building sales that are most relevant to displacement risk.
* Identify building construction permits that are most relevant to displacement risk.
* Identify risk formula to best combine risk factors.
* Build script to use for regular web-scraping of recent eviction filings from a dynamically generated webpage.
* Build database supporting querying for relevant data to display in a heat map layer.
* Build web application that supports viewing multiple heat map layers describing risk.
* Build functionality to provide animated time-lapse of historical data.


text:
## Resources

<br>

* https://docs.python.org/3/library/functions.html#open
* https://docs.python.org/3/library/os.html
* https://docs.python.org/3/library/os.path.html
* https://en.wikipedia.org/wiki/Unix_time
* https://docs.python.org/3/library/csv.html
* https://realpython.com/python-csv/


text:
---
templateKey: about-page
title: Imprint
---
### Imprint

This website is a service of our team at AguaLabs GmbH.

> **AguaLabs GmbH**
>
> Business address: Lintzstr. 14, 54290 Trier, Germany
>
> Managing director: Dr. Marc Palm
>
> Mobile: +49 (0) 176 3434 0377
>
> Email<EMAIL_ADDRESS>>
> Court of registration: Amtsgericht Wittlich
>
> Registration number: HRB 44188
>
> VAT ID: DE136831569
>
> TAX ID: 27/202/50193

## Links to or from third-party websites

This website includes links to third-party websites that may be of interest to you. We are not responsible for the accuracy or reliability of information provided on third-party websites and links to third-party websites should not be taken as an endorsement of those websites by us. Similarly, links to our website from third-party websites should not be taken as an endorsement by us of the content or the owners of those websites.

repository: agualabs/webpage

repo_name: agualabs/webpage


text:
# Lookup Plugins #

## Introduction ##

Lookup plugins expand the functionality of Jerakia lookups and have the ability to read and maniplate the lookup request.

## Installation ##

Lookups are loaded from `lib/jerakia/lookup/plugin/<name>.rb`.  They can either be shipped as rubygems or placed locally in the `plugindir` defined in `jerakia.yaml` under the same relative filesystem structure

## Writing plugins ##

A plugin defines a set of methods in it's namespace that can access the lookup scope and request objects.  The boiler plate for a lookup function looks like

    class Jerakia::Lookup::Plugin
      module Myplugin
        def my_method
        ...
        end
      end
    end

## Using plugins ##

Plugins are loaded by using the `:use` argument to the lookup call, and their methods available using `plugin.name.method`  for example:

    lookup :default,  :use => :myplugin do
      ...
      plugin.myplugin.my_method
    end

The `:use` parameter also supports an array if you are using more than one plugin

    lookup :default, :use => [ :myplugin, :hiera ] do
    ...
    end

## Example ##

In this not highly imaginative example, we'll create a custom plugin called _mycorp_ that provides a method for auto-determining an environment name (not the puppet environment) based on the first letter of a hostname, eg: `pweb01 => prod` and `dweb01 => dev` and using that value in the search hierarchy.

    # cd /etc/jerakia/lib
    # vim jerakia/lookup/plugin/mycorp.rb

We are assuming your plugindir is set to `/etc/jerakia/lib`

    class Jerakia::Lookup
      module Mycorp

        def env
          case scope[:hostname][0]
          when "d"
            "dev"
          when "p"
            "prod"
          end
        end

      end
    end

Now we have created our lookup we can use it in a lookup as:

    lookup :default, :use => :mycorp do

      datasource :file, {
        :format         => :yaml,
        :docroot        => "/var/lib/jerakia",
        :enable_caching => true,
        :searchpath     => [
          "hostname/#{scope[:hostname]}",
          "environment/#{plugin.mycorp.env}",
          "common"
        ]
      end

    end

Let's expand on that example and use the rewrite_lookup method from the hiera plugin to make our lookups compatible with hiera...

    lookup :default, :use => [ :hiera, :mycorp ] do

      datasource :file, {
        :format         => :yaml,
        :docroot        => "/var/lib/jerakia",
        :enable_caching => true,
        :searchpath     => [
          "hostname/#{scope[:hostname]}",
          "environment/#{plugin.mycorp.env}",
          "common"
        ]
      end

      plugin.hiera.rewrite_lookup

    end

## Capabilities ##

Plugins are not only capable of reading the lookup request, they are capable of modifying it too (plugin.hiera.rewrite_lookup for example will delete the namespace and modify the key to make the datasource backend compatible with hiera layouts).  Each lookup is passed a copy of the request and scope objects therefore plugins from one lookup will not affect the scope or request of the next lookup.

repository: jerakia/jerakia

gha_language: Ruby

repo_name: jerakia/jerakia