text:
# Changelog

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

### [2.0.4](https://github.com/dgreif/homebridge-petsafe-smart-feed/compare/v2.0.4-beta.0...v2.0.4) (2022-08-27)

### [2.0.4-beta.0](https://github.com/dgreif/homebridge-petsafe-smart-feed/compare/v2.0.3...v2.0.4-beta.0) (2022-08-27)

### Bug Fixes

* update dependencies ([e28d938](https://github.com/dgreif/homebridge-petsafe-smart-feed/commit/e28d93822aecc4853bd3cde961c04e1f4c129caa))
* update homebridge-ui dependencies ([8a70fa2](https://github.com/dgreif/homebridge-petsafe-smart-feed/commit/8a70fa2347687f7e2fa6255382b5c2643caedfec))

### [2.0.3](https://github.com/dgreif/homebridge-petsafe-smart-feed/compare/v2.0.2...v2.0.3) (2021-09-18)

### Bug Fixes

* update dependencies ([22c74c1](https://github.com/dgreif/homebridge-petsafe-smart-feed/commit/22c74c1b3c4d6e773c4164d65e939d08680d29de))

### [2.0.2](https://github.com/dgreif/homebridge-petsafe-smart-feed/compare/v2.0.1...v2.0.2) (2021-08-08)

### Bug Fixes

* fetch new auth token before current one expires ([be3397f](https://github.com/dgreif/homebridge-petsafe-smart-feed/commit/be3397f8f3db18a140d2d5955590bd88dd872949))

### [2.0.1](https://github.com/dgreif/homebridge-petsafe-smart-feed/compare/v2.0.0...v2.0.1) (2021-08-07)

### Bug Fixes

* disable http2 for requests ([76b3921](https://github.com/dgreif/homebridge-petsafe-smart-feed/commit/76b39213dd64dabc112e0cd3843a5381d690b245))

## [2.0.0](https://github.com/dgreif/homebridge-petsafe-smart-feed/compare/v1.3.2...v2.0.0) (2021-08-06)

### ⚠ BREAKING CHANGES

* Drop support for Node < 12
* Drop support for homebridge < 1.0.0
* PetSafe is migrating to a new API, with a new setup for authentication.  Your previous `token` will no longer work, and you will need to generate a new `token` after updating the plugin.  In `homebridge-config-ui-x`, open the PetSafe plugin settings and click "Generate New Auth Token" to get started.  If you are not using config-ui-x, run `npx -p homebridge-petsafe-smart-feed petsafe-auth-cli` from your terminal

### Features

* use new petsafe api ([b118125](https://github.com/dgreif/homebridge-petsafe-smart-feed/commit/b1181251b72d6e4b62161921e7723f4b8f57ae7e))

### Bug Fixes

* small tweaks to custom ui ([c487ec3](https://github.com/dgreif/homebridge-petsafe-smart-feed/commit/c487ec320997620ac712d408b3f22f4e912d071d))

* drop support for older node and homebridge versions ([efdf0ff](https://github.com/dgreif/homebridge-petsafe-smart-feed/commit/efdf0ff43139720ac59fb4ccbf6ef76cdbce7c9d))

### [1.3.2](https://github.com/dgreif/homebridge-petsafe-smart-feed/compare/v1.3.1...v1.3.2) (2021-07-30)

### Bug Fixes

* update dependencies ([4ed55b1](https://github.com/dgreif/homebridge-petsafe-smart-feed/commit/4ed55b1e5fea208c835f56ddc07865e3532cafa4))

### [1.3.1](https://github.com/dgreif/homebridge-petsafe-smart-feed/compare/v1.3.0...v1.3.1) (2021-05-17)

### Bug Fixes

* update dependencies ([f1aff05](https://github.com/dgreif/homebridge-petsafe-smart-feed/commit/f1aff05ce483b4c3d030312e93218ccf4b7f22bb))
* use latest rxjs ([ef6d1eb](https://github.com/dgreif/homebridge-petsafe-smart-feed/commit/ef6d1ebf22bb65788ba51c3be1387b68afbd9396))

## [1.3.0](https://github.com/dgreif/homebridge-petsafe-smart-feed/compare/v1.2.6...v1.3.0) (2021-04-11)

### Features

* custom ui for auth token ([c02011c](https://github.com/dgreif/homebridge-petsafe-smart-feed/commit/c02011c495985f3de6f5fba0f28f6bcbe5e6cba0))

### Bug Fixes

* update dependencies ([809d2ae](https://github.com/dgreif/homebridge-petsafe-smart-feed/commit/809d2ae6a4fc5f55704a8fb61edbc2ee698ac172))
* use string for SerialNumber to fix HB warning ([#21](https://github.com/dgreif/homebridge-petsafe-smart-feed/issues/21)) ([2eafab9](https://github.com/dgreif/homebridge-petsafe-smart-feed/commit/2eafab9be88a282c33610cc0def669c984f19fce))

### [1.2.6](https://github.com/dgreif/homebridge-petsafe-smart-feed/compare/v1.2.5...v1.2.6) (2021-01-29)

### [1.2.5](https://github.com/dgreif/homebridge-petsafe-smart-feed/compare/v1.2.4...v1.2.5) (2020-12-27)

### [1.2.4](https://github.com/dgreif/homebridge-petsafe-smart-feed/compare/v1.2.3...v1.2.4) (2020-09-13)

### [1.2.3](https://github.com/dgreif/homebridge-petsafe-smart-feed/compare/v1.2.2...v1.2.3) (2020-08-24)

### [1.2.2](https://github.com/dgreif/homebridge-petsafe-smart-feed/compare/v1.2.1...v1.2.2) (2020-08-16)

### Bug Fixes

* adjust minimum battery voltage, based on official app ([#14](https://github.com/dgreif/homebridge-petsafe-smart-feed/issues/14)) ([d5bb2c7](https://github.com/dgreif/homebridge-petsafe-smart-feed/commit/d5bb2c721df388da2617b94941ab97063641bf74))

### [1.2.1](https://github.com/dgreif/homebridge-petsafe-smart-feed/compare/v1.2.0...v1.2.1) (2020-07-08)

### Bug Fixes

* add fallback for model and serial number ([a3da9b0](https://github.com/dgreif/homebridge-petsafe-smart-feed/commit/a3da9b0ca88576ae81f90d1520e858bae9da6629)), closes [#10](https://github.com/dgreif/homebridge-petsafe-smart-feed/issues/10)

## [1.2.0](https://github.com/dgreif/homebridge-petsafe-smart-feed/compare/v1.1.6...v1.2.0) (2020-07-07)

### Features

* allow configuration of feeding size ([#9](https://github.com/dgreif/homebridge-petsafe-smart-feed/issues/9)) ([39ce052](https://github.com/dgreif/homebridge-petsafe-smart-feed/commit/39ce0523f76e394182d5f9786be653715473d9c6))

### [1.1.6](https://github.com/dgreif/homebridge-petsafe-smart-feed/compare/v1.1.5...v1.1.6) (2020-06-05)

### [1.1.5](https://github.com/dgreif/homebridge-petsafe-smart-feed/compare/v1.1.4...v1.1.5) (2020-06-03)

### [1.1.4](https://github.com/dgreif/homebridge-petsafe-smart-feed/compare/v1.1.3...v1.1.4) (2020-04-08)

### [1.1.3](https://github.com/dgreif/homebridge-petsafe-smart-feed/compare/v1.1.2...v1.1.3) (2020-02-13)

### Bug Fixes

* leave switch on for 2 minutes ([f8bf433](https://github.com/dgreif/homebridge-petsafe-smart-feed/commit/f8bf4337a4d83b055fcc1080460ed244e2aa080f))

### [1.1.2](https://github.com/dgreif/homebridge-petsafe-smart-feed/compare/v1.1.1...v1.1.2) (2020-02-13)

### Bug Fixes

* prevent double feeding ([b0d3311](https://github.com/dgreif/homebridge-petsafe-smart-feed/commit/b0d331137d5bd5b5ba0e3832a639ff8d582ace92))

### [1.1.1](https://github.com/dgreif/homebridge-petsafe-smart-feed/compare/v1.1.0...v1.1.1) (2020-01-24)

### Bug Fixes

* include auth-cli in release ([8904dab](https://github.com/dgreif/homebridge-petsafe-smart-feed/commit/8904dab16c154895ac10727bd0f1059a9d054e0a))

## 1.1.0 (2020-01-23)

### Features

* petsafe smart feed platform ([34ec949](https://github.com/dgreif/homebridge-petsafe-smart-feed/commit/34ec94932443ec67c3a0e2aa73afc323447f0d69))

repository: dgreif/homebridge-petsafe-smart-feed

gha_language: TypeScript

repo_name: dgreif/homebridge-petsafe-smart-feed


text:
# EmailVerificationResult

Email verification result. Valid means email address exists according to response from mail server running at the domain and port given.

## Properties

| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
|**domainName** | **String** |  |  |
|**port** | **Integer** |  |  |
|**emailAddress** | **String** |  |  |
|**isValid** | **Boolean** |  |  |
|**error** | **String** |  |  [optional] |

license: MIT

repository: mailslurp/mailslurp-client-java

branch_name: refs/heads/master

extension: md

gha_language: Java

gha_license_id: MIT

license_type: permissive

repo_name: mailslurp/mailslurp-client-java


text:
VirtualRobot
============
#####Introduction

We are "Hello World!", and this is the third project of our first year studying Computer Science at Coventry University.
The criteria we built this project around is as follows:
- The program should allow the user to select and place different types of treasures (e.g. jewellery, coins, silverware) and a number of hidden traps (randomly generated) within an arena.
- The program should provide a brief description for each treasure and assign each treasure with a score.
- The program should have a starting point, time, and a wish list of treasures to find, also provided by the user, a robot should start with the nearest treasure and gather as many treasures that are required on the list as possible within the given time.
- When the robot stops at any of the treasures on the wish list, the info about that treasure should be displayed on the screen.
- Furthermore, the program should make the robot lose the last treasure it has collected when the robot falls into a hidden trap during the treasure hunt.
- The program should display the treasures that have been collected in an unsorted order, and then that robot will then show how the treasures (according to their scores in an ascending or descending order) are sorted in an animation.
- This animation should be based on a user-defined sorting algorithm.
- Any other innovative features may also be included.

Against the project criteria, we have successfully implemented:
- A number of treasures and traps
- A brief description of the treasure, with a score
- A wishlist of treasures!
- A sorting algorithm which displays the treasures the user has collected
- A leaderboard of scores which works with the end-user
- An emailing system which emails the user information about the treasure they've found
- Innovative features such as Virtual Reality
- A map creator and editor

This project uses:
- Object-Oriented Programming
- Pygame
- The A* Searching Algorithm
- A Second Searching Algorithm, Breadth-First
- An optional Virtual Reality application which runs alongside it

"oldBase" branch contains the first project which we used as a base for future projects

#####Project Aims
- [x] Make it *work*
- [x] Make it *better*
- [x] Make it ***the best***

#####Instructions
- Download the project
- Run game.py
- If you wish to receive emails based on what landmarks you find, go into Settings and enter your name and email, and tick the "Receive Emails" tickbox
- Select which gamemode you wish to play
- - In Single Player, you must try to get the highest score possible in the allotted time by collecting treasure
- - In Multiplayer you can play against your friends to see who can get the highest score
- - In AI you can observe the AI collecting treasure

#####The Virtual Reality program can be found at https://github.com/helloworldC2/RobotVR

#####Created By
* Joel Bradley
* George Claridge
* Adam Cook
* Aaron Daisley
* Riki Dhesi
* Ben Domokos


text:
## Summary
This PR includes advanced queries that allow to decide comparison type from client/request sender.
Check it out some examples:
- `/books?title.contains=thief`
- `/books?category.not=4`
- `/books?price.lte=15`

And amazing thing is you can combine:
`/books?title.contains=thief&category.not=4&price.lte=15`

Also relared with #9

## Deprecated
⚠ **Range<T>** is deprecated and no longer be maintained and will be removed next major version.

## New Types
There are 2 new types in this PR. There are **OperatorFilter<T>** for struct types and **StringFilter** for strings as its name describes itself :).

Also you may see:
 - [OperatorFilter](OperatorFilter)
 - [StringFilter](StringFilter)

repository: enisn/AutoFilterer

branch_name: refs/heads/develop

gha_language: C#

repo_name: enisn/AutoFilterer


text:
---
date: Tue Sep 12 2017 08:07:59 GMT+1000 (AEST)
---

# drx

all about props

if you just want to say "this prop comes from that prop" you can do:

```
{
  name: Parent.otherName
}
```

but if the child prop is a combination of more than one thing (or if we want to translate the value), we need `x.from` with a reducer:

```
{
  name: x.from(Parent.otherName, OtherParent.otherOtherName, p => ...)
}
```

- [x] make a smart wrapper that declares all props its children need
  - this means we don't walk up a render-tree at runtime, we do all the necessary wiring at build-time so that the needed props are available in the parent.

Q. do we need `x.when` ?  Or can we make do with `Root.children( (p) => p.shouldThing && Thing )

- we lose the extra declaration of prop dependencies. But can probably make do without for now anyway.

```
        if (ch.__x_when) {
          return ref.__x_when.forEach(ref => {
            if (ref instanceof PropRef) {
              if (ref.def === parent.def) {
                result[ref.key] = ref
              }
              return
            }
          })
        }

        x.when = function (...refs) {
          return { __x_when: refs }
        }

        if (ch.__x_when) {
          return ch.__x_when.reduce((acc, value) => {
            // prop ref: collect the value
            if (value instanceof PropRef) {
              acc[value.key] = props[value.key]
              return acc
            }

            // function: terminate with the result
            if (typeof value === 'function') {
              return value(Object.assign({}, props, acc))
            }

            // component: terminate with the result, based on default truthy-test
            if (value.__x) {
              return Object.values(acc).every(Boolean)
                ? this.getChild(value, props)
                : null
            }
          }, {})
        }
```

repository: joshwnj/knowledge

repo_name: joshwnj/knowledge


text:
# Distributed JMeter

Based on the work done [here](https://github.com/pedrocesar-ti/distributed-jmeter-docker).

Apache Jmeter™ is an open source tool that helps creating and running load test plans. This helm/chart was created to help you running different versions of JMeter in a distributed fashion (master -> server architecture), for more info.

## Chart Details:
This chart will do the following:
- Deploy a JMeter master (by default 1) that is responsible to store the test plans and test results after running on the servers.
- Deploy a JMeter server service (by default 3 replicas) that are responsible to run the actual test and send back the results to the master.

## Installing the Chart:
To install the chart with the release name jmeter:
```
$ helm install --name distributed-jmeter <helm-repo>/distributed-jmeter
```

$ helm install --name distributed-jmeter stable/distributed-jmeter
## Deploying different versions of JMeter
The default [image](https://hub.docker.com/r/pedrocesarti/jmeter-docker/) allows you to run JMeter in all versions available.

To change the version running on the helm you only need:
```
$ helm install --name distributed-jmeter --set master.image.tag=4.0 --set server.image.tag=4.0 <helm-repo>/distributed-jmeter
```

$ helm install --name distributed-jmeter --set master.image.tag=4.0 --set server.image.tag=4.0 stable/distributed-jmeter
Enjoy! :)

repository: cloudnativeapp/charts

gha_language: Mustache

repo_name: cloudnativeapp/charts


text:
# AdonisJs Vow Browser 🚀
> Browser client for AdonisJs test runner

[![NPM Version][npm-image]][npm-url]
[![Build Status][travis-image]][travis-url]
[![Appveyor][appveyor-image]][appveyor-url]
[![Coveralls][coveralls-image]][coveralls-url]

Vow is the testing engine for AdonisJs and this repo contains the browser client for it.

<img src="http://res.cloudinary.com/adonisjs/image/upload/q_100/v1497112678/adonis-purple_pzkmzt.svg" width="200px" align="right" hspace="30px" vspace="100px">

## Features

1. Built on top of [Google Puppeteer](https://github.com/GoogleChrome/puppeteer)
2. Offers seamless API to run tests in chromium.
3. Uses AdonisJs eco-system to make testing assertions easier.

## Installation
You can install the package from npm.
```bash
adonis install @adonisjs/vow-browser
```

## Basic Usage

```js
// add trait
trait('Test/Browser')

test('visit home page', async ({ browser }) => {
  const page = await browser.visit('/')
  await page.assertHas('AdonisJs')
})
```

## Moving Forward
Checkout the [official documentation](http://adonisjs.com/docs/testing) at the AdonisJs website for more info.

## Tests
Tests are written using [japa](http://github.com/thetutlage/japa). Run the following commands to run tests.

```bash
npm run test:local

# report coverage
npm run test

# on windows
npm run test:win
```

## Release History

Checkout [CHANGELOG.md](CHANGELOG.md) file for release history.

## Meta

AdonisJs – [@adonisframework](https://twitter.com/adonisframework) –<EMAIL_ADDRESS>
Checkout [LICENSE.txt](LICENSE.txt) for license information

Harminder Virk (Aman) - [https://github.com/thetutlage](https://github.com/thetutlage)

[appveyor-image]: https://img.shields.io/appveyor/ci/thetutlage/vow-browser/master.svg?style=flat-square
[appveyor-url]: https://ci.appveyor.com/project/thetutlage/vow-browser

[npm-image]: https://img.shields.io/npm/v/@adonisjs/vow-browser.svg?style=flat-square
[npm-url]: https://npmjs.org/package/@adonisjs/vow-browser

[travis-image]: https://img.shields.io/travis/adonisjs/vow-browser/master.svg?style=flat-square
[travis-url]: https://travis-ci.org/adonisjs/vow-browser

[coveralls-image]: https://img.shields.io/coveralls/adonisjs/vow-browser/develop.svg?style=flat-square

[coveralls-url]: https://coveralls.io/github/adonisjs/vow-browser

repository: computamike/vow-browser

repo_name: computamike/vow-browser


text:
# `@quilted/http`

This library provides a collection of HTTP-related types and utilities.

## Getting the library

> **Note:** `@quilted/quilt/http` and `@quilted/react-http` re-export all of the types from this library. If you already have either `@quilted/quilt` or `@quilted/react-http`, you can use the exports from those libraries instead of `@quilted/http`.

Install this library as a dependency by running the following command:

```zsh
yarn add @quilted/http
```

## Using the library

This library provides the following helper types, which each represent some aspect of interacting with HTTP:

- `HttpMethod`, an enum representing [the allowed HTTP methods](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods)
- `StatusCode`, an enum representing the [standard response status codes](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status)
- `ResponseType`, an enum representing the [standard response status code classes](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status)
- `Headers` and `ReadonlyHeaders`, which are aliases to the native `Headers` type.
- `Cookies`, `ReadonlyCookies`, and `CookieOptions`, a set of interfaces that provide an isomorphic pattern for getting and setting [cookies](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies)
- `ContentSecurityPolicyDirective`, `ContentSecurityPolicySandboxAllow`, and `ContentSecurityPolicySpecialSource`, enums that provide friendly names for creating a [content security policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP)
- `PermissionsPolicyDirective` and `PermissionsPolicySpecialSource`, enums that provide friendly names for creating a [permissions policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Feature-Policy)

This library also provides the following helper functions that allow you to represent HTTP-related constructs:

- `createHeaders()` creates a `Headers`-compatible object, even in environments where the `Headers` global does not exist.

### Using this library as types

Many of the types in this library are provided as enums. Enums are convenient for developers, because they let you avoid having plain strings or numbers all over the codebase; that is, many developers prefer:

```ts
import {StatusCode} from '@quilted/http';

const statusCode = StatusCode.NotFound;
```

Over:

```ts
const statusCode = 404;
```

While enums are convenient, they have a runtime cost, because the whole enum is included in the output bundles even if only a single enum value is used. For this reason, we recommend any library that uses `@quilted/http` use type imports to reference the enums in this package:

```ts
import type {StatusCode} from '@quilted/http';
// instead of
// import {StatusCode} from '@quilted/http';

export function myFunctionThatUsesStatusCode(code: StatusCode) {}
```

This allows consumers of your library to get type safety on the allowed values, but without forcing consumers to include the entire enum in their bundle if they’d prefer to use these types exclusively as types.

```ts
import {StatusCode} from '@quilted/http';

// Works when using the enum...
myFunctionThatUsesStatusCode(StatusCode.NotFound);

// And when using static values:
myFunctionThatUsesStatusCode(404);
```

repository: lemonmade/quilt

branch_name: refs/heads/main

repo_name: lemonmade/quilt


text:
# Microsoft thinks we should have 3 day weekends

Published at: **2019-11-03T14:22:00+00:00**

Author: **Surur**

Original: [MSPoweruser](https://mspoweruser.com/microsoft-4-day-workweek/)

Microsoft’s focus as a company is on productivity, but a recent experiment by Microsoft Japan suggests with a 4-day workweek we may be more productive if we work less.
In particular, it shows that a shorter workweek can actually impact productivity positively.
In August this year, Microsoft Japan ran an experiment where for one month they had a 3 day weekend, taken Friday off. This was paid leave and did not impact the worker’s usual vacation allocation.
Some results were predictable.
Workers were happier and took  25.4 percent fewer days off during the month.
There were also savings from spending less time at work.  23.1 percent less electricity was used and 58.7 percent fewer pages were printed.
More importantly from a bottom-line standpoint, however, productivity went up 39.9%, as fewer and shorter meetings were held, often virtually rather than in person.
In the end, the project had 92.1 percent employee approval, suggesting workers were happy with getting more done in less time.
The trial involved 2,300 employees, and Microsoft is looking to repeat it next summer.
While the approach may not work for everyone, I am sure many of us would appreciate giving a 4-day workweek a try in our own workplaces.
Via Soranews24

license: Unlicense

repository: dsadlollioygjmzvcxv/tdc-exported

repo_name: dsadlollioygjmzvcxv/tdc-exported


text:
---
uid: gpOMFConnection
---

# Configure an OMF connection

You must configure an OMF connection to send OSIsoft Message Format (OMF) data to OCS.

## Prerequisite

An OMF connection requires a client-credentials client.

## Procedure

To configure an OMF connection:

1. In the left pane, select **Data Collection** > **OMF Connections**.

1. In the toolbar, select **Add Connection**.

   The `Add OMF Connection` window appears.

1. In the `Add OMF Connection` window, complete the following fields, and then select **Next**:

   - **Name** - Enter a name for the OMF connection.

   - **Description** - (Optional) Enter a description for the connection.

1. In the **Clients** tab, select each client that can be used in the connection from the **Available** list to add it to the **Selected** list.

1. Select **Next**.

1. In the **Namespaces** tab, verify that the namespace where you want write data appears in the **Selected** list, and then select **Next**.

1. In the **Review** tab, verify that the information is correct, and then select **Save**.

An application can now use the selected client-credentials client to write OMF data to the specified namespace.

repository: emonino/OCS-Docs

gha_language: JavaScript

repo_name: emonino/OCS-Docs


text:
ros-wait -
# synopsis

**ros [options] wait**

<!-- # subcommands -->

<!-- somecommand -->

<!--   : description. end with a period. -->

# Description

Wait forever after processing the options.

Useful when the application should work as a background/daemonized application.

# Usecase

This loads and launches a clack application and wait for the request from the client.

    $ ros -sp clack -l app.lisp -e '(clack:clackup)' wait

<!-- # options -->
<!--  -->
<!-- # Environmental Variables -->

# SEE ALSO
_ros_(1)

repository: roswell/roswell

gha_language: Common Lisp

repo_name: roswell/roswell


text:
# Boxstarter scripts

This repository contains [boxstarter](https://boxstarter.org/) scripts to help setup a dev environment on a new windows box.

You can run the scripts multiple times. If a program is already installed it will just be skipped.

The Windows configs for Boxstarter can be found [here](https://boxstarter.org/WinConfig)

## Introduction

Every time I do a clean Windows install I update the scripts and notes on this page, in order to make the next clean install easier and faster.
The goal is to setup a productive .NET dev environment as quickly as possible by only installing the bare minimum.

These notes and scripts were first started around 2014, and have gone through numerous revisions. (I typically re-install Windows every 6 months.)

- Settings and licenses are stored in "C:\Source\Licenses and Settings"

## Pre-Install

Read docs\Checklist_NewInstall.md

## Install

- The Boxstarter list only contains software I use regularly.
- The Boxstarter links to use in IE (or Edge) are found at the top of each file.
- The order in which the files should be run are:

    1. Manual: Update BIOS (for new Windows installs)
    1. Boxstarter: **UpdateWindows.txt** (Run this just after installing windows.)
       - Double check the file and uncomment line for Dell installs
    1. Manual: Install drivers (for new Windows installs)
    1. Manual: Run PowerShell Scripts to set correct settings for Win10 (See section below)
    1. Boxstarter: **InstallSoftware.txt** (Run 2 or 3 times until no more errors occur)
    1. Manual Installs:
        - [Directory Opus](https://www.gpsoft.com.au/)
        - [Rider](https://www.jetbrains.com/rider/) (Seriously good C# dev IDE. Install from Toolbox)
          - [DotTrace](https://www.jetbrains.com/profiler/) (Install from Toolbox as well)
        - [VisualStudio - Preview](https://visualstudio.microsoft.com/vs/preview/)
          - NOTE: See VisualStudio_Rider_Setup.md file, to setup Rider and VS
        - MS Office (Through office365)
        - [OneDrive](https://onedrive.live.com/about/en-au/download/)
        - [bvckup2](https://bvckup2.com/)
        - [WordWeb](https://wordweb.info) (Pro version)
        - [Greenshot](https://github.com/greenshot/greenshot/releases) (Latest release from Github)
        - [AsciiDoctor](https://asciidoctor.org/)
        - [splashtop](https://www.splashtop.com/) (Server and client)
    1. Boxstarter: **PostInstall.txt**
    1. Manual: Run "Disk Cleaner" from the command line

**NOTE:** Whenever you need a program check [Chocolatey](https://chocolatey.org/packages) first. It is the best place to discover the most used programs by developers for any category.

Read the "docs\SoftwareToKeepAnEyeOn.md" document.

Product keys are available from: https://my.visualstudio.com/productkeys

Licenses and settings are available here: https://github.com/Orcomp/Licenses-and-settings (which is private ;-). Check the FolderStructure.md file to re-establish the right folder structure for various programs.
### Paid Software

I generally try and use free or open source software as much as possible. So when I pay for something it has to be worth it.

- [Directory Opus](https://www.gpsoft.com.au/)
- [bvckup2](https://bvckup2.com/)
- [Fences](https://www.stardock.com/products/fences/)
- [WordWeb](https://wordweb.info)
- [Fork - git](https://git-fork.com/)
- [Duplicate Cleaner Pro](https://www.duplicatecleaner.com/)
- [Obsidian](https://obsidian.md/)
- [GitKraken](https://www.gitkraken.com/git-client) (git client)
- [dendron](https://www.dendron.so/)
- [Scapple](https://www.literatureandlatte.com/scapple/overview)
- [ClipboardFusion](https://www.clipboardfusion.com/)

## Post Install - Configurations

- Files and Folder:
  - [Folder Organisation](http://www.howtogeek.com/howto/15677/zen-and-the-art-of-file-and-folder-organization/)
- Set another text editor as default (instead of notepad): https://www.winhelponline.com/blog/replace-notepad-text-editor-notepad-plus-association
  - Run [Notepad Replacer](https://www.binaryfortress.com/NotepadReplacer/) (already installed by Chocolatey)
- Run Sysinternals Autoruns to manage programs that are allowed to startup on their own.
- Make sure Drives have the right name. (Run "Disk Management" from the command line. See this [link](https://www.diskpart.com/articles/drive-letter-not-available-8523.html) for help)
- Install Dropbox and point it to "I:\Dropbox"
- Install OneDrive and point it to "I:\Files\..."

### Windows

- Enable "Night Light" settings
- Make sure "Hardware-accelerated GPU scheduling" is turned on in "Display settings > Graphics Settings (bottom of the page) > Hardware-accelerated GPU scheduling = true"
- Make sure HDD is not indexed and is not allowed to sleep (otherwise it causes windows to freeze every so often). Control Panel > Power Options, choose your preferred plan > Change Advanced power settings > Hard Disk > Turn off hard disk after .... and set it to "never".

#### Setup Scripts

This looks like the best, active, up to date script to be use: https://github.com/farag2/Sophia-Script-for-Windows (Also assess: https://github.com/hellzerg/optimizer)
(Watch the YouTube videos to refresh memory.)

Other scripts:

- https://github.com/ChrisTitusTech/win10script
  - https://christitus.com/debloat-windows-10-2020/ (Chris continually keeps this up to date.)
- https://github.com/Sycnex/Windows10Debloater
- https://github.com/gordonbay/Windows-On-Reins
- https://github.com/Disassembler0/Win10-Initial-Setup-Script No longer active. Cloned the repo and have my own My.preset options.

Notes:

Other simple GUI tools to consider ([Beware](https://www.mirinsoft.com/blog/19-apps/34-stable-release-of-new-spydish-app-is-out) see comment section):
  - [SpyDish](https://github.com/builtbybel/spydish)
  - [BloatBox](https://github.com/builtbybel/bloatbox)

#### Task Scheduler

- Setup script to create new workspace on login. (See I:\Scripts)

#### Settings

- Settings > Search > Searching Windows > disable
- Might need to disable this on all HDDs directly as well. (Right click on the HDD drive, Properties, disable indexing)
- Notifications and actions > disable all notifications

#### Teams

- Settings > Disable hardware acceleration. (Causes images to jitter)

#### Setup Date Time, Region, Language properly

- https://support.gitkraken.com/known-issues/date-format/

#### Icons

- Right click on desktop and change the icons to small (Should be set by PowerShell script).

#### Power Plan

- Make sure power plan is on ultimate or performance
- Never sleep or hibernate

#### Disable auto restart on scheduled updates

- https://www.makeuseof.com/tag/disable-forced-restarts-windows-update/
- Disable reboot after updates: https://www.minitool.com/news/prevent-windows-update-from-automatically-restarting-your-pc.html

#### Disable Encryption

- Device Encryption : Turn Off (Turn off bitlocker on Windows 10 Pro or above)

#### Extensions

Chrome (Should be synced to Google account):
  - Toby
  - Session Buddy
  - Octotree
  - Todoist
  - Todoist for Gmail
  - EasyReader
  - Polar (PDF reader) (https://getpolarized.io/)
  - Paperpile
  - DuckDuckGo Privacy Essentials
  - Github Writer (https://github.com/ckeditor/github-writer)

Vivaldi
  - Same as Chrome
  - Vivaldi email

**Keep an eye on:**

- [Tabli](https://github.com/antonycourtney/tabli)
- Tidy Bookmark Tree

### Antivirus

The default anti virus that comes with Windows is good enough.

Configure Defender from PowerShell. See the [docs](https://docs.microsoft.com/en-us/powershell/module/defender/?view=win10-ps).

Some more useful [docs](https://www.reddit.com/r/Windows10/comments/5gf38v/when_excluding_a_process_in_windows_defender_do_i/) and [here](https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-antivirus/configure-extension-file-exclusions-windows-defender-antivirus)

Run as admin (Copy and paste into PowerShell)
```
Add-MpPreference -ExclusionPath 'C:\Source', 'C:\Users\Ben\.nuget', 'C:\Users\Ben\AppData\Roaming\WildGums', 'I:\', 'K:\'

Add-MpPreference -ExclusionProcess 'C:\Program Files\Bvckup 2\*', 'C:\Program Files (x86)\Microsoft Visual Studio\*', 'C:\Program Files (x86)\Splashtop\*', 'C:\Program Files\FreeFileSync\Bin\*', 'C:\Program Files\GPSoftware\Directory Opus\*', 'C:\Program Files (x86)\Duplicate Cleaner Pro\*', 'C:\Program Files\Microsoft VS Code\*', 'C:\Users\Ben\AppData\Local\Fork\*'
```

### Partitions

Since the OS will be going on a SSD drive no need to partition.

## Notes

- Markdown: Use VSCode with some markdown extensions
- VSCode extensions: https://stackoverflow.com/questions/35773299/how-can-you-export-vs-code-extension-list
- Visual Studio extensions: Sync to account
- Chrome Extensions: type in "chrome://system" then click on the expand extensions button (Google should remember the extensions as they are saved to my Google account.)
  - Session Buddy
  - Toby
  - Todoist
  - Octotree
  - EasyReader
  - Paperpile
- DirectoryOpus settings (Opus has a great wizard to save and restore settings)

### C# Scripting

Looks like dotnet-script is the best current solution with full support in VS Code.
The file extension is ".csx".

- [Guide](https://galdin.dev/blog/csharp-scripts-using-dotnet-script/)
- [dotnet-script](https://github.com/filipw/dotnet-script)

## Guides
### bvckup v2

Probably the fastest way of copying files from one directory to another

Straight one time copy of files from one folder to another: https://bvckup2.com/support/forum/topic/917

- Manually run job
- Copy files in full
- Disable move/rename detection

Make sure anti-virus software is disabled

### NAS Setup (LACIE-2Big)

Make sure to create a user account on the NAS that has exactly the same username and password as the windows (workstation) login.

Login to the NAS using http:\\lacie-2big-nas

### Printer Scanner

Install drivers and toolbox for MF 4350d.

This can be very tricky. After a lot of research follow these steps:

- Do NOT plug the USB cable from the printer to the computer.
- First install the drivers and patch from the Canon USA site.
- Search for MF 4350d here https://www.usa.canon.com/internet/portal/us/home
- Install the drivers and patch then reboot.
- Then install the Toolbox software. Make changes to the software to always run as admin. Follow the instructions here: https://community.usa.canon.com/t5/Office-Printers/MF-toolbox-can-t-find-scanner/td-p/223042

#### Kyocera:
- Install [Kyocera](https://www.kyoceradocumentsolutions.com.au/support-centre/downloads) drivers

repository: Orcomp/Boxstarter

repo_name: Orcomp/Boxstarter


text:
[![Build Status](https://travis-ci.org/ucsb-cs48-w19/4pm-turkey-trot.svg?branch=master)](https://travis-ci.org/ucsb-cs48-w19/4pm-turkey-trot)
# Turkey Trot

## Project Summary
---
A Thanksgiving-themed sidescrolling game written with PyGame.

### Additional Information
You are a little girl wandering through the dark forests, searching for the ingredients to assemble the ultimate Thanksgiving feast for your family. Avoid the horrible spiders in the forest to achieve your culinary dreams.

## Installation (for developers)
* Install python 3.0 or higher [here](https://www.python.org/)
* Install pygame
```python3 -m pip install -U pygame --user```
  * Note: this may require the sudo command
* To clone this repo
```git clone https://github.com/ucsb-cs48-w19/4pm-turkey-trot.git```
* Go into the project directory
```cd 4pm-turkey-trot```
* Go into the source directory
```cd source```
* Run the game
```python3 main.py```
---
### Prerequisites:
* Python 3.0 or higher
* PyGame installed

## Functionality (for users)
* Press A to move left
* Press D to move right
* Press W or the spacebar to jump
---

## Known Problems
* For the best game experience, run on a computer with a lower definition screen.
* When running this game on a Mac with a Retina screen, if there is slowness or delays, refer to the following instructions
1. Run the game ```python3 main.py```
2. In the dock you will see a snake with controllers in his mouth. Right click him.
3. Go to Options and click "Show in Finder"
4. Finder will open and you will see a the python application in the shape of a rocket
5. Right click the python application and click "Get Info"
6. Check the box "Open in Low Resolution" and it should now run at around 60fps
* [source](https://stackoverflow.com/questions/31685936/pygame-application-runs-slower-on-mac-than-on-pc)
---

## Contributing
* To contribute to our project, first select an issue, move it to In Progress on the Kanban board, and then create a new branch with the name of the issue and make a pull request when it is ready for review.

## License
* MIT License
---


text:
## Share Link
To share files with anyone, simply right-click on Project, Connection, Folder or even File in File Explorer and select the Share button.

Share Link is located on the top of the window, simply copy the Share link and send it to your friend or coworker and they can open the shared file by pasting the link in their browser:

![](/images/share.png)

repository: codeanywhere/docs

gha_license_id: NOASSERTION

repo_name: codeanywhere/docs


text:
---
layout: post
title: R, Shiny, and Naming Babies
---

As an excuse to play around with the new version of shiny, I decided to try and make an interactive web application to visualize baby naming trends over time. A major consideration when creating an interactive application is creating useful error messages to inform the user when something is not going according to plan.

In the case of visualizing baby naming trends, a major component of interactivity is the ability of the user to search specific names and genders. Because the babynames data is not entirely exhaustive (only names with greater than 5 instances in a given year are included), I had an empty graph pop up for my trend plot and an error message render for my table of frequency counts.

Luckily, with the newer versions of shiny (later than <IP_ADDRESS>08), custom messages to the user can be created with the validation function if a givent conditional is satisfied. In my example, I had a plotting function that returned the string "empty" if the name did not exist in the dataset and a plot if it did. Then, all I needed to do was add a validate function in the server.R file uses the need function with two arguments: the conditional, and the message to be displayed when the conditional is false (NOT true).

You can see the snippet of code that performs this action below:

{% highlight r %}
output$plot <- renderPlot({

  p <- plotNames(input$name,
                 input$sex,
                 format(input$yearRange[1], "%Y"),
                 format(input$yearRange[2], "%Y"))

  validate(
    need(p != "empty",
         "I'm sorry, no names that you entered appear in this dataset.
         This means that all of them appear less than five times per
         year for whatever sex you indicated."))

      p

    })
{% endhighlight %}

When I get some more time, I'm hoping to customize the .css in the name entry add even more interactivity in the plot using rCharts. For now, you can see the app deployed to the shinyapps server [here](http://dpmartin42.shinyapps.io/babynameR/), and as always, the code is up on my [GitHub](https://github.com/dpmartin42/babynameR).

For more information regarding the validation function, refer to [this](http://shiny.rstudio.com/articles/validation.html) great tutorial created by the RStudio team.


text:
# Weibo Scraper

[![PyPI](https://img.shields.io/pypi/v/weibo-scraper.svg)](https://pypi.org/project/weibo-scraper/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/weibo-scraper.svg)](https://docs.python.org/3/whatsnew/3.6.html)
[![Build Status](https://travis-ci.org/Xarrow/weibo-scraper.svg?branch=master)](https://travis-ci.org/Xarrow/weibo-scraper)
[![codecov](https://codecov.io/gh/Xarrow/weibo-scraper/branch/master/graph/badge.svg)](https://codecov.io/gh/Xarrow/weibo-scraper)

----

Simple weibo tweet scraper . Crawl weibo tweets without authorization.
There are many limitations in official API .
In general , we can inspect mobile site which has it's own API by Chrome.

----

# Why

1. Crawl weibo data in order to research big data .

2. Back up  data for weibo's shameful blockade .

----
# Installation

### pip

```shell

$ pip install weibo-scraper

```

Or Upgrade it.

```shell

$ pip install --upgrade weibo-scraper

```

### pipenv

```shell

$ pipenv install weibo-scraper

```
Or Upgrade it.

```shell
$ pipenv update --outdated # show packages which are outdated

$ pipenv update weibo-scraper # just update weibo-scraper

```

Only Python 3.6+ is supported

----
# Usage

### CLI

```bash

$ weibo-scraper -h

usage: weibo-scraper [-h] [-u U] [-p P] [-o O] [-f FORMAT]
                     [-efn EXPORTED_FILE_NAME] [-s] [-d] [--more] [-v]

weibo-scraper-1.0.7-beta 🚀

optional arguments:
  -h, --help            show this help message and exit
  -u U                  username [nickname] which want to exported
  -p P                  pages which exported [ default 1 page ]
  -o O                  output file path which expected [ default 'current
                        dir' ]
  -f FORMAT, --format FORMAT
                        format which expected [ default 'txt' ]
  -efn EXPORTED_FILE_NAME, --exported_file_name EXPORTED_FILE_NAME
                        file name which expected
  -s, --simplify        simplify available info
  -d, --debug           open debug mode
  --more                more
  -v, --version         weibo scraper version

```

### API

1. Firstly , you can get weibo profile by `name` or `uid` .

```python
>>> from weibo_scraper import get_weibo_profile
>>> weibo_profile = get_weibo_profile(name='来去之间',)
>>> ....
```
You will get weibo profile response which is type of `weibo_base.UserMeta`, and this response include fields as below

field|chinese|type|sample|ext
---|---|---|---|---
id|用户id|str||
screen_name|微博昵称|Option[str]||
avatar_hd|高清头像|Option[str]|'https://ww2.sinaimg.cn/orj480/4242e8adjw8elz58g3kyvj20c80c8myg.jpg'|
cover_image_phone|手机版封面|Option[str]|'https://tva1.sinaimg.cn/crop.0.0.640.640.640/549d0121tw1egm1kjly3jj20hs0hsq4f.jpg'|
description| 描述|Option[str]||
follow_count|关注数|Option[int]|3568|
follower_count|被关注数|Option[int]|794803|
gender|性别|Option[str]|'m'/'f'|
raw_user_response|原始返回|Option[dict]||

2. Secondly , via `tweet_container_id` to get weibo tweets is a rare way to use but it also works well .

```python
>>> from weibo_scraper import  get_weibo_tweets
>>> for tweet in get_weibo_tweets(tweet_container_id='1076033637346297',pages=1):
>>>     print(tweet)
>>> ....

```

3. Of Course , you can also get raw weibo tweets by nick name which is exist . And the param of `pages` is optional .

```python
>>> from weibo_scraper import  get_weibo_tweets_by_name
>>> for tweet in get_weibo_tweets_by_name(name='嘻红豆', pages=1):
>>>     print(tweet)
>>> ....
```

3. If you want to get all tweets , you can set the param of `pages` as `None`

```python
>>> from weibo_scraper import  get_weibo_tweets_by_name
>>> for tweet in get_weibo_tweets_by_name(name='嘻红豆', pages=None):
>>>     print(tweet)
>>> ....
```

4. You can also get formatted tweets via api of `weibo_scrapy.get_formatted_weibo_tweets_by_name`,

```python
>>> from weibo_scraper import  get_formatted_weibo_tweets_by_name
>>> result_iterator = get_formatted_weibo_tweets_by_name(name='嘻红豆', pages=None)
>>> for user_meta in result_iterator:
>>>     if user_meta is not None:
>>>         for tweetMeta in user_meta.cards_node:
>>>             print(tweetMeta.mblog.text)
>>> ....
```

![img](asserts/weibo_tweets.png)

5. Get realtime hot words

```python
hotwords = weibo_scraper.get_realtime_hotwords()
    for hw in hotwords:
        print(str(hw))
```

6. Get realtime hot words  in every interval

```python
wt = Timer(name="realtime_hotword_timer", fn=weibo_scraper.get_realtime_hotwords, interval=1)
wt.set_ignore_ex(True)
wt.scheduler()
```

<!-- ---- -->

<!-- # Weibo Flasgger -->

<!-- [Weibo Flasgger](https://github.com/Xarrow/weibo-scraper/blob/search_name/samples/weibo_flasgger/FLASGGER_README.md) is a web api document for weibo scraper , and powered by flasgger . -->

<!-- ![img](https://raw.githubusercontent.com/rochacbruno/flasgger/master/docs/flasgger.png) -->

<!-- # P.S -->
<!-- 1. Inspiration from [Twitter-Scraper](https://github.com/kennethreitz/twitter-scraper) . -->

<!-- 2. For 'XIHONGDOU' . -->

<!-- 3. Welcome To Fork Me . -->

<!-- ---- -->
# LICENSE

MIT

This Project Powered By Jetbrains OpenSource License

![img](asserts/jetbrains.svg)

repository: Xarrow/weibo-scraper

gha_language: Python

repo_name: Xarrow/weibo-scraper


text:
## Development status

PSCUCM was a project I started when I was looking to automate CUCM as I was administering a CUCM system. Unfortunately that is no longer the case. As such development on PSCUCM is all but stopped. I'll still entertain PRs, and submitted Issues, but may not get to them in a super timely manner.

## Helpful information

PSCUCM Uses AXL. Cisco maintains AXL information here: https://developer.cisco.com/site/axl/

Cisco has DevNet that allows you to spin up a test environment. It can be found here: https://devnetsandbox.cisco.com/RM/Topology

repository: corbob/PSCUCM

branch_name: refs/heads/development

gha_language: PowerShell

repo_name: corbob/PSCUCM


text:
---
name: "xname"
course: "MAT PhD"
year: "2012"
website: "http://xname.cc"
alumni: True
image: "./xname.jpg"
---
Drawing upon her personal experience with audio and video manipulation and interactive art, Eleonora Oreggia experiments with the electromagnetic field as a sensor system. Her research explores the concept of illusion by creating electromagnetic environments that stimulate new forms of perception.

Invisible affordances become a means to control and communicate with the machine, whose aesthetics inspire the sentiment of the sublime. Musical instruments and interactive systems allow, then, a form of expressive interaction that includes moments of hesitation, uncertainty, surprise. Technology, like a companion, reclaims the possibility of going out of control, in that tension between programmability, virtuosity and causality.

Thesis title: "Audiovisual performance composition using electromagnetic waves".
Supervisors: Clive Parini and Andrew mcPherson


text:
# ELF documents

Wikipedia: [Executable and Linkable Format](https://en.wikipedia.org/wiki/Executable_and_Linkable_Format)

ELF Format image (from: Wikipedia):

Layout:

![](./images/Elf-layout.svg)

Section:

![](./images/ELF_Executable_and_Linkable_Format_diagram_by_Ange_Albertini.png)

## RISC-V

[RISC-V ELF psABI specification](https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md)

repository: baulk/baulk

gha_language: C

repo_name: baulk/baulk


text:
---
title: Unreal Engine quickstart
author: v-thopra
description: This guide will help you set up the Unreal Engine, install the PlayFab Marketplace Plugin, and make your first API call in Unreal, using the PlayFab Marketplace Plugin.
ms.author: v-thopra
ms.date: 06/11/2018
ms.topic: article
ms.prod: playfab
keywords: playfab, unreal, playfab marketplace plugin, c++, blueprint
ms.localizationpriority: medium
---

# Unreal Engine quickstart

This quickstart helps you set up Unreal Engine, install the PlayFab Marketplace Plugin, and make your first API call in Unreal, using the PlayFab Marketplace Plugin. You can make your first API call using Blueprints, or C++, or both.

Before you can call any PlayFab API, you must have a [PlayFab developer account](https://developer.playfab.com/en-us/sign-up).

## Table of contents

- [Unreal project setup](#unreal-project-setup)
- [Set up your first Blueprint call](#set-up-your-first-blueprint-call)
  - [Finish and execute with Blueprint](#finish-and-execute-with-blueprint)
- [Set up your first C++ call](#set-up-your-first-c-call)
  - [Finish and Execute with C++](#finish-and-execute-with-c)
- [Deconstruct the Blueprint example](#deconstruct-the-blueprint-example)
- [Deconstruct the C++ code example](#deconstruct-the-c-code-example)
- [Upgrading to the Unreal Marketplace plugin](#upgrading-to-the-unreal-marketplace-plugin)

## Unreal project setup

OS: This guide is written for Windows 10, however, steps should be similar for Macintosh. This guide is created for using Visual Studio 2017, and Unreal Engine 4.x (Usually latest).

### Install Unreal

1. Download Unreal Engine.

2. Register and log in on the Unreal website: [https://accounts.unrealengine.com/login/index](https://accounts.unrealengine.com/login/index)

3. Download the Epic Games Launcher: [https://www.unrealengine.com/dashboard](https://www.unrealengine.com/dashboard)

4. Open the Epic Games Launcher.

5. Select the **Unreal Engine** tab, and **Library** from the left-hand navigation bar.

6. Select **+Add Versions**.

7. Select the most recent version of the [SDK](https://www.unrealengine.com/marketplace/en-US/playfab-sdk).

### Install the PlayFab Plugin into your engine

Use the following steps to ensure you've properly installed the PlayFab Plugin.

1. In the Epic Games launcher, go to the **Marketplace** and Search for the **PlayFab SDK**.

  ![Unreal Engine Marketplace](media/uemk-001.jpg)

2. Select the **PlayFab SDK**, then **Free**, and **Install to Engine**.

  ![Install to engine](media/uemk-install-to-engine.png)

3. Confirm your version and select **Install**.

    ![Pick version again](media/uemk-version-again.png)

4. Select the **Launch** button, and run Unreal Engine.

5. Select all the options as seen here:  **New Project** tab, **C++** sub-tab, **No Starter Content**.

      ![Create project settings](media/uemk-create-project-settings.jpg)

6. Now select **Create Project** with these options.

7. Enable the PlayFab Plugin.

  ![Enable plugin](media/uemk-enable-plugin.jpg)

The PlayFab Installation is complete!

## Set up your first Blueprint call

This section provides the minimum steps to make your first PlayFab Blueprint call. Confirmation is done via an on-screen debug print.

1. Select **Open level Blueprint**.

  ![Open level Blueprint](media/uemk-open-lv-bp.jpg)

2. Use the existing "Event BeginPlay" node, and build the  structure shown below.

  ![Event Begin Play](media/uemk-login-bp.png)

> [!NOTE]
> **Title ID** is the default, and should be unique to your game, which we call a title. You can apply any ID you want, but you must use that ID when you make PlayFab API calls.

3. **Save** the Blueprint, and close the Blueprint Editor window.

4. **Save** the level.

## Finish and execute with Blueprint

1. Push the **Play** button.

2. When you execute this program, you should get the output shown below.

  ![Blueprint log success](media/uemk-log-success.png)

3. Congratulations, you made your first successful API call!

4. Select any key to close.

## Set up your first C++ call

This section will provide the minimum steps to make your first PlayFab API call. Confirmation happens through a debug print in the Output Log.

1. Open your new project

2. Create a new actor called **LoginActor**, and place it in the scene. Creating the new LoginActor should automatically open Visual Studio, with `LoginActor.cpp` and `LoginActor.h` available to edit.

  ![New Actor C++](media/new-actor-cpp.png)

3. Under **Solution Explorer** -> **Games/YourProjectName/Source**, find and open **YourProjectName.Build.cs**.

4. Add the following line:

`PrivateDependencyModuleNames.AddRange(new string[] { "PlayFab", "PlayFabCpp", "PlayFabCommon" });`

5. Replace the contents of `LoginActor.h` with the code shown below.

```cpp
#pragma once

#include "GameFramework/Actor.h"

#include "CoreMinimal.h"
#include "GameFramework/Actor.h"

#include "PlayFab.h"
#include "Core/PlayFabError.h"
#include "Core/PlayFabClientDataModels.h"

#include "LoginActor.generated.h"

UCLASS()
class ALoginActor : public AActor
{
    GENERATED_BODY()
public:
    ALoginActor();
    virtual void BeginPlay() override;
    void OnSuccess(const PlayFab::ClientModels::FLoginResult& Result) const;
    void OnError(const PlayFab::FPlayFabCppError& ErrorResult) const;

    virtual void Tick(float DeltaSeconds) override;
private:
    PlayFabClientPtr clientAPI = nullptr;
};
```

6. Replace the contents of `LoginActor.cpp` with the following code.

```cpp

#include "LoginActor.h"

#include "Core/PlayFabClientAPI.h"

ALoginActor::ALoginActor()
{
    PrimaryActorTick.bCanEverTick = true;
}

void ALoginActor::BeginPlay()
{
    Super::BeginPlay();

    clientAPI = IPlayFabModuleInterface::Get().GetClientAPI();
    clientAPI->SetTitleId(TEXT("144"));

    PlayFab::ClientModels::FLoginWithCustomIDRequest request;
    request.CustomId = TEXT("GettingStartedGuide");
    request.CreateAccount = true;

    clientAPI->LoginWithCustomID(request,
        PlayFab::UPlayFabClientAPI::FLoginWithCustomIDDelegate::CreateUObject(this, &ALoginActor::OnSuccess),
        PlayFab::FPlayFabErrorDelegate::CreateUObject(this, &ALoginActor::OnError)
    );
}

void ALoginActor::OnSuccess(const PlayFab::ClientModels::FLoginResult& Result) const
{
    UE_LOG(LogTemp, Log, TEXT("Congratulations, you made your first successful API call!"));
}

void ALoginActor::OnError(const PlayFab::FPlayFabCppError& ErrorResult) const
{
    UE_LOG(LogTemp, Error, TEXT("Something went wrong with your first API call.\nHere's some debug information:\n%s"), *ErrorResult.GenerateErrorReport());
}

void ALoginActor::Tick(float DeltaTime)
{
    Super::Tick(DeltaTime);
}
```

6. Run the Unreal Editor (**Debug** -> **Start Debugging**).

## Finish and execute with C++

Earlier, you created a level with a `LoginActor` entity already placed in the world.

1. Load this level.

2. Press **Play**. You will immediately see the following in the output log:

`LogTemp: Congratulations, you made your first successful API call!`

  ![C++ log verify](media/ue-log-verify.png)

3. Select any key to close.

## Deconstruct the Blueprint example

This optional last section describes each part of the blueprints above, in detail.

### Event BeginPlay

This is an Unreal node that exists by default for a level blueprint. It triggers the nodes following it immediately, when the level is loaded.

### Set PlayFab Settings

Use this to set the `titleId`. Other keys can be set here too, but for this guide, you only need to set `titleId`.

Every PlayFab developer creates a title in Game Manager. When you publish your game, you must code that `titleId` into your game. This lets the client know how to access the correct data within PlayFab. For most users, just consider it a mandatory step that makes PlayFab work.

### Make the LoginWithCustomID request

Most PlayFab API methods require input parameters, and those input parameters are packed into a request object.

Every API method requires a unique request object, with a mix of optional and mandatory parameters.

- For the `LoginWithCustomIDRequest` object, there is a mandatory parameter of `CustomId` - which uniquely identifies a player - and `CreateAccount`, which allows the creation of a new account with this call.

### Login with Custom ID

This begins the async request to `LoginWithCustomID`.

- For login, most developers will want to use a more appropriate login method. See the [PlayFab Login documentation](xref:titleid.playfabapi.com.client.authentication) for a list of all login methods, and input parameters. Common choices are:
  - [LoginWithAndroidDeviceID](xref:titleid.playfabapi.com.client.authentication.loginwithandroiddeviceid)
    - [LoginWithIOSDeviceID](xref:titleid.playfabapi.com.client.authentication.loginwithiosdeviceid)
    - [LoginWithEmailAddress](xref:titleid.playfabapi.com.client.authentication.loginwithemailaddress)

### The left-side blueprint pins

- **Blue: Request** - For every PlayFab API blueprint, this must always receive from a paired Make Request blueprint node.

- **Red: "On Success" and "On Failure"** - You can drag an un-bound red marker to empty space, to create a new custom event for this action. One of those events, according to circumstances, is then invoked when the async-call returns.

- **Cyan: Custom Data** - Custom Data is just a relay. That object is passed un-touched into the red custom events. This isn't terribly useful for blueprints, but it's very useful when invoking API calls directly from C++ (Advanced topic: won't be covered in this guide).

### The right-side blueprint pins

- **White** - The unlabeled first exec pin is executed immediately as the API call is queued (response does not exist yet) - Do not use this pin!

- **White** - The second exec pin is labeled **On PlayFab Response**, and is executed after the async remote call has returned. Use this to trigger logic that needs to wait or use the Response.

- **Blue: Response**
  - This is a JSON representation of the result.
- The `OnSuccess` pin provides a properly typed object with the correct fields pre-built into the blueprint.
  - This JSON field is an older pin which is only maintained for legacy.

- **Cyan: Custom Data** - Same as **Custom Data** above.

- **Maroon: Successful**
  - Legacy boolean which indicates how to safely unpack the legacy Response pin.
  - Again, it's better to use the red `OnSuccess` and `OnFailure` pins.

### OnLoginSuccess and OnLoginFail

The names of these modules are optional, and should be different for every API call.

Described above, they attach to the red pins of PlayFab API calls, and allow you to process success and failure for those calls.

### The OnSuccess/Result pin

The result pin will contain the requested information, according to the API called.

### Break PlayFab Result

(Not displayed, the only valid connection for the `OnSuccess`/`Result` pin).

If you drag the `Result` pin from `OnSuccess`, it'll create a `Break-Result` blueprint. This blueprint is used to examine the response from any API call.

### The OnFailure/Error pin

- Always connects to a Break PlayFabError blueprint.
- Contains some information about why your API call failed.

### Why API calls fail (In order of likelihood)

- `PlayFabSettings.TitleId` is not set. If you forget to set `titleId` to your title, then nothing will work.

- Request parameters. If you have not provided the correct or required information for a particular API call, then it will fail.

- See `error.errorMessage`, `error.errorDetails`, or `error.GenerateErrorReport()` for more info.

- Device connectivity issue. Cell-phones lose/regain connectivity constantly, and so any API call at any time can fail randomly, and then work immediately after. Going into a tunnel can disconnect you completely.

- PlayFab server issue. As with all software, there can be issues. See our [release notes](../../release-notes/index.md) for updates.

- The internet is not 100% reliable. Sometimes the message is corrupted or fails to reach the PlayFab server.

- If you are having difficulty debugging an issue, and the information within the error information is not sufficient, please visit us on our [forums](https://community.playfab.com/index.html)

### Prints and Append nodes

- Just part of the example, giving you some on-screen feedback about what's happening.

- Most examples will extract and utilize the data, rather than just printing.

## Deconstruct the C++ code example

This optional last section describes the code in this project line by line.

### GettingStartedUeCpp.Build.cs

- To reference code from a plugin in your project, you have to add the plugin to your code dependencies. The Unreal build tools do all the work, if you add the "PlayFab" string to your plugins.

### LoginActor.h

- includes
  - The `LoginActor` includes are default includes that exist for the template file before we modified it.
  - The PlayFab includes are necessary to make PlayFab API calls.
  - UCLASS `ALoginActor`
  - Most of this file is the default template for a new actor; the only exceptions to this are:
- `OnSuccess` and `OnError`
  - These are the asynchronous callbacks that will be invoked after PlayFab `LoginWithCustomID` completes.
- `PlayFabClientPtr` clientAPI
  - This is an object that lets you access the PlayFab client API.

### LoginActor.cpp

- Most of this file is the default template for a new actor; the only exceptions to this are:
- `clientAPI = IPlayFabModuleInterface::Get().GetClientAPI();`
  - This fetches the clientAPI object from the PlayFab plugin, so you can make API calls with it.
  - `clientAPI->SetTitleId(TEXT("xxxx"));`
    - Every PlayFab developer creates a title in Game Manager. When you publish your game, you must code that titleId into your game. This lets the client know how to access the correct data within PlayFab. For most users, just consider it a mandatory step that makes PlayFab work.
  - `PlayFab::ClientModels::FLoginWithCustomIDRequest request;`
    - Most PlayFab API methods require input parameters, and those input parameters are packed into a request object.
    - Every API method requires a unique request object, with a mix of optional and mandatory parameters.
    - For LoginWithCustomIDRequest, there is a mandatory parameter of CustomId, which uniquely identifies a player and CreateAccount, which allows the creation of a new account with this call.
  - `clientAPI->LoginWithCustomID(request, {OnSuccess delegate}, {OnFail delegate});`
    - This begins the async request to `LoginWithCustomID`, which will call `LoginCallback` when the API call is complete.
    - For login, most developers will want to use a more appropriate login method.
    - See the [PlayFab Login documentation](xref:titleid.playfabapi.com.client.authentication) for a list of all login methods, and input parameters. Common choices are:
      - [LoginWithAndroidDeviceID](xref:titleid.playfabapi.com.client.authentication.loginwithandroiddeviceid)
      - [LoginWithIOSDeviceID](xref:titleid.playfabapi.com.client.authentication.loginwithiosdeviceid)
      - [LoginWithEmailAddress](xref:titleid.playfabapi.com.client.authentication.loginwithemailaddress)
  - {OnSuccess delegate}: `PlayFab::UPlayFabClientAPI::FLoginWithCustomIDDelegate::CreateUObject(this, &ALoginActor::OnSuccess)`
    - combined with: `void ALoginActor::OnSuccess(const PlayFab::ClientModels::FLoginResult& Result) const`
    - These create a UObject callback/delegate which is called if your API call is successful.
    - An API Result object will contain the requested information, according to the API called.
      - `FLoginResult` contains some basic information about the player, but for most users, login is simply a mandatory step before calling other APIs.
  - {OnFail delegate} `PlayFab::FPlayFabErrorDelegate::CreateUObject(this, &ALoginActor::OnError)`
    - combined with: `void ALoginActor::OnError(const PlayFab::FPlayFabError& ErrorResult) const`
    - API calls can fail for many reasons, and you should always attempt to handle failure.
    - Why API calls fail (In order of likelihood)
      - `PlayFabSettings.TitleId` is not set. If you forget to set `titleId` to your title, then nothing will work.
      - Request parameters. If you have not provided the correct or required information for a particular API call, then it will fail. See `error.errorMessage`, `error.errorDetails`, or `error.GenerateErrorReport()` for more info.
      - Device connectivity issue. Cell-phones lose/regain connectivity constantly, and so any API call at any time can fail randomly, and then work immediately after. Going into a tunnel can disconnect you completely.
      - PlayFab server issue. As with all software, there can be issues. See our [release notes](../../release-notes/index.md) for updates.
      - The internet is not 100% reliable. Sometimes the message is corrupted or fails to reach the PlayFab server.
    - At this time, the PlayFab Unreal C++ SDK maintains state with static variables which are non atomic and are not guarded by synchronization techniques. For this reason, we recommend limiting PlayFab calls to within the main Unreal thread.
    - If you are having difficulty debugging an issue, and the information within the error information is not sufficient, please visit us on our [forums](https://community.playfab.com/index.html).

## Upgrading to the Unreal Marketplace Plugin

The [Unreal Marketplace Plugin - Upgrade Tutorial](unreal-marketplace-plugin-upgrade-tutorial.md) will step you through upgrading your project from either the PlayFab Unreal C++ SDK or the PlayFab Unreal Blueprint SDK, to the new PlayFab Unreal Marketplace Plugin.


text:
# Creating content with Devise

{% hint style="info" %}
The following documentation assumes that you have already have Devise installed and running in a development environment. If you haven't, no big deal. Jump over the the Getting Started section of this documentation and get a project up and running real quick-like and then come back here.
{% endhint %}

## Content in Devise: An Overview

Devise, like many content management systems, is made of pages with content on them. However, it's important to understand the overall hierarchy of content so designers, developers, and content managers can wrap their heads around what is possible.

#### Sites: Multi-tenancy

Devise can contain many "websites" in a single installation. What this means is content managers can reuse media and page layouts throughout many sites. This helps maintain branding and style guides and provides a central location for the team to update content.

#### Pages

A page that appears on a site has a unique URL and serves as the container for all the content your team wishes to publish. Pages in Devise also contain versions that can serve as a location to stage content before publishing and A\|B test.

#### Slices

Slices are small parts of pages that a content manager can add to a page to add content. Slices can appear in any order and can also be nested within each other to build complex structures.

**TODO: Illustration of how sites, pages and slices live together**

repository: devisephp/cms

repo_name: devisephp/cms


text:
---
layout: post
cover: 'assets/images/cover3.jpg'
navigation: True
title:  How to replace the microswitches on Logitech trackman mice
date: 2018-01-10 12:47:00
tags: technical hardware
subclass: 'post tag-technical tag-hardware
logo: 'assets/images/ghost.png'
author: 'michiel'
categories: michiel
---

I am a great fan of trackman/trackball mice. As someone who uses computers an awful lot (being a sysadmin and geek and gamer will make this happen rather quite easily. The downside of this is of course that you could quite easily develop [rsi](https://en.wikipedia.org/wiki/Repetitive_strain_injury), which may also be known under a plethora of other medical and non-medical sounding lingo; such as gamer's thumb and Carpal Tunnel Syndrome.

https://www.youtube.com/watch?v=0X892nA5MtE
![logitech trackman mouse]


text:
# Fleece

To start using fleece with a lambda project you will need to make 2 small
updates to your project.

* Where you would normally import `logging.get_logger` or `logging.getLogger`
use`fleece.log.get_logger` or `fleece.log.getLogger`

* In the file with your primary lambda handler include
`fleece.log.setup_root_logger()`prior to setting up any additional logging.

This should ensure that all handlers on the root logger are cleaned up and one
with appropriate stream handlers is in place.

repository: pombredanne/fleece

repo_name: pombredanne/fleece


text:
![pytesting](https://github.com/VALDOM-PROJET-TRANSVERSE-2020/Mullor-Cotte-project/workflows/pytesting/badge.svg)
[![Coverage Status](https://coveralls.io/repos/github/VALDOM-PROJET-TRANSVERSE-2020/Mullor-Cotte-project/badge.svg?branch=master)](https://coveralls.io/github/VALDOM-PROJET-TRANSVERSE-2020/Mullor-Cotte-project?branch=master)
![Pylint](https://github.com/VALDOM-PROJET-TRANSVERSE-2020/Mullor-Cotte-project/workflows/Pylint/badge.svg)

# Real or fake news ?

The aim of this project is to run in production a deep learning model supposed to detect fake news. The model can be
deployed in a simple API thanks to the Flask web-framework.

### Why fake news is a problem ?

Fake news refers to misinformation, disinformation or mal-information which is spread through word of mouth and traditional
media and more recently through digital forms of communication such as edited videos, memes, unverified advertisements and
social media propagated rumours.Fake news spread through social media has become a serious problem, with the potential of
it resulting in mob violence, suicides etc... as a result of misinformation circulated on social media.

### Technologies used in this project

**Model**

The deep learning model used was retrieved in a notebook found in kaggle : https://www.kaggle.com/madz2000/nlp-using-glove-embeddings-99-87-accuracy.
This model is using word embedding thanks to a pretrained Glove model. As NLP model used in dataset containing several
sentences, this model is a RNN using LSTM layers which stands for Long short-term memory.

**API**

After being retrained, this model had to be runned in production in a Flask API well documented thanks to the interface
description langage Swaggger.

**Working environment**

The Flask API was coded in Python langage with a virtual environment. To use this project, it is highly recommended to
create a virtual environment and get the necessary libraries :
```
pip install -r requirements.txt
```

To serve this little API, a Gunicorn application server and a Nginx web server had to be set up. The application server
is used to communicate with the application and the web server is used to treat HTTP requests in our API.

This servers and the Flask API are gathered in a Docker container. You can easily use this project cloning this repository
and build this container (if you have Docker, Gunicorn and Nginx previously installed) :
```
git clone https://github.com/VALDOM-PROJET-TRANSVERSE-2020/Mullor-Cotte-project.git
./run_docker.sh
```

gha_language: Jupyter Notebook


text:
# Create a JupyterLite archive that can be used offline

It is possible to create a fully self-contained JupyterLite archive with no request to
external services.

## Configure the Pyodide kernel

By default the Pyodide files are fetched from a CDN.

The full Pyodide distribution can be pretty heavy (~180MB), but it's possible to
self-host it.

Use the `--pyodide` flag to specify the Pyodide distribution you would like to use. For
example:

```bash
jupyter lite build --pyodide https://github.com/pyodide/pyodide/releases/download/0.22.1/pyodide-0.22.1.tar.bz2
```

```{warning}
Generally, a version of `pyodide_kernel` is likely only compatible with variants of the
_same_ `x.y.z` version against which the release was tested, as both python
and JS APIs are still changing frequently on both sides of the dependency.
```

## Configure Mathjax

By default Mathjax is fetched from a CDN.

To retrieve the static asssets at built time and serve them alongside the main website
assets, make sure to install `jupyterlite-core` with
`pip install jupyterlite-core[mathjax]`.

## Configure the piplite wheels

By default calling `%pip install` or `piplite.install()` downloads and installs packages
from the public [PyPI].

Instead you can configure a list of packages that will be downloaded at _build_ time so
they can be hosted alongside your JupyterLite website.

See [](../../pyodide/wheels.md) for more information.

Concretely that means populating a list of URLs for downloading wheels. A good example
for this is the configuration used for the JupyterLite demo website:
[jupyter_lite_config.json][lite-demo-config]

The relevant part of `jupyter_lite_config.json` is the `piplite_urls` list which looks
like the following:

```json
{
  "PipliteAddon": {
    "piplite_urls": [
      "https://files.pythonhosted.org/packages/e6/0b/24795939622d60f4b453aa7040f23c6a6f8b44c7c026c3b42d9842e6cc31/fastjsonschema-2.15.3-py3-none-any.whl",
      "https://files.pythonhosted.org/packages/py2.py3/a/asttokens/asttokens-2.0.5-py2.py3-none-any.whl",
      "https://files.pythonhosted.org/packages/py2.py3/b/backcall/backcall-0.2.0-py2.py3-none-any.whl",
      "https://files.pythonhosted.org/packages/py2.py3/b/bqplot/bqplot-0.12.33-py2.py3-none-any.whl",
      "https://files.pythonhosted.org/packages/py2.py3/c/certifi/certifi-2021.10.8-py2.py3-none-any.whl",
      "https://files.pythonhosted.org/packages/py2.py3/d/defusedxml/defusedxml-0.7.1-py2.py3-none-any.whl",
      "https://files.pythonhosted.org/packages/py2.py3/e/executing/executing-0.8.3-py2.py3-none-any.whl",
      "..."
    ]
  }
}
```

Tweak this list based on the packages you would like to serve statically.

[pypi]: https://pypi.org
[lite-demo-config]:
  https://github.com/jupyterlite/jupyterlite/blob/main/examples/jupyter_lite_config.json

## Offline Progressive Web App (PWA)

JupyterLite can be used as a Progressive Web App (PWA) on mobile devices, but also on
desktop.

When JupyterLite is configured to work offline as detailed in this guide, it should be
possible to use JupyterLite as a PWA without any network connection. There might still
be a need for using the app while still connected to the Internet first, so the
underlying Service Worker can cache the assets.

Check out the [Using](../../../quickstart/using.md) guide for more details on how to
install JupyterLite as an application.

## Reference

Check out the [CLI Reference](../../../reference/cli.ipynb) for more details.

repository: jupyterlite/jupyterlite

repo_name: jupyterlite/jupyterlite


text:
![Test and Build](https://github.com/adobe-type-tools/psautohint/workflows/Test%20and%20Build/badge.svg)
[![Codecov](https://codecov.io/gh/adobe-type-tools/psautohint/branch/master/graph/badge.svg)](https://codecov.io/gh/adobe-type-tools/psautohint)
[![PyPI](https://img.shields.io/pypi/v/psautohint.svg)](https://pypi.org/project/psautohint)
[![Language grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/adobe-type-tools/psautohint.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe-type-tools/psautohint/context:cpp)
[![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/adobe-type-tools/psautohint.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe-type-tools/psautohint/context:python)
[![Total alerts](https://img.shields.io/lgtm/alerts/g/adobe-type-tools/psautohint.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe-type-tools/psautohint/alerts/)

PSAutoHint
==========

A standalone version of [AFDKO](https://github.com/adobe-type-tools/afdko)’s
autohinter.

**NOTE**: as of August 2019, only Python 3.6 or later is supported.

Building and running
--------------------

This repository currently consists of a core autohinter written in C, a
Python C extension providing an interface to it, and helper Python code.

To build the C extension:

    python setup.py build

To install the C extension and the helper scripts globally:

    pip install -r requirements.txt .

Alternatively to install them for the current user:

    pip install -r requirements.txt --user .

The autohinter can be used by running:

    psautohint

To build just the `autohintexe` binary:

    python setup.py build_exe

Testing
-------

We have a test suite that can be run with:

    tox

Debugging
---------

For standard debugging, build with:

    python setup.py build --debug

It is also possible to build a debug version with [AddressSanitizer](https://github.com/google/sanitizers/wiki/AddressSanitizer) ("ASan") support (currently _for Mac OS X only_)  with:

    python setup.py build --asan
    pip install .

Once it is installed, you can use the `util/launch-asan.sh` shell script to launch a Python process that invokes the ASan libraries needed for debugging. Attach Xcode the launched process, then execute code in the process that triggers memory usage problems and wait for ASan to do its magic.

NOTE: be sure to build and install `psautohint` as described above; using other techniques such as `python setup.py install` will cause a re-build _without_ ASan and debug support, which won't work.

repository: madig/psautohint

repo_name: madig/psautohint


text:
Bloom
=====

###Authors:

* Tunde Agboola
* Shashank Sunkavalli
* Omar Shammas

###Description:

Bloom is a library for set reconciliation based on invertible bloom filters (IBF). Instead of transmitting all the keys between 2 peers, an IBF can be used to recover the set difference. The key component is in determining the appropriate size of the IBF, which is accomplished using either a strata, min wise or hybrid estimator.


text:
# MMM-CustomNotifications

This is a module for [MagicMirror²](https://magicmirror.builders/) to send custom notifications when notification received by other modules.

## Installation

In your terminal, go to your MagicMirror's Module folder:

````
cd ~/MagicMirror/modules
````

Clone this repository:
````
git clone https://github.com/hebestreit/MMM-CustomNotifications.git
````

## Using the module

To use this module, add it to the modules array in the `config/config.js` file:
````javascript
modules: [
    {
        module: 'MMM-CustomNotifications',
        config: {
            notifications: [
                {
                    notification: "RFID_DATA", // received notification key and payload
                    payload: "daniel",
                    dispatch: [ // dispatch following notifications if notification above received
                        {
                            notification: "CURRENT_PROFILE",
                            payload: "daniel",
                        },
                        {
                            notification: "SHOW_ALERT",
                            payload: {
                                type: "notification",
                                title: "Welcome",
                                message: "Hi Daniel!"
                            },
                        }
                    ]
                }
            ]
        }
    }
]
````

## Configuration options

The following properties can be configured:

| Option                     | Description
| -------------------------- | -----------
| `notifications`            | Use this property to register notifications with their payload and dispatch custom notifications.

 **Possible values:** `array`
 **Default value:** `[]`

repository: hebestreit/MMM-CustomNotifications

repo_name: hebestreit/MMM-CustomNotifications


text:
Make your data flow

## How to install:

Add jitpack.io maven repository to your build.gradle file:
```
repositories {
    mavenCentral()
    maven { url 'https://jitpack.io' }
}
```

then add the dependency to your build.grade file:
```
dependencies {
    ...
    compile 'com.github.matang28:java-pipelines:1.0'

}
```


text:
### [CVE-2017-3626](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3626)
![](https://img.shields.io/static/v1?label=Product&message=GlassFish%20Server&color=blue)
![](https://img.shields.io/static/v1?label=Version&message=%3D%203.1.2%20&color=brighgreen)
![](https://img.shields.io/static/v1?label=Vulnerability&message=Difficult%20to%20exploit%20vulnerability%20allows%20unauthenticated%20attacker%20with%20network%20access%20via%20multiple%20protocols%20to%20compromise%20Oracle%20GlassFish%20Server.%20%20Successful%20attacks%20require%20human%20interaction%20from%20a%20person%20other%20than%20the%20attacker.%20Successful%20attacks%20of%20this%20vulnerability%20can%20result%20in%20%20unauthorized%20read%20access%20to%20a%20subset%20of%20Oracle%20GlassFish%20Server%20accessible%20data.&color=brighgreen)

### Description

Vulnerability in the Oracle GlassFish Server component of Oracle Fusion Middleware (subcomponent: Java Server Faces). The supported version that is affected is 3.1.2. Difficult to exploit vulnerability allows unauthenticated attacker with network access via multiple protocols to compromise Oracle GlassFish Server. Successful attacks require human interaction from a person other than the attacker. Successful attacks of this vulnerability can result in unauthorized read access to a subset of Oracle GlassFish Server accessible data. CVSS 3.0 Base Score 3.1 (Confidentiality impacts). CVSS Vector: (CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N).

### POC

#### Reference
- http://www.oracle.com/technetwork/security-advisory/cpuapr2017-3236618.html

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

repository: trickest/cve

gha_language: HTML

repo_name: trickest/cve


text:
---
layout: post
title: Estimate frequency using Numpy
---

# {{ page.title }} #

[![Estimating frequency of noisy sine curve][fig_img]][fig_link]

[fig_img]: http://farm5.static.flickr.com/4154/4956012351_126a54fca0.jpg
[fig_link]: http://www.flickr.com/photos/arataka/4956012351/

Numpy/Scipy doesn't have function for estimating frequency (pitch) of
given 1D time series, but simple functions can do this. I use a very
simple method called "Pisarenko Harmonic Decomposition". On the
picture above, I estimate the frequency of sine curve + noise.  The
estimate (vertical black line on the top panel) is matched to maximum
of the power spectral density.  Note that argument `x` of function
`freq` must satisfy `x.mean() == 0`.

{% highlight python %}
import numpy
PI = numpy.pi

def covariance(x, k):
    N = len(x) - k
    return (x[:-k] * x[k:]).sum() / N

def phd1(x):
    """Estimate frequency using Pisarenko Harmonic Decomposition"""
    r1 = covariance(x, 1)
    r2 = covariance(x, 2)
    a = (r2 + numpy.sqrt(r2 ** 2 + 8 * r1 ** 2)) / 4 / r1
    if a > 1:
        a = 1
    elif a < -1:
        a = -1
    return numpy.arccos(a)

def freq(x, sample_step=1, dt=1.0):
    """Estimate frequency using `phd1`"""
    omega = phd1(x[::sample_step])
    return omega / 2.0 / PI / sample_step / dt
{% endhighlight %}

I posted full source code to get the picture above here:
[gist: 565034 - GitHub](http://gist.github.com/565034).

You can find the formulation of Pisarenko Harmonic Decomposition method
here:
[CiteSeerX — AN UNBIASED PISARENKO HARMONIC DECOMPOSITION ESTIMATOR FOR SINGLE-TONE FREQUENCY](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=<IP_ADDRESS>.4859).

extension: markdown


text:
# SIG-QA
English | [简体中文](./sig_QA_cn.md)

Note: The content of this SIG follows the convention described in OpenHarmony's PMC Management Charter [README](/zh/pmc.md).

## SIG group work objectives and scope

### work goals
Support the trustworthiness of OpenHarmony community development through related process governance.
### work scope
Organize the stipulation of community development processes and the review on approving community incubation projects.
Review the operation of each sig in community development and operations, identify problems, and drive relevant teams to make improvements.
### The repository
-

## SIG Members

### Leader
- [@xhuazi](https://gitee.com/xhuazi)

### Committers列表
- [@xhuazi](https://gitee.com/xhuazi)
- [@jony_code](https://gitee.com/jony_code)
- [@kevenNO1](https://gitee.com/kevenNO1)
- [@xzmu](https://gitee.com/xzmu)
- [@minglonghuang](https://gitee.com/minglonghuang)
- [@vanessaguo](https://gitee.com/vanessaguo)
- [@heartoflight](https://gitee.com/heartoflight)
- [@guoguoliu](https://gitee.com/guoguoliu)

### Meetings
 - Meeting time：BiWeek Wednesday at 14:30:16:00
 - Meeting application: [OpenHarmony SIG-QA Meeting Proposal](https://shimo.im/sheets/6QqqWJX99xrWWqJg/MODOC)
 - Meeting link: Welink
 - Meeting notification: [Subscribe to](https://lists.openatom.io/postorius/lists/dev.openharmony.io) mailing list<EMAIL_ADDRESS>for the meeting link

### Contact (optional)

- Mailing<EMAIL_ADDRESS>- Zulip group: https://zulip.openharmony.cn
- Wechat group：NA

repository: OpenHarmonySCM-noreply/community

repo_name: OpenHarmonySCM-noreply/community


text:
# _Portfolio Landing page_

#### _This page serves as a homepage for a portfolio_, _01/06/2017_

#### By _**Sarah Leahy**_

## Description

_This page is a landing page for a portfolio. It includes links to current projects, a little bit about the author and their experience or certifications._

_This is a landing page for a portfolio. It includes links to current projects, prospective projects, and  a little bit about the author and their experience or certifications._

## Setup/Installation Requirements
* _Clone the portfolio repository from git hub_
* _open in browser_
*_the page can also be accessed at https://sleahy115.github.io/Portfolio/_

## Support and contact details

_If there are any concerns or comments about this page please email<EMAIL_ADDRESS>
## Technologies Used

_This site utilizes HTML, a custom CSS stylesheet and Bootstrap CSS._

### License

*licensed under the MIT License*

Copyright (c) 2017 **_Sarah Leahy_**


text:
---
layout: rsk
title: rLogin Libraries
description: 'multiple libraries that enable seamless integration to rLogin protocols'
tags: rlogin, libraries, architecture, rif, identity, vault, marketplace, auth, rif-data-vault, rns, ui
---

The implementation of the architecture defined above consists of multiple libraries that enable seamless integration to rLogin protocols:
- The [RIF Data Vault](/rif/identity/data-vault) - a user-centric cloud storage service
- [Verifiable Credential JSON Schemas](/rif/rlogin/libraries/vc-json-schemas) and [parser](/rif/rlogin/libraries/vc-json-schemas-parser) - proposes unique standard interface for Verifiable Credentials
- [Express DID Auth](/rif/rlogin/libraries/express-did-auth) and [DID Auth client](/rif/rlogin/libraries/did-auth-client) - a Node.js back-end authentication library and a client-side authentication consumer
- [rLogin modal](/rif/rlogin/libraries/modal) - a UI tool that lets front-end developer to integrate different compatible wallets and a pre designed UX for application signup and login.


text:
---
path: "/extensions"
date: 2019-12-19T20:09:19.962Z
title: "Extensions"
author: last-hit-aab
---

This page is an overview of the Last-Hit extensions and related resources.

# Workspace Extension
- Design for control environment, story, flow and step on replay
- Each workspace can have its own extesion
- Implemented by TypeScript or Pure JavaScript
- Feel free to import your own dependencies from NPM

[Learn Workspace Extension](/workspace-extension/)

# IDE Extensions
> **Coming soon.**

repository: last-hit-aab/last-hit-pages

repo_name: last-hit-aab/last-hit-pages


text:
# LiteGUI.Area #

Areas are a way to split the layout of your site in regions so it is easy to fill the content without having to specify sizes.

Areas usually are meant to be filled by Inspectors, Canvas, widgets or some specific HTML content,
this way your interface will be adapted depending on the resolution.

To create one first instantiate the class:

```javascript
	var mainarea = new LiteGUI.Area();
```

You can pass several options as a parameter:

```javascript
	var mainarea = new LiteGUI.Area({content_id:"workarea", height: "calc(100% - 30px)", autoresize: true, inmediateResize: true, minSplitSize: 200 });
```

## Options ##

Some of the properties that you can pass when creating the Area

- content_id: id for the container of the area content
- height: the height of the whole container
- autoresize: if true the container will use all the space available in the parent container
- immediateResize: when dragging the splitter it will update contents immediatly
- minSplitSize: minimum size the splitter allows for one side.

## Split ##

When you want to divide an area in two sections you can split it:

```javascript
	mainarea.split("horizontal",[null, side_panel_width], true);
```

The parameters are:
- Aligment: Could be "horizontal" or "vertical", horizontal means that the areas will be side by side in the horizontal axis (so the split line will be vertical).
- Distribution: The array passed as a second parameter contains the size of every section, it could be a number or a string containing a size. Null means that this area should fill the remaining space.
- Editable: tells if you want to allow the user to change the split position using the mouse.

## Sections ##

When splitting an area it creates two new areas (called sections), to access them you can use:

```javascript
var section = mainarea.getSection(0);
```

This section can be split again to create more complex layouts.

## Documentation ##

For a more indepth description of the actions check the documentation.


text:
# a2fc.system
a very small `.a2fc` graphics file viewer for Apple II computers

`.a2fc` ("Apple II Full Color") files are uncompressed double hi-res graphics files that can be displayed on any Apple //e or later with an extended 80-column card.

## Usage

`a2fc.system` has no user interface. It is designed to take the pathname of an .a2fc file as a startup program, as explained in [ProDOS 8 Technical Reference Manual §<IP_ADDRESS>](http://www.easy68k.com/paulrsm/6502/PDOS8TRM.HTM#<IP_ADDRESS>). If this pathname is not supplied, `a2fc.system` will simply quit.

ProDOS 2.4.1 users: if you rename `a2fc.system` to `basis.system` and put it in the root directory of your startup disk, you can select any `.a2fc` file in Bitsy Bye and it will be passed to `basis.system` as the startup program and displayed properly.

ProSel users: you can create a ProSel item that displays an `.a2fc` graphic file. Assuming `a2fc.system` is `/HD/BIN/A2FC.SYSTEM` and your graphic file is `/HD/PHOTOS/MYPIC.A2FC`:

````
Screen title:     -your choice-
Prefix:           ?BIN/
Application path: A2FC.SYSTEM
Startup:          ?PHOTOS/MYPIC.A2FC
````

## Memory Usage

`a2fc.system` loads at $2000 (like any `.system` file) but relocates itself to zero page. It loads the given `.a2fc` file into hi-res page 1, but only $2000 bytes at a time, so it never touches hi-res page 2.

````
0050..0096     relocated program code
2000..3FFF     graphic data
2000..3FFF/aux graphic data
9200..95FF     ProDOS file buffer
````

## Tools to create A2FC files

 * [BMPA2FC](http://www.appleoldies.ca/graphics/index.htm#dhgr) (Windows)
 * [Buckshot](https://apple2.gs/buckshot/) (macOS)

Beagle Graphics used separate files to store double hi-res graphics, a `.bin` and `.aux` file. You can easily combine these into a single `.a2fc` file. The `.aux` part goes first.

 ````
 ]BLOAD MYPIC.AUX,A$2000
 ]BLOAD MYPIC.BIN,A$4000
 ]BSAVE MYPIC.A2FC,A$2000,L$4000
 ````

gha_language: Makefile


text:
# ecf_handling
Simple utilitaries to handle ECF text files

To handle the ECF files generated by RPA automation, generate a runnable jar file and execute in same folder where ECF file is located. You must create a secondary file called "contas.txt" that contains the accounts that will be replaced. If some account is not present in this file, the utilitary do not change any content.


text:
# Test API application

## Installation
Application requires Node.js 4+ because uses some ES6 features

## Dependencies

You have to install dependencies using:
```bash
$ npm install
```

## Configuration

All application configs are int `config/` folder.

Base file for configuration is `config/default.js` it has default configs and could be overwrited by
`config/{ENV}.js` or `config/local.js`

Note that `config/local.js` have to be ignored in git and will be used only for development !

## Migrations
After configuration you will have to run migrations.

**Don't forget to create database that you configured**

Application uses `knex` for DB manipulations and it's migrations.
Run migrations:
```bash
$ NODE_ENV=development ./node_modules/knex/bin/cli.js migrate:latest
```

Rolling migrations back:
```bash
$ NODE_ENV=development ./node_modules/knex/bin/cli.js migrate:rollback
```

## Running application
To run application use this command:
```bash
$ npm start
```

Or
```bash
$ NODE_ENV=development node index.js
```

## Tests

Tests include checking of code style and testing base functionality for application

To run tests use this commands:

Will run code style check and run tests if everything os ok:
```bash
$ npm test
```

Will run only tests without code style:
```bash
$ npm run mocha
```

repository: konstantinzolotarev/test-api

repo_name: konstantinzolotarev/test-api


text:
# Periodic downloader
Simple python script for downloading data from an URL in fixed intervals and save it to a file.

## What problem does it solve
Download data from an URL in regular intervals, eg. JSON from an open data site for further investigation. Based on a configuration file `tasks.json` the data from the URL is downloaded to a configurable directory. The file name can be timestamped using python formatting syntax. The downloaded data is only saved to file if its content has changed. This is accomplished by remembering hash value of data for each URL.

## Requirements
This project has been created using Python 3.8. The `requests` package is required.

## How to use
Create and fill the configuration file `tasks.json` with the URL and folder information for the download. This file may be based on the template file `tasks.json.template`. Then execute then `run.py` script. This script is thought to  be called automatically by `cron`.

## Configuration file
The project includes a template `tasks.json.template`. It should be renamed to `tasks.json`.

The file contains a list of tasks. Each task has the following parameters

### Name
Just some text to describe the task for better orientation. It is not used anywhere except debug messages.

### URL
URL to download data from. This URL must publicly available (i.e. require no login credentials or session cookies).

### Interval
The interval can be given either in minutes `m` from 1 to 60 or in hours `h` from 1 to 24.

### TargetFilename
Gives the file name for the downloaded data. This may included python formatted timestamp information such as date and time.

### TargetDir
Gives the directory for the downloaded data. This may included python formatted timestamp information such as date and time (Alert: but only if not `TempDir` is used). This may be an absolute path or a path relative to the `tasks.json` file.

### TempDir
Gives a directory to store the downloaded data locally before moving it to the target directory. This may be an absolute path or a path relative to the `tasks.json` file. This might be useful if the target directory is on a remote system such as a NAS that might be temporary unavailable. Data is moved to the target directory the next time the system is available.

### Sample file
```JSON
{"Tasks":
    [{
        "Name": "Free apointments in the vaccination centers in Saxony",
        "URL": "https://www.startupuniverse.ch/api/1.1/de/counters/getAll/_iz_sachsen",
        "Interval": "10m",
        "TargetFilename": "%Y%m%d_%H%M.json",
        "TargetDir": "/mnt/nas/data/covid_saxony",
        "TempDir": "__tempdata\\"
    },
    {
        "Name": "Daily file with covid cases for the city of Dresden",
        "URL": "http://opendata.dresden.de/duva2ckan/files/de-sn-dresden-corona_-_covid-19_-_fallzahlen_md1_dresden_2020ff/content",
        "Interval": "24h",
        "TempTargetFilename": "Covid_dd_cases_%Y%m%d.csv",
        "TargetDir": "/mnt/nas/data/covid_dd/%Y%m",
        "TempDir": ""
    }]
}
```

## TODO / Known bugs
- timestamping target directory does not work, if a temp directory is used.
- better error handling if download fails


text:
KubOS
[![CircleCI](https://circleci.com/gh/kubos/kubos.svg?style=svg)](https://circleci.com/gh/kubos/kubos)
=========

KubOS is an open-source software stack for satellites.

The KubOS system is designed to take care of every aspect of a satellite’s flight
software.

Rather than operating as a single, monolithic entity, KubOS is comprised of a series
of independent, yet interoperating components.

- Mission applications control and execute the logic necessary to accomplish mission goals
- Services expose hardware and system functionality with a controlled and uniform interface
- Kubos Linux provides the base operating system and the drivers needed to communicate with connected hardware devices

[Company website](https://www.kubos.com)

[Main Documentation Page](https://docs.kubos.co)

# Getting Started

Here are some docs which we recommend you look at first when getting started with KubOS:

- [KubOS Design](https://docs.kubos.com/latest/kubos-design.html) - A high-level
  overview of what KubOS is and how it works
- [Getting Started with Local Dev Environment](https://docs.kubos.com/latest/getting-started/index.html) -
  Docs for getting started with KubOS using a local dev environment of your choice
- [Getting Started with the Kubos SDK](https://docs.kubos.com/latest/sdk-docs/index.html) -
  Docs for setting up an instance of the Kubos SDK as your development environemnt.
  Highly recommended for Windows users
- [New User Tutorials](https://docs.kubos.com/latest/tutorials/index.html) - Tutorials
  which will walk you through using all of the major components of KubOS

# Contributing to KubOS

Want to get your code to space? Become a contributor!

Check out our doc on [contributing to KubOS](https://docs.kubos.com/latest/contributing/contribution-process.html)
and come talk to us on [Slack](https://slack.kubos.co/) to join our community.

Or, if you're just looking to give some feedback,
submit an [issue](https://github.com/kubos/kubos/issues) with your feature requests or bug reports!

# Repo Components

These are the important folders in this repo:

- apis - Contains all of our [hardware APIs](https://docs.kubos.com/latest/deep-dive/apis/device-api/index.html)
  as well as our [application APIs](https://docs.kubos.com/latest/os-docs/apps/app-guide.html)
- clients - Contains client programs which can be used locally to communicate with the
  corresponding service on a remote target
- docs - Contains all of the raw doc files used to generate our [documentation](http://docs.kubos.co)
- examples - Various example KubOS projects
- hal - A collection of [hardware interface abstractions](https://docs.kubos.com/latest/apis/kubos-hal/index.html)
- libs - Helper libraries used when building [Kubos services](https://docs.kubos.com/latest/os-docs/index.html#services)
- services - Contains all of the Kubos [core services](https://docs.kubos.com/latest/os-docs/services/core-services.html)
  and [hardware services](https://docs.kubos.com/latest/os-docs/services/hardware-services.html)

# Related Repos

- [kubos-linux-build](https://github.com/kubos/kubos-linux-build) - Repo used for
  configuring and building KubOS images
- [cargo-kubos](https://github.com/kubos/cargo-kubos) - Repo for a Cargo subcommand
  which will assist with cross-compiling Rust projects for KubOS
- [kubos-vagrant](https://github.com/kubos/kubos-vagrant) - Repo used to build the
  Kubos SDK

repository: kubos/kubos

gha_language: Rust

repo_name: kubos/kubos