text:
### The API (v 1.2 and earlier only)

NB: The API documented here has been changed in v2.0 release. See [here](../../README.md) for details.

The JavaScript library must be initialized using this function:
```javascript
jabra.init(onSuccess, onFailure, onNotify)
```
Example use of the library:

https://gnaudio.github.io/jabra-browser-integration/release/development/

Basic functions:

|           | Description        |
| ----------------- |------------------|
| ` jabra.ring() `    | Activate ringer (if supported) on the Jabra Device  |
| ` jabra.offHook() `    | Change state to in-a-call   |
| ` jabra.onHook() `    | Change state to idle (not-in-a-call)  |
| ` jabra.mute() `    | Mutes the microphone (if supported)   |
| ` jabra.unmute() `    | Unmutes the microphone (if supported)   |
| ` jabra.hold() `    | Change state to held (if supported)   |
| ` jabra.resume() `    | Change state from held to OffHook (if supported)   |

Callback values from the library (registered during library initialization):

|           | Description        |
| ----------------- |------------------|
| ` jabra.requestEnum.mute `    | Request that the device state should be changed to muted. This must be acknowledged by a Mute command to mute the call.  |
| ` jabra.requestEnum.unmute `    | Request that the device state should be changed to unmuted. This must be acknowledged by an Unmute command to unmute the call.    |
| ` jabra.requestEnum.endCall `    | End an active call request. This must be acknowledged by an OnHook command   |
| ` jabra.requestEnum.acceptCall `    | Accept an incoming call request. This must be acknowledged by an OnHook command.    |
| ` jabra.requestEnum.rejectCall `    | Reject an incoming call request. This must be acknowledged by an OnHook command to reject the call.   |
| ` jabra.requestEnum.flash `    | Flash request. This must be acknowledged by a hold or resume command.    |

Device management functions:

|           | Description        |
| ----------------- |------------------|
| ` jabra.getActiveDevice() `    | Get the current active Jabra Device   |
| ` jabra.getDevices() `    | List all attached Jabra Devices   |
| ` jabra.setActiveDevice(id) `    | Select a new active device  |

Device management callbacks:

|           | Description        |
| ----------------- |------------------|
| ` jabra.requestEnum.deviceAttached `    | A device has been added   |
| ` jabra.requestEnum.deviceDetached `    | A device has been removed    |

### Sequence diagrams
These sequence diagrams shows typical use.

![Sequence diagram](/docs/outgoing-call-then-end-call.png)

![Sequence diagram](/docs/incoming-call-then-accept-on-device-then-end-call.png)

![Sequence diagram](/docs/incoming-call-then-user-rejects.png)

![Sequence diagram](/docs/mute-unmute-from-device.png)

![Sequence diagram](/docs/hold-resume-from-device.png)

repository: gnaudio/jabra-browser-integration

repo_name: gnaudio/jabra-browser-integration


text:
# BlCommons
BL Common Utilities

## Usage

### ResourcesController and ResourceConcern

* add route your `routes.rb`, so you can behave like a server

```
# routes.rb
mount BlCommons::Engine => '/'
```

* add `bl_commons.rb` to your initializers

```
# frozen_string_literal: true

BlCommons::BlResources.register(:web, { host: Rails.application.secrets.web_host })

```

* include concer in one of your model and specify your attributs, so you can behave like client

```
include BlCommons::RemoteResourceConcern

bl_remote_resource(attributes: %i[name avatar], node: :web)
```

or

```
include BlCommons::SyncResourceConcern

bl_sync_resource(attributes: %i[name avatar], nodes: [:b2c])
```

## Installation
Add this line to your application's Gemfile:

```ruby
gem 'bl_commons'
```

And then execute:
```bash
$ bundle
```

Or install it yourself as:
```bash
$ gem install bl_commons
```

## Contributing
Contribution directions go here.

## License
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).

license: MIT

branch_name: refs/heads/master

extension: md

gha_language: Ruby

gha_license_id: MIT

license_type: permissive


text:
---
layout: post
title: A story about concurrency and parallelism
date:   2016-02-22 20:50:06
categories: Summary
image: /assets/images/post.jpg
---

{{ page.title }}

This is a story about concurrency and parallelism

My wife is a teacher. Like most teachers, she's a master of multitasking. At any one
     instant, she's only doning one thing, but she's having to deal with many things concurrently.
     While listening to one child read, she might break off to calm down a rowdy classroom or answern
     a question. This is concurrent, but it's not parallel(there is only one of her).

     If she's joined by an assistant(one of them listening to an individual reader, the other answering questions),
     we now have something that's both concurrent and parallel.

     Imagine that the class has designed its own greeting cards and wants to mass-produce them.
     One way to do so would be to give each child each child the task of making five cards.
     This is parallel but not(viewed from a high enough level) concurrent -- only one task is underway(The task is making five cards).

    Concurrency is about dealing with lots of things at once.
    Parallelism is about doning lots things at once.

The above content is from 《Seven Concurrency Models in Seven Weeks》

I get:

     Concurrency is about a great deal more than just exploiting parallelism—used
     correctly, it allows your software to be responsive, fault tolerant, efficient,
     and simple.
     The world is concurrent, and so should your software be if it wants to interact
     effectively.
     Concurrency is the key to responsive systems.

     Why the concurrency can work efficiently. I think the design of CPU running 、Thread scheduling and Process scheduling
     are keys. And I can understand the microcosmic concept after I get the Round Robin and Time Slice Manage-ment.
     Yes it is amazing! This is a amazing design after the brain!


text:
Statarkers Membership
=====================
This is a set of base files to get you going with Statamic membership. They can be used easily with the [Statarkers Theme](https://github.com/statamicthemes/statarkers-theme) but it is not required.

## Installing
1. Download the zip.
2. Replace the member folder in `_config/bundles` with the member folder provided.
3. Add the member folder into your theme partials folder (`_themes/statarkers/partials`).
4. Add the member folder into your theme templates folder (`_themes/statarkers/templates`).
5. Add the emails folder into your theme templates folder (`_themes/statarkers/templates`).
6. Replace/copy the `_config/routes.yaml` file into your `_config folder`.
7. Add the following settings to you your `settings.yaml` file.
  - `_email_handler:`
  - `_email_sender<EMAIL_ADDRESS>#change this to your email`
8. Add the following settings to your _config/bundles/member/member.yaml file.
  - `reset_password_subject: Reset Your Password`
  - `reset_password_text_email: emails/reset_password_text`
  - `reset_password_html_email: emails/reset_password_html`

Once you have the routes set up you do not need to have content pages set up in your main `_content` folder. For more information on routes see the [Statamic documentation](http://statamic.com/learn/advanced-features/routes).

Visit the following pages in your site to see the examples (taken from the routes.yaml file):

- /member/login
- /member/update:
- /member/register
- /member/dashboard

repository: garethredfern/statarkers-membership

repo_name: garethredfern/statarkers-membership


text:
# Color gradient algo for AIQ sensor

Adjust colors, steps and boundaries, run it to generate a static map, store it in `PROGMEM`

[Color Gradient](https://stackoverflow.com/questions/22607043/color-gradient-algorithm) by [Mark Ransom](https://stackoverflow.com/users/5987/mark-ransom)

"...The intensity of the gradient must be constant in a perceptual color space or it will look unnaturally dark or light at points in the gradient. You can see this easily in a gradient based on simple interpolation of the sRGB values, particularly the red-green gradient is too dark in the middle. Using interpolation on linear values rather than gamma-corrected values makes the red-green gradient better, but at the expense of the back-white gradient. By separating the light intensities from the color you can get the best of both worlds.

Often when a perceptual color space is required, the Lab color space will be proposed. I think sometimes it goes too far, because it tries to accommodate the perception that blue is darker than an equivalent intensity of other colors such as yellow. This is true, but we are used to seeing this effect in our natural environment and in a gradient you end up with an overcompensation.

A power-law function of 0.43 was experimentally determined by researchers to be the best fit for relating gray light intensity to perceived brightness..."

```
Algorithm MarkMix
   Input:
      color1: Color, (rgb)   The first color to mix
      color2: Color, (rgb)   The second color to mix
      mix:    Number, (0..1) The mix ratio. 0 ==> pure Color1, 1 ==> pure Color2
   Output:
      color:  Color, (rgb)   The mixed color

   //Convert each color component from 0..255 to 0..1
   r1, g1, b1 ← Normalize(color1)
   r2, g2, b2 ← Normalize(color1)

   //Apply inverse sRGB companding to convert each channel into linear light
   r1, g1, b1 ← sRGBInverseCompanding(r1, g1, b1)
   r2, g2, b2 ← sRGBInverseCompanding(r2, g2, b2)

   //Linearly interpolate r, g, b values using mix (0..1)
   r ← LinearInterpolation(r1, r2, mix)
   g ← LinearInterpolation(g1, g2, mix)
   b ← LinearInterpolation(b1, b2, mix)

   //Compute a measure of brightness of the two colors using empirically determined gamma
   gamma ← 0.43
   brightness1 ← Pow(r1+g1+b1, gamma)
   brightness2 ← Pow(r2+g2+b2, gamma)

   //Interpolate a new brightness value, and convert back to linear light
   brightness ← LinearInterpolation(brightness1, brightness2, mix)
   intensity ← Pow(brightness, 1/gamma)

   //Apply adjustment factor to each rgb value based
   if ((r+g+b) != 0) then
      factor ← (intensity / (r+g+b))
      r ← r * factor
      g ← g * factor
      b ← b * factor
   end if

   //Apply sRGB companding to convert from linear to perceptual light
   r, g, b ← sRGBCompanding(r, g, b)

   //Convert color components from 0..1 to 0..255
   Result ← MakeColor(r, g, b)
End Algorithm MarkMix
```
##Example colors and boundaries

<img src="./aiq-colors.jpg">

branch_name: refs/heads/main


text:
---
breadcrumbs:
- - /chromium-os
  - Chromium OS
- - /chromium-os/how-tos-and-troubleshooting
  - How Tos and Troubleshooting
- - /chromium-os/how-tos-and-troubleshooting/debugging-tips
  - Chromium on Chromium OS Debugging Tips
page_name: setting-up-tcpdump
title: Setting up tcpdump
---

## Setting up tcpdump

tcpdump is installed by default on test builds. You should be able to run
tcpdump to collect traces, then copy the files back to your development machine
and analyze the traces with your favorite tool (tcpdump, WireShark, etc).

repository: iridium-browser/iridium-browser

repo_name: iridium-browser/iridium-browser


text:
# Deeply Learning Minesweeper
A deep exploration into the game of Minesweeper. Built using pygame, numpy, and pytorch.

Minesweeper is a grid-based game of pure logic and chance (you can always either figure it out, or it's simply a game
of probability). Can a computer learn to play it well? _How_ does it learn the game?

How complex are Minesweeper games? Could a game be guaranteed to be solvable? What do optimal solvers look like?

How likely are you to win a particular game, for different game configurations? Can you get better chances of winning?

What happens with other tesselations? Is triangular or hexagonal minesweeper any different?

## Rules of the Game for Humans
Each cell can be hidden or open (or _flagged_). Underneath some of the cells is a mine; opening a cell with a mine
underneath ends the game. To figure out where the mines are, opening cells without mines underneath will display
the number of mines in the cells adjacent to that cell (including corner adjacent cells). The goal of the game is to
open all cells that don't have mines underneath.

Some usual features of the game:
- you can 'flag' a cell to mark that you believe there's a mine underneath
- by double-clicking an open cell (obviously without a mine in it), adjacent cells will be opened for you if the
 number of adjacent flags matches the number in the cell---this is called chording
- there are additional special features that can be activated in this version of the game

TODO: add images for clarification

## Possible Learning Models
- train an imitation learner that plays like a person
- learn a reinforcement algorithm that plays the game and develops a sense of the logic
- train a reinforcement GAN to learn to play the game better in worse conditions
  - discriminator plays the game (maximizes reward)
  - generator produces difficult game boards (minimizes discriminator's reward **and** number of mines)

### RL Agent
Input: matrices containing environment states
- visibility mask: whether each cell is {HIDDEN, OPEN, FLAGGED} (in general, FLAGGED just means HIDDEN)
- proximity (neighbors) matrix: how many mines are in the vicinity of each cell

Output: (normalized) coordinates of cell to open

Metrics: knowledge of the board state, completion/percentage of cells opened, negative for opening mines
- reward of participation: OoS (open over sites)
- reward of knowledge: msd (mean squared degree)
- cost of mines: MoS (mines over sites)

repository: tmthyln/deepminesweeper

repo_name: tmthyln/deepminesweeper


text:
---
title: DiscoverBSD on Mastodon
date: 2019-01-03 16:13 UTC
tags: discoverbsd, mastodon
---

I'm really happy to announce that [DiscoverBSD](https://discoverbsd.com) can now be found on Mastodon.

To be more precise, on [bsd.network](https://bsd.network/) instance as [@discoverbsd](https://bsd.network/@discoverbsd) or [@discoverbsd@bsd.network](https://bsd.network/@discoverbsd).

Hope to talk to you there, all articles will be posted there the same as on [Twitter](https://twitter.com/_DiscoverBSD).

branch_name: refs/heads/develop

extension: markdown

gha_language: HTML


text:
---
title: "Create todos - mutation"
metaTitle: "Mutation to create todos | GraphQL React Native Apollo Tutorial"
metaDescription: "GraphQL Mutation to create new personal todos. Try the mutation in GraphiQL, passing the Authorization token to get authenticated results."
---

In this part of the tutorial, you will learn how to create new todos by using GraphQL Mutations.

Let's define a graphql query to do a mutation into todos.

```graphql
  mutation ($text: String!, $isPublic: Boolean){
    insert_todos (
      objects: [{
        title: $text,
        is_public: $isPublic
      }]
    ){
      returning {
        id
        title
        is_completed
        created_at
        is_public
        user {
          name
        }
      }
    }
  }
```

You will also need to pass in the values for the variables.

[Try](https://hasura.io/learn/graphql/graphiql?tutorial=react-native) this mutation in GraphiQL against the application database to see what the response looks like.

Let's now integrate this graphql mutation into our react app.

repository: hasura/learn-graphql

gha_language: JavaScript

repo_name: hasura/learn-graphql


text:
---
breadcrumbs:
- - /updates
  - updates
page_name: ua-ch
title: User-Agent Client-Hints
---

# **Overview**

This page provides a central reference point about the User-Agent Client Hints
(UA-CH) rollout for Chrome 85+ stable. If you’re not familiar with User-Agent
Client Hints, you can read up on them
[here](https://web.dev/user-agent-client-hints/).

# **Launch Timeline**

Last updated November 22, 2021

*   **March 3, 2021: UA-CH is rolling out to 100% of stable population
            in tandem with version 89**
*   **October 14, 2020:** We've paused increasing the population subset
            of the roll out while we examine ecosystem impact and investigate
            possible issues due to the Structured Headers format.
*   **October 5, 2020:** Gradual roll out continues to a larger subset
            of the population.
*   **September 9, 2020:** UA-CH will begin roll out to an initial small
            percentage of the Chrome 85 stable population.
*   **May, 2020:** UA-CH was rolled out to most of Chrome Canary, Dev
            and Beta populations.
*   **June 10, 2021**: Critical-CH and ACCEPT_CH features were disabled
            due to a potential crash while investigating and implementing fixes.
*   **November 22, 2021**: Intent to Ship: Sec-CH-UA-Full-Version-List
            user-agent client hint.

# **Possible Site Compatibility Issue**

UA-CH is an additive feature, which adds two new request headers that are sent
by default: \`sec-ch-ua\` and \`sec-ch-ua-mobile\`. Those request headers are
based off of [Structured Field
Values](https://httpwg.org/http-extensions/draft-ietf-httpbis-header-structure.html),
an emerging standard related to HTTP header values. They contain characters
that, though permitted in the HTTP specification, weren’t previously common in
request headers, such as double-quotes (“), equal signs (=), forward-slashes
(/), and question marks (?). Some Web-Application-Firewall (WAF) software, as
well as backend security measures, may
[mis-categorize](https://bugs.chromium.org/p/chromium/issues/detail?id=1091285)
those new characters as “suspicious”, and as such, block those requests.

This typically presents itself as a 4XX HTTP response code (e.g. 400, 404 or
422), either on any request or on POST requests or API endpoints (which servers
tend to take special precautions with).

# **How to file bugs**

Here are some basic troubleshooting steps:

*   Check `chrome://version` and make sure the version number is at
            least 85. The UA-CH feature is only enabled for Chrome 85+.
*   If the issue is primarily the browser or tab experiencing a crash or
            hang, it is not likely to be a UA-CH related issue.
*   Test again with the \``--disable-features=UserAgentClientHint`\`
            command line flag. You can use the [test
            site](https://user-agent-client-hints.glitch.me/) to verify that the
            feature is indeed off.
*   If the problem persists, the source of the issue is likely to be
            elsewhere.
*   In case the problem went away, that’s a strong indicator that it is
            a UA-CH related issue

If after trying these things, you have determined that it may be a UA-CH issue,
please [file a CR bug](https://crbug.com/new), including \[UA-CH\] in its title.
Add a comment about it to the following [tracking
bug](https://bugs.chromium.org/p/chromium/issues/detail?id=1091285).

# **(Deprecated) How to identify if a user is in the stable experiment**

**Note:** As of Chrome 89, this feature is rolled out to full population.

Go to `chrome://version?show-variations-cmd`. Search for “UserAgentClientHint”
in the long command string towards the bottom. If they are in the enabled group,
the `--force-fieldtrials` value will say something like one of the following:

*   /\*UserAgentClientHintRollout/Enabled/
*   /\*UserAgentClientHintRollout/Enabled_v2/
*   /\*UserAgentClientHintRollout/Enabled_v3/
*   /\*UserAgentClientHintRollout/Enabled_v4/
*   /\*UserAgentClientHintRollout/Enabled_v5/

If they do not have the features enabled, the string will be absent.

Alternatively, going to this [test
site](https://user-agent-client-hints.glitch.me/) can confirm the feature is
enabled - when the feature is enabled \`sec-ch-ua\` and \`sec-ch-ua-mobile\`
requests will be listed as being sent by the client.


text:
---
layout: "page"
title: "Financial Developments"
path: "/brochures/A3/2001/financialp.html"
---

Financial Plans

Annual Report 2001 Contents

For the local program, the Yale-New Haven Teachers Institute is currently seeking funds that might be used for seminars in either the humanities or the sciences. Its major long-term need is for an endowment that would provide continuing support for seminars in the sciences. The existing endowment for the Teachers Institute is limited to support for seminars in the humanities, and the teachers’ expressed need for seminars in the sciences has increased dramatically in the last few years.

On the national level, as we have said, the Teachers Institute has developed a plan for a fourteen-year continuing initiative that will establish as many as 45 additional Teachers Institutes across the nation. This plan includes the two-year Preparation Phase on which we have now embarked, followed by a twelve-year Implementation Phase. Support for the Preparation Phase has been made possible through an extension of the National Demonstration Project by the Wallace-Reader’s Digest Funds into 2003 and a new grant from the Jessie Ball duPont Fund.

During the Implementation Phase, funds will be needed to:

• establish a national association of Teachers Institutes, with a Director, appropriate staff and technical support;

The Teachers Institute has developed a plan for a fourteen-year continuing initiative that will establish as many as 45 additional Teachers Institutes across the nation.

• provide renewable Implementation Grants for the participating Teachers Institutes already established, in order to assure their viability, their scaling-up to serve their own urban sites, and their contribution to the process of establishing new Teachers Institutes;

• enable the Yale-New Haven Teachers Institute and, to some extent, the other participating Institutes, to make initial contacts, carry out visits to interested sites, establish an annual July Intensive in New Haven, and maintain Annual Conferences;

• sustain the publication of On Common Ground, which will serve as a means of disseminating information about the progress and results of the national initiative;

• and provide eight-month Planning Grants and three-year renewable Implementation Grants to the new Teachers Institutes being established.

Funds will also be needed to provide technological assistance for the national association of Teachers Institutes.

The funding described above might best be provided by a partnership between Yale University and one or more major foundations, which would work with us in accomplishing this plan. That funding might be supplemented as necessary by other major grants or lesser grants. The grants might be administered by the partnership, by individual foundations, or by the office of the Director of the national association of Teachers Institutes. The projected cost of the entire National Initiative is 63.8 million dollars. A detailed break-down of that figure is included in the document prepared by the Institute: “Strengthening Teaching in America’s Schools: A Proposal to Replicate Nationally the Successes of the Yale-New Haven Teachers Institute.”

to the top of Financial Plans

© 2002 by the Yale-New Haven Teachers Institute


text:
# xlsKami

Out-of-the-Box Tool to Obfuscate Excel 97-2003 XLS, rewrite from amazing [Macrome](https://github.com/michaelweber/Macrome), for easy to use by Red-Teams.

## Support Features
1. Cell Labels Obfuscation e.g. Auto_Open
2. Cell Labels **Super-Hidden**: total not able to unhide from Excel GUI
3. BoundSheet **Super-Hidden**:  total not able to unhide from Excel GUI too.

![](demo.png)

## Reference
1. https://malware.pizza/2020/05/12/evading-av-with-excel-macros-and-biff8-xls/amp/?__twitter_impression=true
2. https://github.com/michaelweber/Macrome
3. https://github.com/outflanknl/EvilClippy

repository: mmyyhack/xlsKami

repo_name: mmyyhack/xlsKami


text:
---
title: "Student Tutor"
collection: teaching
type: "Part-time"
permalink: /teaching/1_StudentTutor_BRACU
venue: "Department of Computer Science and Engineering, BRAC University"
date: 2019-09-26
location: "Dhaka, Bangladesh"
---

I have been employed in the position of Student Tutor (ST) at Department of Computer Science and Engineering, BRAC University for consecutive four semesters from 26th September, 2019 to 31st December, 2020.

## Major Responsibilities ##

* Guiding students with the basic and advanced concepts of Java and Python programming language
* Helping students to better understand the course materials
* Discussing assignments and quiz problems
* Taking tutorial classes
* Assisting lab instructors
* Checking assignments and quiz scripts
* Working with the assigned supervisor in developing strategies to improve student engagement and facilitate learning


text:
---

id: principal

title: "Principal"

scopeid: essifLab

type: concept

typeid: principal

stage: draft

hoverText: "Principal (of an Actor) --  the Party for whom, or on behalf of whom, the Actor is executing an Action (this Actor is then called an Agent of that Party)."

---

:::info Editor's noet

TNO to revise this text

:::

### Short Description

A **principal** is the term we use to refer to the party for which (on whose behalf) an %%agent|agent%% is executing an %%action|action%%. The Agent-Principal relation is an %%actor|actor%%-party relation where the %%actor|actor%% is executing an %%action|action%% on behalf of that party, and for the execution of which that party has established a %%policy|policy%% that the %%agent|agent%% must (or may) follow, and hence must have access to). For %%digital agents|digital-agent%%,

The %%Parties, Actors and Actions pattern|pattern-party-actor-action%% provides an overview of how this concept fits in with related concepts.

### Purpose

The ability to distinguish between (non)principals is relevant in many situations, including:

- electronic communication: the principal

### Criterion

The **principal** (of an %%actor|actor%%) is the party for whom the actor is an %%agent|agent%%, i.e. on whose behalf the actor is (in the process of) executing some %%action|action%%.

### Examples

- A person that is 'doing its own things' is the Principal for himself (as an Actor); the person is also an Agent for himself (as a party).

- When a person is doing things for his employer, the latter is his Principal.

repository: trustoverip/ctwg-sandbox

repo_name: trustoverip/ctwg-sandbox


text:
# Auth CRUD with Google Cloud Platform (Firebase)

## Getting Started

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

### Prerequisites

What things you need to install the software and how to install them. You need the following:

```
Node v10 or higher
npm 6.14.0 or higher
Google Account
```

### Installing

A step by step series of examples that tell you how to get a development env running

Say what the step will be

```
Clone the repo from https://github.com/lytecode/auth-crud-api.git
```

```
cd into the folder auth-crud-api

Delete
    - .firebaserc
    - firebase.json
    - firestore.indexes.json
    - firestore.rules

```

Run

```
firebase init

then flow the prompt,

After setup,
cd into functions and run
npm run serve

```

## Built With

- [Nodejs](https://nodejs.org/en/) - Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
- [npm](https://www.npmjs.com) - Dependency Management
- [Express](https://expressjs.com) - Fast, unopinionated, minimalist web framework for Node.js
- [Firebase](https://console.firebase.google.com/u/1/) - On Google cloud platform

## Author

- **Mbonu Basil** - [lytecode](https://github.com/lytecode)

## License

This project is licensed under the MIT Licenses

repository: lytecode/auth-crud-api

repo_name: lytecode/auth-crud-api


text:
# Introduction
A bluffing dynamic occurs in multiplayer games when:
 * a player takes an action that is strong in some game states and weak (or different) in others,
 * that player knows whether the action is strong or weak,
 * other player(s) don't know whether the action was strong or weak,
 * and the optimal response of other player(s) depends on the strength of the action.

Bluffing requires [hidden information](/games/information).

# Form Considerations
Bluffing dynamics invariably involve the notion of *tells*, in which the players from whom the
information is hidden will attempt to determine by observation of the acting player's behavior (are
they nervous, do they blink, how long did it take them to decide to take that action, etc). Because
of this, bluffing dynamics are generally affected by the communication capabilities of the players
(bluffing in a tabletop session of [poker](/games/tabletop/examples/poker) is different from
bluffing in a digital version of the game).

repository: jpawlicki/ruleshaus

repo_name: jpawlicki/ruleshaus


text:
#### Request the coordinates of all players from all servers
There is no built in method, so a third party solution or programmed API is required

List of researchable APIs:

https://dev.bukkit.org/projects/protocollib

#### Create clusters according to defined rules
At first iteration it will be a conditional teleportation.
#### Allocate players to according clusters
Bungee cord has built in send <player> <server> command.
Player state has to be transferred between servers
Movement between servers should be seamless(maybe fooling client, that it interacts with same server).

repository: oomti/minecraft-mmog

repo_name: oomti/minecraft-mmog


text:
# motion-blur-move

Move a dom element with exponential speeds and motionblur. Motion blur i achieved through the SVG filter method.

## Usage

Load the motion-blur-move.js into your template. Add the svg to the template.

```
<svg width="1" height="1">
    <defs>
        <filter id="svg-motion-blur">
            <feGaussianBlur in="SourceGraphic" stdDeviation="0 0" />
        </filter>
    </defs>
</svg>
```

Engage a motion by running this.

```
motionBlur(document.getElementById('moveme'), {
    durationMs: 200,
    xTargetDistancePx: 300,
    applyToggle: true,
    easing: 'easeInQuad',
    useMotionBlur: true,
    blurMultiplier: 2,
  }).then((el) => console.log('done', el));
```

Or minimal with defaults

```
motionBlur(document.getElementById('moveme'));
```

The function returns a promise when the move is finnished.

## Available easing methods

- easeOutExpo,
- easeInSine,
- easeOutSine,
- easeInOutSine,
- easeInCubic,
- easeOutCubic,
- easeInOutCubic,
- easeInQuint,
- easeInQuad,
- easeOutQuad,
- easeInOutQuad,
- easeInQuart,
- easeOutQuart,
- easeInOutQuart,
- easeInExpo,
- easeOutExpo,
- easeInOutExpo,
- easeInCirc,
- easeOutCirc,
- easeInOutCirc,
- easeInBack,
- easeOutBack,
- easeInOutBack,
- easeInElastic,
- easeOutElastic,
- easeInOutElastic,
- easeInBounce,
- easeOutBounce,
- easeInOutBounce,

## Gotchas

- The blur wont extend outside the target element borders and then the blur effect will not look good. Instead create a invisible wrapper div with enough padding to the visible element for the motion blur effect to spill over outside the visible elements border.
- The blur amount is calculated in proportion to the number of pixels moved per time unit. This means that if the element is moving slowly the effect is smaller. If you still want exagerate the effect use the multiplier argument to increase the blur.

## Todos

- Make the function take multiple css properties, possibly on set of in and one out, and let the easing method work those too.
- Make it accept other units than px for distance.
- Create the svg implicitly from within the function itself. For now the filter won't work when done this way.
- Look into extending a div element (or all) with this as a function.
- Look into making a custom web component that wraps a target element.

repository: nicatspark/motion-blur-move

repo_name: nicatspark/motion-blur-move


text:
---
uid: crmscript_ref_NSResolvedUser_SetUser
title: SetUser(NSUser user)
intellisense: NSResolvedUser.SetUser
keywords: NSResolvedUser, GetUser
so.topic: reference
---

# SetUser(NSUser user)

The resolved NSUser instance.

**Parameter:**
 - **user** User

```crmscript
NSResolvedUser thing;
NSUser user;
thing.SetUser(user);
```

repository: stianol/crmscript

repo_name: stianol/crmscript


text:
# Introduction

The Prometheus Exporter Toolkit is a toolkit available to promote a common set
of practices when developing in the Prometheus ecosystem. It is written in
Golang.

This documentation is the end user configuration. Developers documentation can
be found on [pkg.go.dev](https://pkg.go.dev/github.com/prometheus/exporter-toolkit/).

* [Web configuration](web-configuration.md)

repository: prometheus/exporter-toolkit

gha_language: Go

repo_name: prometheus/exporter-toolkit


text:
## Related Issue

- Info about the related issue

Closes: #[issue number that will be closed through this PR]

### Describe the changes you've made

Give a clear description what modifications you have made

## Type of change

What sort of change have you made:
<!--
Example how to mark a checkbox:-
- [x] My code follows the code style of this project.
-->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Enhancement in the existing features
- [ ] Other

## Mention any unusual behaviour of your code (Write NA if not)
Any unusual behaviour of your code

## Checklist:
<!--
Example how to mark a checkbox:-
- [x] My code follows the code style of this project.
-->
- [ ] My code follows the guidelines of this project.
- [ ] I have performed a self-review of my own code.
- [ ] I have commented my code, particularly whereever it was hard to understand.
- [ ] My changes generate no new warnings.
- [ ] I have verified/tested my code by running it locally.

## Additional Info (optional)
Any additional information you want to give


text:
---
title: 'Respectful code'
description: 'Inclusivity is central to V8’s culture, and our values include treating each other with dignity. As such, it’s important that everyone can contribute without facing the harmful effects of bias and discrimination.'
---

Inclusivity is central to V8’s culture, and our values include treating each other with dignity. As such, it’s important that everyone can contribute without facing the harmful effects of bias and discrimination. However, terms in our codebase, UIs, and documentation can perpetuate that discrimination. This document sets forth guidance which aims to address disrespectful terminology in code and documentation.

## Policy { #policy }

Terminology that is derogatory, hurtful, or perpetuates discrimination, either directly or indirectly, should be avoided.

## What is in scope for this policy? { #scope }

Anything that a contributor would read while working on V8, including:

- Names of variables, types, functions, files, build rules, binaries, exported variables, ...
- Test data
- System output and displays
- Documentation (both inside and outside of source files)
- Commit messages

## Principles { #principles }

- Be respectful: derogatory language shouldn’t be necessary to describe how things work.
- Respect culturally sensitive language: some words may carry significant historical or political meanings. Please be mindful of this and use alternatives.

## How do I know if particular terminology is OK or not? { #questions }

Apply the principles above. If you have any questions, you can reach out to<EMAIL_ADDRESS>
## What are examples of terminology to be avoided? { #examples }

This list is NOT meant to be comprehensive. It contains a few examples that people have run into frequently.

:::table-wrapper
| Term      | Suggested alternatives                                        |
| --------- | ------------------------------------------------------------- |
| master    | primary, controller, leader, host                             |
| slave     | replica, subordinate, secondary, follower, device, peripheral |
| whitelist | allowlist, exception list, inclusion list                     |
| blacklist | denylist, blocklist, exclusion list                           |
| insane    | unexpected, catastrophic, incoherent                          |
| sane      | expected, appropriate, sensible, valid                        |
| crazy     | unexpected, catastrophic, incoherent                          |
| redline   | priority line, limit, soft limit                              |
:::

## What if I am interfacing with something that violates this policy? { #violations }

This circumstance has come up a few times, particularly for code implementing specifications. In these circumstances, differing from the language in the specification may interfere with the ability to understand the implementation. For these circumstances, we suggest one of the following, in order of decreasing preference:

1. If using alternate terminology doesn’t interfere with understanding, use alternate terminology.
1. Failing that, do not propagate the terminology beyond the layer of code that is performing the interfacing. Where necessary, use alternative terminology at the API boundaries.


text:
---
title: Install Spinnaker on Lightweight Kubernetes using Minnaker
linkTitle: Minnaker
weight: 4
description: >
  Install Spinnaker or Armory Enterprise for Spinnaker in less than 10 minutes in a Lightweight Kubernetes (k3s) environment using the all-in-one, open source command line tool called Minnaker.
---

## Install Spinnaker in 10 minutes using Minnaker

Armory Minnaker is an easy to use installation script that leverages the power of **Kubernetes** with the simplicity of a _Virtual Machine_. Minnaker makes it easy to install Spinnaker and lets you scale your deployment into a medium to large deployment down the road.

The Kubernetes environment that gets installed on your behalf is based on [Rancher's K3s](https://k3s.io/). You do not need to know how to set up Kubernetes. Minnaker takes care of the hard parts for you, allowing you to get Spinnaker up and running in under 10 minutes.

Watch _Spinnaker in 10 minutes or less with Project Minnaker_ for a demo of using Minnaker to install Spinnaker on cloud platforms as well as VMWare Fusion running locally.

<iframe width="560" height="315" src="https://www.youtube.com/embed/jg8vJEzcuAA" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

### Prerequisites for running Minnaker

Your VM should have 4 vCPUs, 16G of memory and 30G of HDD space.

### Getting started

Check out the [GitHub project](https://github.com/armory/minnaker) for more information. After you install Minnaker, use the [AWS Quick Start]({{< ref "Armory-Spinnaker-Quickstart-1" >}}) to learn how to configure Armory to deploy to AWS.

repository: dev-chulbuji/docs

repo_name: dev-chulbuji/docs


text:
---
title: Segment Display player
---

# Segment Display player

The *segment display player* is a
[config player](index.md)
that's used to show text or numbers on segment displays.

## Usage in config files

In config files, the segment display player is used via the
`segment_display_player:` section.

## Usage in shows

In shows, the segment display player is used via the `segment_displays:`
section of a step.

## Config Options

See [segment_display_player:](../config/segment_display_player.md) for
config details.

repository: missionpinball/mpf-docs

gha_language: Python

repo_name: missionpinball/mpf-docs


text:
# Proc v Lambda

Exploring differences and similarities between procs and lambdas in Ruby.

## Notes

Ruby gives you all these ways of creating closures: `Proc`, `proc`, `lambda` `->`.

TLDR:

* these are all basically the same, but with some subtle differences that one is best advised to avoid making code dependent upon.
* when in doubt, just use `lambda` (multi-line) or stabby `->` (single line).

### Language Feature Definitions

* [Proc](https://ruby-doc.org/core-2.7.0/Proc.html) - A Proc object is an encapsulation of a block of code, which can be stored in a local variable, passed to a method or another Proc, and can be called
* [proc](https://ruby-doc.org/core-2.7.0/Kernel.html#method-i-proc) - kernel method Equivalent to Proc.new.
* [lambda](https://ruby-doc.org/core-2.7.0/Kernel.html#method-i-lambda) - Equivalent to Proc.new, except the resulting Proc objects check the number of parameters passed when called.
* [->](https://ruby-doc.com/core/doc/syntax/literals_rdoc.html#label-Procs) - A proc can be created with `->` (it is in fact a lambda-style proc)

### Technical Diffferences

Procs and lambdas both return `Proc` objects, but they have different "lambda-ness"!!
The lambda-ness affects argument handling and the behavior of return and break.

    proc_handle = proc { puts "i'm a proc" }
    lambda_handle = lambda { puts "i'm a lambda-style proc" }
    assert_equal proc_handle.class, lambda_handle.class
    assert_equal false, proc_handle.lambda?
    assert_equal true, lambda_handle.lambda?

### Difference 1: arguments

Lambdas check the number of arguments, while procs do not

### Difference 2: return context

Procs return from the current method, while lambdas return from the lambda itself:

* `return` inside a lambda returns to the calling context where the lambda was executed
* `return` inside a proc return from the calling context where the proc was executed

NB: `break` has the same effect is applicable

### Best Practices in a Nutshell

[Stabby Lambda Definition with Parameters](https://rubystyle.guide/#stabby-lambda-with-args)
Use parens:

    l = ->(x, y) { something(x, y) }

[Stabby Lambda Definition without Parameters](https://rubystyle.guide/#stabby-lambda-no-args)
Don't use parens:

    l = -> { something }

[Multi-line Lambda Definition](https://rubystyle.guide/#lambda-multi-line)
Use `lambda` method instead of stabby lambda `->`:

    l = lambda do |a, b|
      tmp = a * 7
      tmp * b / 50
    end

[proc vs Proc.new](https://rubystyle.guide/#proc)
Prefer `proc` over `Proc.new`:

    p = proc { |n| puts n }

[Proc Call](https://rubystyle.guide/#proc-call)
Prefer proc.call() over proc[] or proc.() for both lambdas and procs.

    l = ->(v) { puts v }
    l.call(1)

## Example Code

The [examples.rb](./examples.rb) file wraps up demonstrations of all these features in a set of tests.
Not very exciting to run!

```
$ ruby examples.rb
Run options: --seed 46371

# Running:

............

Finished in 0.001421s, 8444.7566 runs/s, 16185.7834 assertions/s.

12 runs, 23 assertions, 0 failures, 0 errors, 0 skips
```

## Credits and References

* [What's the difference between a proc and a lambda in Ruby?](https://stackoverflow.com/questions/1740046/whats-the-difference-between-a-proc-and-a-lambda-in-ruby)
* [proc vs Proc.new](https://rubystyle.guide/#proc)
* [Blocks, Procs & Lambdas](https://rubystyle.guide/#blocks-procs-lambdas) - rubystyle guide

repository: tardate/LittleCodingKata

repo_name: tardate/LittleCodingKata


text:
CSS Galaga
==========

Recreating classical Galaga in HTML/JS/CSS.

The idea behind this project is: Can I rebuild Galaga, to scale, with only CSS and Javascript? After playing around with some css tricks I found the box-shadow method to be the best method for recreating pixels without images. I created a secondary project that would take a picture and produce css to render it. Now that I had the sprites it was time to implement the logic. It is just basic movement and missle fire, some day I will get back to implementing enemy flight and attack from my notes.

Controls
========
When running the game, wait for the sound to load, you will be prompted with the classical Galaga coin insert noise when everything is ready to go. The beginning level sound will play and then the game will commence. Use the `left` and `right` arrow keys to move back and forth and use the `space` key to fire missles.

Running Version
===============
http://zacharycava.com/games

Notes About Performance
=======================
The game is not very optimized at the moment and requires some heafty hardware to run, though I have been able to successfully run it on an ASUS 1000HE netbook, so any moderate hardware should do. You must play the game in Chrome though because of render differences in Firefox and absolute destruction in IE. Its just a project for fun, I am not to concerned with cross browser support at the moment. Perhaps in the future.

repository: brady-kondek/kondekgames

repo_name: brady-kondek/kondekgames


text:
title: Combell

# How To Use the Combell DNS Plugin

[Combell NV][1] is a hosting provider based in Belgium. Besides offering hosting solutions, Combell NV is an
[ICANN Accredited Registrar under IANA number 1467](https://www.icann.org/en/accredited-registrars?sort-direction=asc&sort-param=name&page=1&iana-number=1467&country=Belgium).

This plugin works with the [Combell][1] DNS provider by using the Combell Reseller API.

!!! warning
    The Combell Reseller API (also referred to as the _Combell API_), is _only_ available for reseller accounts, which are more expensive than normal accounts. A free trial is available - see [reseller hosting](https://www.combell.com/en/reseller-hosting) for more information. |

The remainder of this document assumes you have a reseller account and have created the DNS domain zone(s) you'll be working with.

## Setup

The Combell API can be activated for any administrator in the Combell reseller account.

To add administrators, navigate to [Dashboard / Settings / Administrators](https://my.combell.com/en/user-management/administrators), and click the **Invite administrator** button to add an administrator.

Click the **Permissions** button next to an administrator's name, and ensure the administrator's permssions is configured as **All rights** (_"User <UserName> has access to all the products in this customer account"_).

Next, navigate to [Dashboard / Settings / API / Users](https://my.combell.com/en/settings/api/users) and activate the
API key for the required administrator(s):
- Click the **API key** button next to the administrator's user name;
- Click the **Activate the API key** button (_"Activate an API key for this user."_);

The API key and API secret will now appear. You'll need them in the next section **Using the Plugin**.

### IP address whitelisting

The Combell API can only be accessed from registered IP addresses.

Navigate to [Dashboard / Settings / API / IP restrictions](https://my.combell.com/en/settings/api/ip-restrictions) and
add your public IP address(es) to the whitelist.

## Using the Plugin

The API Key and Secret and used with the `CombellApiKey` and `CombellApiSecret` parameters as SecureString values. Using SecureString ensures the values are saved to disk in encrypted form by Posh-ACME for later
renewals.

``` powershell
$pArgs = @{
    CombellApiKey = (Read-Host "Combell API key" -AsSecureString)
    CombellApiSecret = (Read-Host "Combell API secret" -AsSecureString)
}
New-PACertificate example.com -Plugin Combell -PluginArgs $pArgs
```

## External links

- [Combell.com][1].
- [Combell API Documentation][2].

[1]: https://www.combell.com/
[2]: https://api.combell.com/v2/documentation

repository: rmbolger/Posh-ACME

gha_language: PowerShell

repo_name: rmbolger/Posh-ACME


text:
---
layout: blog
title: Prescription Drug Take Back Day 10/26

---

[See flyer here](https://storage.googleapis.com/static.rutherford-nj.com/police/police%20blog%20posts/DEA_TakeBack2019_Poster_8.5x11_Eng_1.pdf)

[Disposal of Vaping Products](https://storage.googleapis.com/static.rutherford-nj.com/police/police%20blog%20posts/Vaping%20Disposal-Final.pdf)

**Saturday, October 26**

**10 a.m. - 2 p.m.**

**Rutherford Police Department**

**184 Park Ave**

This Prescription Drug Take Back Day in Rutherford, NJ addresses a crucial public safety and public health issue. Did you know that 9.9 million Americans misused controlled prescription drugs, according to the 2018 National Survey on Drug Use and Health. The study shows that a majority of abused prescription drugs were not obtained from drug dealers, but rather from family and friends. Often times without their knowledge from the home medicine cabinet.

The DEA’s Take Back Day events provide an opportunity for Americans to prevent drug addiction and overdose deaths. Too often, unused prescription drugs find their way into the wrong hands. That's dangerous and often tragic. That's why it was great to see thousands of folks from across the country clean out their medicine cabinets and turn in - safely and anonymously - a record amount of prescription drugs.

DEA will collect vape pens or other e‐cigarette devices
from individual consumers only after the batteries are
removed from the devices. It is important to stress that
the DEA is not responsible for removing the batteries
from the devices.

If the battery cannot be removed, individual consumers
can check with large electronic chain stores who may
accept the vape pen or e‐cigarette devices for proper
disposal.

Individual consumers may also contact their local
Hazardous Materials Management Facility to determine if
they accept these devices, and for additional guidance
regarding proper disposal.

https://takebackday.dea.gov/

branch_name: refs/heads/beta


text:
---
layout: default
---

# 1997-02-07 - No Subject

## Header Data

From: Huge Cajones Remailer<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Message Hash: 26fcd65cf51f01518a7bd2970a2d2570dd033106be0ab477cac011e9cbb12b3e

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1997-02-07 20:00:32 UTC

Raw Date: Fri, 7 Feb 1997 12:00:32 -0800 (PST)

## Raw message

```
{% raw  %}From: Huge Cajones Remailer<EMAIL_ADDRESS>Date: Fri, 7 Feb 1997 12:00:32 -0800 (PST)
To<EMAIL_ADDRESS>Subject: No Subject
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

Date: Fri, 07 Feb 1997 07:13:18 -0800
From: Dale Thorn<EMAIL_ADDRESS>
:When I was in the Perot camp

Gotta be Dale!

A measure of my health; I admit preferring the invective of Tim and Dr. V. to this purile nonsense.

Pablum for the c'punk masses.

Ciao

{% endraw %}
```

## Thread

+ Return to [February 1997](/archive/1997/02)

+ Return to "[Huge Cajones Remailer <nobody@huge.cajones.com>](/authors/huge_cajones_remailer_nobody_at_huge_cajones_com_)"

+ 1997-02-07 (Fri, 7 Feb 1997 12:00:32 -0800 (PST)) - No Subject - _Huge Cajones Remailer<EMAIL_ADDRESS>


text:
# pi-jenkins-ssh-agent
A docker ssh agent for Jenkins that runs on Raspberry Pis (ARM).
The ssh agent's docker image is based on Jenkin's [docker-ssh-slave](https://github.com/jenkinsci/docker-ssh-slave).

## Docker Images

[Images](https://hub.docker.com/r/ottenwbe/armv7-jenkins-ssh-agent) are hosted on [Docker Hub](https://hub.docker.com/) and can be used with the [Jenkins Docker Plugin](https://wiki.jenkins.io/display/JENKINS/Docker+Plugin).

```
https://hub.docker.com/r/ottenwbe/armv7-jenkins-ssh-agent
```

## Repo Structure

```
.
├── CI                      // Files required by the Jenkins pipeline
│   ├── build-config.yaml   // Build configuration parameters
│   ├── buildConfig.groovy  // Helper scripts
│   ├── goss.yaml           // GOSS tests for the docker image
│   └── Jenkinsfile         // The pipeline
├── Dockerfile              // Docker ssh agent's (armv7) Dockerfile
├── LICENSE
├── README.md
└── setup-sshd
```

## Build

### Build locally

The ssh agent's docker image can be built locally on an arm system, e.g., on a Raspberry Pi.
Note, the BASE_IMAGE_TAG build arg has to be set to specify the version of the underlying Raspbian ([balenalib/rpi-raspbian](https://hub.docker.com/r/balenalib/rpi-raspbian)).

```
git clone https://github.com/ottenwbe/pi-jenkins-ssh-agent.git
cd pi-jenkins-ssh-agent
docker build --build-arg BASE_IMAGE_TAG=stretch-20190524 -t rpi-jenkins-ssh-agent:test .
```

### Build with Jenkins

The ssh agent can be built with a [Jenkins](https://jenkins.io/) pipeline.

#### Prerequisites

* [Jenkins](https://jenkins.io/) (up and running)
* Jenkins Plugins:
    * [Docker Plugin](https://wiki.jenkins.io/display/JENKINS/Docker+Plugin).
    * [Pipeline Utility Steps](https://plugins.jenkins.io/pipeline-utility-steps)
    * [SSH Agent Plugin](https://plugins.jenkins.io/ssh-agent)
* The SMTP server is configured to send EMails. (see, ```Manage Jenkins > Configure System > Extended E-mail Notification```)
* The docker plugin is configured to spin up an existing version of the docker ssh agent for all builds labeled with ```sshagent``` on an arm system (e.g., a raspberry pi). (see, ```Manage Jenkins > Configure System > Docker```)

#### Configure Jenkins pipeline

1. Create a ```Pipeline``` or ```Multibranch Pipeline``` project
    1. Select this [repository](https://github.com/ottenwbe/pi-jenkins-ssh-agent) or a fork of it under _SCM_
    1. Select 'CI/Jenkinsfile' as _Script Path_
1. Configure all required credentials (```'dockerhub```, ```'github-bot'```) in the credentials store
1. Trigger the pipeline to build the docker image

#### Configure Build

The build is configured through the ```build-config.yaml``` file. This allows the Jenkins pipeline to automatically update the configuration.

```
baseImageTag: // stores the latest base image tag that was used to build the ssh agent image (Note: maintained by the Jenkins pipeline)
baseImageURL: // reference to the tags of the base image; used to find newer base image tags
pattern: // a pattern that describes the desired base image tag, e.g., stretch-\d{8} to only use stretch images
version: // the ssh agent's docker image is tagged as <major_version>.<minor_version>.<date of the build>
  major: <major_version>
  minor: <minor_version> // automatically incremented once the base image tag is updated to a newer tag
maintainer: // maintainer label for the docker image
DockerOrg: // the docker organization to which the built image is pushed
app: jenkins-ssh-agent // <arch>-<app>: name of the docker image (armv7-jenkins-ssh-agent)
arch: armv7
os: linux
releaseBranch: // only publish images and changes from this branch
forceBuild: // will force a build although no newer base image is found
```

repository: ottenwbe/pi-jenkins-ssh-agent

gha_language: Groovy

repo_name: ottenwbe/pi-jenkins-ssh-agent


text:
# Change Log

All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [0.2.3](https://github.com/mindhand-io/react-native-zhifu/compare/react-native-zhifu-example<EMAIL_ADDRESS>(2020-08-26)

**Note:** Version bump only for package react-native-zhifu-example

## [0.2.2](https://github.com/mindhand-io/react-native-zhifu/compare/react-native-zhifu-example<EMAIL_ADDRESS>(2020-08-25)

**Note:** Version bump only for package react-native-zhifu-example

## [0.2.1](https://github.com/mindhand-io/react-native-zhifu/compare/react-native-zhifu-example<EMAIL_ADDRESS>(2020-08-25)

**Note:** Version bump only for package react-native-zhifu-example

# [0.2.0](https://github.com/mindhand-io/react-native-zhifu/compare/react-native-zhifu-example<EMAIL_ADDRESS>(2020-07-01)

### Features

- 支持支付宝沙盒模式 ([0c570ce](https://github.com/mindhand-io/react-native-zhifu/commit/0c570ceb317cba99df7ac1e23bde3ae6e6ff7ad5))

## [0.1.4](https://github.com/mindhand-io/react-native-zhifu/compare/react-native-zhifu-example<EMAIL_ADDRESS>(2020-06-28)

**Note:** Version bump only for package react-native-zhifu-example

## [0.1.3](https://github.com/mindhand-io/react-native-zhifu/compare/react-native-zhifu-example<EMAIL_ADDRESS>(2020-06-28)

**Note:** Version bump only for package react-native-zhifu-example

## [0.1.2](https://github.com/mindhand-io/react-native-zhifu/compare/react-native-zhifu-example<EMAIL_ADDRESS>(2020-06-28)

**Note:** Version bump only for package react-native-zhifu-example

## [0.1.1](https://github.com/mindhand-io/react-native-zhifu/compare/react-native-zhifu-example<EMAIL_ADDRESS>(2020-06-28)

**Note:** Version bump only for package react-native-zhifu-example

# 0.1.0 (2020-06-28)

### Bug Fixes

- 修复安卓微信回调不触发问题 ([5cf03c5](https://github.com/mindhand-io/react-native-zhifu/commit/5cf03c53ea5e336cc7ef388f17d98db5445bc2c0))
- 修复支付宝 podspec ([3f06860](https://github.com/mindhand-io/react-native-zhifu/commit/3f06860c48366b9cb72e0abc2e77cde79c7719f6))

### Features

- 完成微信 SDK 接入 ([ae9a223](https://github.com/mindhand-io/react-native-zhifu/commit/ae9a223eb378aa8edee385f8de865fc36cf5b5db))
- 完成支付宝 SDK iOS + Android 原生接入 ([c62990b](https://github.com/mindhand-io/react-native-zhifu/commit/c62990b6ac7d8a07754314755f3a302f56da2595))
- 完成支付宝支付+授权登录的全套 binding ([5ef9f54](https://github.com/mindhand-io/react-native-zhifu/commit/5ef9f5461b6cbc540946ed9449cabd90d58c3077))
- 跑通支付宝流程 ([4f02ae5](https://github.com/mindhand-io/react-native-zhifu/commit/4f02ae5b6ce1b266e5275907421d3c133c1293ac))

repository: mindhand-io/react-native-zhifu

gha_language: Objective-C

repo_name: mindhand-io/react-native-zhifu


text:
# Tutorial2020_Stereo: The Exercises on Recent Deep-Learning Stereo Vision Models. Prepared for the Summer School 2020 at the [airlab][airlabss] in Carnegie Mellon University

[airlabss]: https://theairlab.org/summer2020

This repository contains the exercise code for the course of __Recent Advances of Binocular Stereo Vision__ held by the [airlab][airlabss] in Carnegie Mellon University as a part of the Summer School 2020.

The course covers both recent non-learning and learning based methods. This repository contains the learning-based models discussed in the lecture. The non-learning part can be found [here](https://github.com/huyaoyu/Tutorial2020_Stereo_ROS).

# Models

This exersice code presents two popular deep-learning structures for passive binocular stereo vision, namely, the 3D cost volume structure [[1]](#PSMNet) and the cross-correlation structure [[2]](#PWCNet)(although [[2]](#PWCNet) is for optical flow).

## 3D cost volume

The backbone comes from the PSMNet[[1]](#PSMNet). The origina PSMNet is modified such that it also estimates the uncertainty of its own disparity prediction. This modified model is called PSMNU. Please refer to [[3]](#PSMNU) for more details about PSMNU.

## Cross-correlation

The implementaion of the cross-correlation is mainly from the PWC-Net [[2]](#PWCNet) which does optical flow estimation. The model provided here is modified to match the current PyTorch version 1.5. Cross-correlation is only performed along the x-axis since we only care about the disparity not the optical flow.

## Pre-trained models

Pre-trained models can be found in [here](https://drive.google.com/drive/folders/1y0iGPGRdhwhW0lnLap4zJC15RuUkmk0b?usp=sharing).

Please note that there ara two models for each type of structure. For a single structure, the two pre-trained models deal with RGB and grayscale images, respectively. All models are trained on the Scene Flow datasets (with Flyingthings3D and Monkaa but not the driving scenes) [[4]](#SceneFlow). For the models that have a 3D cost volume, maximum disparity is 256 pixel. The models having cross-correlation are trained with a maximum disparity range of 128 pixels.

Pre-trained models are provided here for exercice, not for benchmarking, since the overall performance is not optimized.

## System requirements

A GPU is required to run the exercises.

These code and pre-trained models are tested on Ubuntu 18.04 LTS with Python 3.6.9, CUDA 10, and PyTorch 1.0+, TorchVision.

Use the following command to install the required python packages to the current python environment (Not including PyTorch and TorchVision).

```python
pip3 install opencv-python numba colorcet plyfile
```

# Tutorial Video

Video is at [https://youtu.be/lwX5S0MIFzs](https://youtu.be/lwX5S0MIFzs).

# Exercises
## Sample input data

The sample input data are saved at [/SampleData](/SampleData) sub-directory.

## 3D cost volume exercise
In thise exercise, we will use the pre-trained models which implementing the 3D cost volume to perform disparity estimation. The steps are very simple.

1. Create a new sub-folder /PSMNU/Pretrained and place the pre-trained models in the newly created folder.
2. Go to directory /PSMNU.
3. Run `python3 LocalTest.py`.

`LocalTest.py` reads the content in `/PSMNU/Cases.json`. Individual case can be disabled by setting the `"enable"` key to `"flase"`.

If everything works smoothly, a bunch of results will be produced. For sample case that have ground truth data, an error map will be drawn alongside the disparity prediction. In the following figure, the first column contains the Ref. and Tst. images. The ground truth dsiparity is the top-center one and the prediction locates at the bottom-center.

![PSMNU sample output](ReadMeResources/PSMNU_SceneFlow_C.png)

The models also predict the per-pixel uncertainty of its disparity prediction. The uncertainty is shown in the above image at the lower right corner. The colormaps used in the above image can be found [here](https://colorcet.holoviz.org/user_guide/Continuous.html), specifically, `rainbow` for disparity, `coolwarm` for disparity error compared with the ground truth, and `CET_L19` for uncertainty.

For disparity error and uncertainty maps, the numbers at the top left corners represent the average error (A), standard deviation of the error (S), minimum uncertainty (min), and maximum uncertainty(max).

If the ground truth disparity is not available, then the result will look like the following image.

![Output without true data](ReadMeResources/PSMNU_Beam08_C.png)

If the camera parameters (intrinsic and extrinsic paramters) are known for a sample case, the reconstructed 3D point cloud will be generated as a PLY file.

## Cross-correlation exercise

The cross-correlation layer has to be compiled and installed to the python environment before testing the pre-trained models. Steps aftet the installation are pretty much the same with the 3D cost volumne exercise.

1. Go to /Correlation/CorrelationCUDA.
2. Run `python3 setup.py build_ext`. Wait for the compilation process.
3. Run `python3 setup.py install --record InstalledFiles.txt`. The cross-correlation layer will be installed to the current python environment. E.g, if you are using a virtual environment, the intallation destination will be the correct location specified by the virtual environment. The `--record` command records the installed files during the installation. If you would like to remove the installed cross-correlation layer, use `cat InstalledFiles.txt | xargs rm -f`.
4. Create a new sub-folder /Correlation/Pretrained and place in the pre-trained models.
5. Go to /Correlation.
6. Run `python3 LocalTest.py`.

Similar to 3D cost volume exercise, `LocalTest.py` reads in `Cases.json` file and process all the enabled cases. Disparity error map and 3D point cloud will be generated if associated ground truth data or camera parameters are available. The color maps are the same with the PSMNU exercise. The following figure is one of the results of the sample cases. The four sections in this image, in the top-to-bottom and left-to-right order, are the Ref. image, true disparity, disparity error map and the predicted disparity.

![Correlation sample output](ReadMeResources/Correlation_SceneFlow_C.png)

# References
[1] Chang, Jia-Ren, and Yong-Sheng Chen. "Pyramid stereo matching network." In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 5410-5418. 2018.

[2] Sun, Deqing, Xiaodong Yang, Ming-Yu Liu, and Jan Kautz. "Pwc-net: Cnns for optical flow using pyramid, warping, and cost volume." In Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 8934-8943. 2018.

[3] Y. Hu, W. Zhen, and S. Scherer, “Deep-Learning Assisted High-Resolution Binocular Stereo Depth Reconstruction,” presented at the 2020 IEEE International Conference on Robotics and Automation (ICRA), 2019.

[4] Mayer, Nikolaus, Eddy Ilg, Philip Hausser, Philipp Fischer, Daniel Cremers, Alexey Dosovitskiy, and Thomas Brox. "A large dataset to train convolutional networks for disparity, optical flow, and scene flow estimation." In Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 4040-4048. 2016.


text:
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fhammerheadlemon%2Fdatamaps.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fhammerheadlemon%2Fdatamaps?ref=badge_shield)

This software is a CLI UI layer for
[bcompiler-engine](https://github.com/hammerheadlemon/bcompiler-engine).  It
alllows for easy access to adapters available within `bcompiler-engine` and is
intended to be packaged using a packaging application such as `PyInstaller` and
thus making `bcompiler-engine` palatable to non-technical users, and users who
do not have access to a Python installation.

Details, including links to the downloadable version of this software are be
found at [Datamaps - Twenty Four
Software](https://www.datamaps.twentyfoursoftware.com).

## License
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fhammerheadlemon%2Fdatamaps.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fhammerheadlemon%2Fdatamaps?ref=badge_large)


text:
Building Machine Learning Systems with Python
=============================================

Source Code for the book Building Machine Learning Systems with Python by Willi
Richert and Luis Pedro Coelho.

The book was published in 2013 by Packt Publishing and is available [from their
website](http://www.packtpub.com/building-machine-learning-systems-with-python/book).


text:
+++
# Experience widget.
widget = "experience"  # Do not modify this line!
active = true  # Activate this widget? true/false

title = "Work Experience"
subtitle = "Current & Past roles"

# Order that this section will appear in.
weight = 40

# Date format for experience
#   Refer to https://sourcethemes.com/academic/docs/customization/#date-format
date_format = "January 2006"

# Experiences.
#   Add/remove as many `[[experience]]` blocks below as you like.
#   Required fields are `title`, `company`, and `date_start`.
#   Leave `date_end` empty if it's your current employer.
#   Begin/end multi-line descriptions with 3 quotes `"""`.

[[experience]]
  title = "Senior Consultant"
  company = "TWS Partners"
  company_url = "https://www.tws-partners.com/"
  location = "London, UK"
  date_start = "2019-07-16"
  date_end = ""
  description = ""

[[experience]]
  title = "Consultant"
  company = "TWS Partners"
  company_url = "https://www.tws-partners.com/"
  location = "London, UK"
  date_start = "2017-10-16"
  date_end = "2019-07-15"
  description = ""

[[experience]]
  title = "Risk Analyst"
  company = "Barclays"
  company_url = "https://www.barclays.co.uk/"
  location = "London, UK"
  date_start = "2017-07-10"
  date_end = "2017-10-14"

[[experience]]
  title = "Analyst"
  company = "Red Pulse"
  company_url = "https://www.redpulse.com/"
  location = "Shanghai, China"
  date_start = "2015-09-02"
  date_end = "2016-09-15"

+++

repository: ayratmak/academic-kickstart

repo_name: ayratmak/academic-kickstart


text:
# Changelog

All notable changes to this project will be documented in this file.

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

## [2.0.2]

### Changed

- Updated dependencies.

## [2.0.1]

### Changed

- Updated dependencies.

## [2.0.0]

### Added

- Made the library isomorphic. It now supports both browsers and node.
- Automated test in the browser and node.

repository: cupcakearmy/occulto

gha_language: TypeScript

repo_name: cupcakearmy/occulto


text:
[![Build Status](https://travis-ci.org/ahelal/ansible-l2tp_ipsec.svg?branch=master)](https://travis-ci.org/ahelal/ansible-l2tp_ipsec)

#Readme
This ansible role deploys xl2tpd over IPsec (client) for Ubuntu 12.04 (tested on vagrant)

##Prerequisite
* Having ansible installed on your workstation.
* A host or node to deploy the vpn client on
* VPN Server (tested with openswan)

##How to install
* Use github to clone/fork in your role directory
* ansible galaxy ```ansible-galaxy install adham.helal.l2tp_ipsec```

##Variables
  All the default variables are located **defaults/main.yml**. Mostly you would need to configure the following variables.

  - *vpn_server:* The vpn server hostname or IP (required)

    ```vpn_server : vpn.example.com```

  - *vpn_PSK:* vpn Pre-shared key (required)

    ```vpn_PSK : "shared_key"```

  - *vpn_username:* vpn user name (required)

    ```vpn_username : "username"```

  - *vpn_password:* vpn password (required)

    ```vpn_password : "password"```

  - *vpn_routing:* You can define one or more subnets and gateway

      ```
     vpn_routing:
     - subnet   : "<IP_ADDRESS>/22"
       gateway  : "<IP_ADDRESS>"
     - subnet   : "<IP_ADDRESS>/32"
       gateway  : "<IP_ADDRESS>"
      ```
##Configure
You can configure your variables in ansible with one of the following

 * Create a variable in host/group variables directory. (recommended)
 * Editing var/main.yml
 * Run ansible-playbook with -e
 * Edit the default/main.yml (not recommended)

##Run
**By default the vpn will fail because the configuration uses a bogus vpn server you need to use a valid vpn server**

  ```ansible-playbook -l hostname l2to_ipsec.yml```

##Test
 1. you should have a ppp0 if you type ```ip addr show```
 2. you should be able to ping your vpn gateway

##Possible issues
I have not tested the playbook long enough to check for timeouts but vpn will probably break after a while.


text:
Password Generator

User will click a button to generate the password - var generateBtn = document.querySelector("#generate");
Defined variables for special characters, number, upper, and lower case letters
Created function to grab random element
Prompt the user for password criteria: length between 8 and 128, pick upper case, lower case, and special characters
Validated password functionality
Generated password and displayed to user

Technologies Used:

HTML
CSS
JavaScript

Git Hub Repo: https://github.com/Toccara/passwordgenerator

Deployed Site: https://toccara.github.io/passwordgenerator/

Created By: Toccara Hicks
Email Address<EMAIL_ADDRESS>
The MIT License (MIT)
Copyright © 2020 <Toccara Hicks>

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

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

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

repository: Toccara/passwordgenerator

repo_name: Toccara/passwordgenerator


text:
## Iteration 3-2

### User Stories / Functionalities implemented in this iteration
1. User Story: CA add/edit/delete their availabilities
2. User Story: CA logins into the app using gmail account
3. User Story: Enable Calendar/Timeslot view

### ISSUES
- We ended up not finishing the cucumber features for user stories #1 and #2.
This is because thoses user behavior tests should be done with Jasmine. We noticed that Capybara has some limitations to view stuffs on javascipt/jquery.
- We did write many rspec tests though.

### Heroku
- Heroku is updated.
- You need to be able to signin with this email account:
id<EMAIL_ADDRESS>password: 169group15


text:
## Watchdog4Git

Watchdog4Git is a bot 🤖 that checks commits pushed to GitHub for common Git problems. If the bot identifies a problem, then it notifies the committer by posting a comment to the commit.

Currently Watchdog4Git checks only for [Git LFS](https://git-lfs.github.com/) related problems:
- The watchdog warns if large files are added to the repository that should be tracked by Git LFS.
- The watchdog warns if files that are defined as Git LFS files are not committed as Git LFS files (likely because of an invalid local Git LFS setup).

![Screenshot](docs/suggestion.png)

In the future Watchdog4Git could also check for [Git Submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules) problems, [`.gitignore`](https://git-scm.com/docs/gitignore) problems, and other Git related problems.

### Getting started

1. Build Watchdog4Git:
```
make deps
make
```
2. Deploy the `watchdog4git` executable to your [webhook server](https://help.github.com/articles/about-webhooks/).
3. Define the `GITHUB_TOKEN` environment variable with a [GitHub token](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) that is able to create commit comments on your repositories ('repo' scope).
4. Run Watchdog4Git on the server.
5. Add a webhook to your repository or organization and point it to your server. Choose `application/json` as the request type and choose only the `push` event.
6. Add a `.github/watchdog.yml` file to your repository that configures the Git LFS checks:

```
# Contact for users in notification comments (can include GitHub @mentions)
helpContact: "[#your-channel](https://yourcompany.slack.com/messages/ABC1234)"

# General size threshold for files that should be in Git LFS
# (uncompressed size in bytes)
lfsSizeThreshold: 512000

# List of files that are exempt from the general size threshold
# (typically large text files, optional)
lfsSizeExemptions: |
    testdata/largetext.txt
    *.xml

# Size threshold for exempt files that should be in Git LFS
# (uncompressed size in bytes, optional)
lfsSizeExemptionsThreshold: 20000000

# Switch to turn on/off Git LFS file size suggestions
lfsSuggestionsEnabled: Yes
```

In the future we plan to release Watchdog4Git as a [GitHub App](https://github.com/marketplace) to ease the setup.

### How does it work?

Watchdog4Git receives GitHub [webhook](https://developer.github.com/webhooks/) events for every push. The payload contains a list of commits whose metadata contain the list of added, modified, and deleted files.

Before examining the pushed commits, Watch4Dog downloads and parses the `.gitattributes` file from the default branch to learn what files are currently tracked by Git LFS. For each added or modified file in each commit, the bot [queries the file size](https://developer.github.com/v3/repos/contents/) and checks:
- If the file matches the Git LFS path pattern but has no valid Git LFS pointer content, then the file is marked as a *misconfiguration*.
- If the file does not match a Git LFS path pattern but is larger than the defined threshold, then the file is marked as a *suggestion*.
Finally, all misconfigurations and suggestions are rolled up in a single commit comment.

### Contributors

These are the humans that develop Watchdog4Git:

| [![](https://avatars3.githubusercontent.com/u/477434?v=4&s=100)](https://github.com/larsxschneider)
[@larsxschneider](https://github.com/larsxschneider) | [![](https://avatars1.githubusercontent.com/u/9406?s=100&u=4b5b85f2e3a7561923c5ff58155476a9ff65cbbf&v=4)](https://github.com/mlbright)
[@mlbright](https://github.com/mlbright) |
|---|---|

## License

SPDX-License-Identifier: [MIT](LICENSE.md)


text:
---
layout: post
title: "A Minimal Friction Workflow for First-time Contributors"
date: 2012-01-19 21:36
published: false
comments: true
categories: Git,GitHub,Software
---

*This is but one of many.*

Preamble
--------

I was describing my standard workflow for contributing to open source projects
on GitHub last weekend when I was asked by [Walter][] to write a blog post about
the process. It's rather straightforward if you're used to git and GitHub but
the act of describing it was enough to make me realize that the whole process
and logic behind it is rather opaque to those who are new to programming, git,
or open source contribution, and want to help out.

What I describe here is by no means the One True Way (tm) as there are plenty of
equally valid workflows that others are more comfortable with. What I like best
about mine is the ease with which I can work on multiple __orthogonal__  aspects
of the same project without trying to commit around each other. This becomes a
boon against my personal tendency to rabbit hole, which I may or may not get
into later.

This Post
---------

Since I hope that this post will stand as a reference for some time, I'd like to
present it's structure up front, if it proves unnecessary once the final product
is complete, I will remove it. The entire contribution process from start to
finish is described in a step by step fashion. Each step has a *What* section,
where you are guided through the actions that must be performed, followed by the
*Why*, which is my personal reason for using and suggesting this workflow. The
amount of concrete scenarios used to describe each case will depend on necessity
and time.

Let's get started.

Step 1: Fork and Clone the Repository
=====================================

#### What ####

First, find a projecy you're interested in. Then, find a way to help. In almost
all cases, the smaller, the better for both you and your upstream maintainer.
Once you have decided what to do, fork the upstream repository on GitHub and
then clone your fork locally. For today's exercise, let's say the upstream app
is the [Railsbridge][] project [bridge_troll][] and the change I want to make is
in to turn

``` ruby
class User
  # ...
  def skills
    SKILLS.reject do |skill|
      !send("skill_" + skill)
  end
end
```

Into

``` ruby
# app/models/user.rb
class User
  # ...
  def skills
    SKILLS.select do |skill|
      send("skill_#{skill}")
    end
  end
end
```

My GitHub username is
[nuclearsandwich][] so I will enter the following:

    git clone git@github.com:nuclearsandwich/bridge_troll.git -o github
    git remote add upstream git://github.com/railsbridge/bridge_troll.git

***Note about conventions***: As a rule, I use the remote name `github` for my fork
of a project, and the remote name `upstream` for the repository from which I
forked. I do this because it prevents me from needing to remeber the name of the
upstream account and because `github` makes more sense to me than `origin`, of
which there can be many in a git repository. If you prefer something different,
feel free to use your own conventions.

#### Why?  In order to actually affect your
change, you will need a copy of the repo to work in, thus creating the local
clone. Adding the upstream repo as a remote is another preemptive housekeeping
step. While you don't *strictly* need to do it for a one-time contribution, it
becomes necessary if you will be contributing regularly or if enough time passes
between when you forked and when you're ready to submit your pull request that
new commits have been made upstream.

***Note about tracking branches***: A slight and perfectly valid variation of this
method is to clone the upstream repo and add the github remote. The sole
difference between the methods is in which repository's master branch will be
tracked by your local master. If the concept of tracking branches in Git is
unclear for you, it's perfectly fine to ignore this note.

Step 2: Create a Local Branch for Your Change
=============================================

#### What ####

Branching is one of the coolest things about git.

[Walter]: https://github.com/WalterYu
[Railsbridge]: http://railsbridge.org
[bridge_troll]: https://github.com/railsbridge/bridge_troll
[nuclearsandwich]: https://github.com/nuclearsandwich


text:
# 2014. Longest Subsequence Repeated k Times

## Description

> You are given a string `s` of length `n`, and an integer `k`. You are tasked to find the **longest subsequence repeated** `k` times in string `s`.
>
> A **subsequence** is a string that can be derived from another string by deleting some or no characters without changing the order of the remaining characters.
>
> A subsequence `seq` is **repeated** `k` times in the string `s` if `seq * k` is a subsequence of `s`, where `seq * k` represents a string constructed by concatenating `seq` `k` times.
>
> - For example, `"bba"` is repeated `2` times in the string `"bababcba"`, because the string `"bbabba"`, constructed by concatenating `"bba"` `2` times, is a subsequence of the string `"**b**a**bab**c**ba**"`.
>
> Return *the **longest subsequence repeated*** `k` *times in string* `s`*. If multiple such subsequences are found, return the **lexicographically largest** one. If there is no such subsequence, return an **empty** string*.
>
>
>
> **Example 1:**
>
> ![example 1](https://assets.leetcode.com/uploads/2021/08/30/longest-subsequence-repeat-k-times.png)
>
> ```
> Input: s = "letsleetcode", k = 2
> Output: "let"
> Explanation: There are two longest subsequences repeated 2 times: "let" and "ete".
> "let" is the lexicographically largest one.
> ```
>
> **Example 2:**
>
> ```
> Input: s = "bb", k = 2
> Output: "b"
> Explanation: The longest subsequence repeated 2 times is "b".
> ```
>
> **Example 3:**
>
> ```
> Input: s = "ab", k = 2
> Output: ""
> Explanation: There is no subsequence repeated 2 times. Empty string is returned.
> ```
>
> **Example 4:**
>
> ```
> Input: s = "bbabbabbbbabaababab", k = 3
> Output: "bbbb"
> Explanation: The longest subsequence "bbbb" is repeated 3 times in "bbabbabbbbabaababab".
> ```
>
>
>
> **Constraints:**
>
> - `n == s.length`
> - `2 <= n, k <= 2000`
> - `2 <= n < k * 8`
> - `s` consists of lowercase English letters.

## Solution

```C++
class Solution {
public:
  string longestSubsequenceRepeatedK(string s, int k) {
    dfs("", s, k);
    return best;
  }

private:
  string best = "";

  void dfs(string sub, const string& str, int k) {
    if (!sub.empty() && repeat_count(sub, str) < k) {
      return;
    } else if (sub.length() >= best.length() && sub > best) {
      best = sub;
    }
    for (char c = 'a'; c <= 'z'; ++c) {
      dfs(sub + c, str, k);
    }
  }

  int repeat_count(const string& sub, const string& str) {
    int count = 0;
    for (int i = 0, j = 0; i < str.length(); ++i) {
      if (sub[j] == str[i]) {
        ++j;
        if (j == sub.length()) {
          j = 0;
          ++count;
        }
      }
    }
    return count;
  }
};
```

repository: RingZEROtlf/OJ

repo_name: RingZEROtlf/OJ


text:
[![Docs](https://img.shields.io/badge/docs-here-blueviolet?style=flat-square)](https://vscode-sqltools.mteixeira.dev)
[![Gitter](https://img.shields.io/gitter/room/mtxr/vscode-sqltools.svg?style=flat-square)](https://gitter.im/vscode-sqltools)
[![Patreon](https://img.shields.io/badge/patreon-support-blue.svg?style=flat-square)](https://www.patreon.com/mteixeira)
[![Paypal Donate](https://img.shields.io/badge/paypal-donate-blue.svg?style=flat-square)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=RSMB6DGK238V8)
[![GitHub](https://img.shields.io/github/license/mtxr/vscode-sqltools?style=flat-square)](https://github.com/mtxr/vscode-sqltools/blob/master/LICENSE.md)

Database management done right. Connection explorer, query runner, intellisense, bookmarks, query history. Feel like a database hero!

You can read the entire docs in [https://vscode-sqltools.mteixeira.dev/](https://vscode-sqltools.mteixeira.dev/)

## Features

Some feature provided by SQLTools:

* Beautifier/Formatter
* Query runner, history and bookmarks
* Connection explorer
* Query generators (INSERT only)

Check out all the features and their documentation [here](http://vscode-sqltools.mteixeira.dev/features).

## Supported Drivers

|Driver||Main Maintainer(s)|
|-|-|-|
|![AWS Redshift](https://raw.githubusercontent.com/mtxr/vscode-sqltools/master/packages/ui/screens/Settings/icons/redshift.png)|AWS Redshift|[@mtxr](https://github.com/mtxr)|
|![Cassandra](https://raw.githubusercontent.com/mtxr/vscode-sqltools/master/packages/ui/screens/Settings/icons/cassandra.png)|Cassandra|[@EpicEric](https://github.com/EpicEric)|
|![MariaDB](https://raw.githubusercontent.com/mtxr/vscode-sqltools/master/packages/ui/screens/Settings/icons/mariadb.png)|MariaDB|[@mtxr](https://github.com/mtxr) - ***looking for help***|
|![MSSQL](https://raw.githubusercontent.com/mtxr/vscode-sqltools/master/packages/ui/screens/Settings/icons/mssql.png)|Microsoft SQL Server|[@mtxr](https://github.com/mtxr) - ***looking for help***|
|![MySQL](https://raw.githubusercontent.com/mtxr/vscode-sqltools/master/packages/ui/screens/Settings/icons/mysql.png)|MySQL|[@mtxr](https://github.com/mtxr) - ***looking for help***|
|![OracleDB](https://raw.githubusercontent.com/mtxr/vscode-sqltools/master/packages/ui/screens/Settings/icons/oracle.png)|OracleDB|[@mickeypearce](https://github.com/mickeypearce)|
|![PostgreSQL](https://raw.githubusercontent.com/mtxr/vscode-sqltools/master/packages/ui/screens/Settings/icons/postgresql.png)|PostgreSQL|[@mtxr](https://github.com/mtxr)|
|![SAPHana](https://raw.githubusercontent.com/mtxr/vscode-sqltools/master/packages/ui/screens/Settings/icons/sap_hana.png)|SAPHana|[ariel-bentu](https://github.com/ariel-bentu)|
|![SQLite](https://raw.githubusercontent.com/mtxr/vscode-sqltools/master/packages/ui/screens/Settings/icons/sqlite.png)|SQLite|[@mtxr](https://github.com/mtxr) - ***looking for help***|

Special thanks to this amazing developers that keep the project running!

Do you want to add a new driver? We have a tool to help you. See [support new drivers](https://vscode-sqltools.mteixeira.dev/contributing/support-new-drivers) guide.

> I'm looking for maintainers for each dialect/drivers, if you are interested on maintain/test a dialect, please contact me. https://mteixeira.dev

## Contributing

Please read the contributing guide [here](https://vscode-sqltools.mteixeira.dev/contributing).

Join all this amazing [contributors](https://github.com/mtxr/vscode-sqltools/graphs/contributors)❤ on this journey.

## Donate and Support

SQLTools was developed with ♥ to save us time during our programming journey.

SQLTools will save you (for sure) a lot of time and help you to increase your productivity so, please consider a [donation](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=RSMB6DGK238V8) or become a [supporter](https://www.patreon.com/mteixeira) and help SQLTools to become more awesome than ever.

[![Patreon](https://img.shields.io/badge/patreon-support-blue.svg?style=for-the-badge&logo=patreon)](https://www.patreon.com/mteixeira)
[![Paypal Donate](https://img.shields.io/badge/paypal-donate-blue.svg?style=for-the-badge&logo=paypal)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=RSMB6DGK238V8)

You can also fund specific issues via Issuehunt. That can boost the development of a feature you need and make it more attractive for contributors.

[![Issuehunt](https://github.com/BoostIO/issuehunt-materials/raw/master/v1/issuehunt-button-v1.svg?sanitize=true)](https://issuehunt.io/r/mtxr/vscode-sqltools)

Our donators and supporters:

    Alejandro Dunogent
    Alexander Krylkov
    Benyamin Limanto (@benyaminl)
    Bogdan Bursuc (@bogh)

    Hector Bentancor
    Justin Webber
    Kornei Dontsov (@KorneiDontsov)
    Meirion Morris (@mwmorris)

    Oleksandr Akhtyrskiy
    Ran Sagy (@ransagy)
    Scott Wilson (@omiba)
    Trung Nguyen

## Changelog

See changelog [here](https://vscode-sqltools.mteixeira.dev/changelog)

## Feedback

Please provide feedback through the [GitHub Issue](https://github.com/mtxr/vscode-sqltools/issues) system.

By default we collect anonymous data like stacktraces to fix to errors/bugs. You can always opt-out.

repository: DavidLJ/vscode-sqltools

repo_name: DavidLJ/vscode-sqltools


text:
---
title: Quick Start
heading: Quick Start
description: Install cdk and crpm, and deploy an AWS CloudFormation stack.
---
### Introduction

The easiest and recommended way to get started, would be to launch a [Cloud9](https://aws.amazon.com/cloud9) cloud IDE and perform this tutorial in it.

### Install

1.  Check your version of [Node.js](https://nodejs.org).  Cloud Resource Property Manager (**crpm**) is a command line Node.js application written in [TypeScript](https://www.typescriptlang.org),
    so Node.js needs to be installed in order to use **crpm**.

    ```bash
    node -v
    ```

    You should have **v10.13.0** or greater installed.

2.  Install [AWS CDK](https://aws.amazon.com/cdk) (**cdk**), Cloud Resource Property Manager (**crpm**), and TypeScript globally.

    ```bash
    npm install -g aws-cdk
    npm install -g crpm typescript
    ```

### Quick Tutorial

1.  See a list of available resources that can be imported.

    ```bash
    crpm ls
    ```

2.  Create a new directory for infrastructure.

    ```bash
    mkdir infra
    cd infra
    ```

3.  Initialize a new CDK application.

    ```bash
    cdk init app --language typescript
    ```

4.  Import [S3 bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html) template files.

    ```bash
    crpm i storage/s3/bucket
    ```

5.  Open **res/storage/s3/bucket/props.yaml** for editing.

6.  Uncomment the accessControl property and assign it 'Private'.  After doing so, your file should contain a line that looks like this.

    ```bash
    accessControl: 'Private'
    ```

7.  Save and close **res/storage/s3/bucket/props.yaml**.

    At this point, you could also edit **lib/infra-stack.ts**, but this tutorial does not require changes to that file.

8.  Deploy the stack.

    ```bash
    cdk deploy
    ```

9.  Destroy the stack.

    ```bash
    cdk destroy
    ```

repository: shi/crpm

gha_license_id: NOASSERTION

repo_name: shi/crpm


text:
# CHANGELOG

This is a manually generated log to track changes to the repository for each release.
Each section should include general headers such as **Implemented enhancements**
and **Merged pull requests**. Critical items to know are:

- renamed commands
- deprecated / removed commands
- changed defaults
- backward incompatible changes (recipe file format? image file format?)
- migration guidance (how to convert images?)
- changed behaviour (recipe sections work differently)

Referenced versions in headers are tagged on Github, in parentheses are for pypi.

## [vxx](https://github.com/pydicom/deid/tree/master) (master)
- Allow filter tag names to be 0x-prefix hex numbers so private tags can be referenced in recipes [#253](https://github.com/pydicom/deid/issues/253) (0.3.22)
- Fix incorrect coordinate definition for GE CT [#249](https://github.com/pydicom/deid/issues/249)
- Circular import error [#247](https://github.com/pydicom/deid/issues/247) (0.3.21)
- Expand BLANK Action to additional VRs [#241](https://github.com/pydicom/deid/issues/241) (0.3.2)
  - Correct issues with REPLACE action on numeric VRs [#244](https://github.com/pydicom/deid/issues/244)
  - Correct issue with actions on fields within sequences [#243](https://github.com/pydicom/deid/issues/243)
- pre-commit for linting and formatting (0.3.1)
- Add `ctpcoordinates` and `ctpkeepcoordinates` to handle different formats (0.3.0)
  - Minimum Python required is 3.7, numpy 1.20
- Remove unecessary typing - adds bugs (0.2.37)
- Provide data as an external package (0.2.36)
- Restore expand_sequences to get_identifiers (0.2.35)
- Add function to clean datasets without `DicomCleaner` [#223](https://github.com/pydicom/deid/pull/223) (0.2.34)
- add select:vr:XX field expander to select elements by VR (0.2.33)
  - rename group:XXXX field expander to select:group:XXXX
- add group:XXXX field expander to select all elements with a specified DICOM tag group (0.2.32)
- custom class example for using dicom.Dataset, not requiring on client init [#211](https://github.com/pydicom/deid/pull/211) (0.2.31)
- adding support for deid provided functions [#207](https://github.com/pydicom/deid/issues/207) (0.2.3)
- update CTP deid.dicom up until [this commit](https://github.com/johnperry/CTP/commit/345b05b157c046532e8791a63ababbf6d0dba59b) (0.2.29)
- various LGTM alert fixes [#186](https://github.com/pydicom/deid/pull/186) (0.0.28)
  - `REPLACE/JITTER` actions have now higher priority than `REMOVE`, allowing to whitelist fields from `REMOVE ALL/Field` [#197](https://github.com/pydicom/deid/issues/197)
  - `ADD/KEEP` actions have now higher priority than `REMOVE`, allowing to whitelist fields from `REMOVE ALL/Field` [#197](https://github.com/pydicom/deid/issues/197)
  - updated pydicom dependency from 2.1.1 to 2.2.2 [#194](https://github.com/pydicom/deid/issues/194)
- bug fix for exception when attempting to jitter DA/DT which cannot be jittered (space) [#189] (<https://github.com/pydicom/deid/issues/189>) (0.2.27)
- adding support to manipulate file meta [#183](https://github.com/pydicom/deid/issues/183) (0.2.26)
- updated pydicom dependency from 1.3.0 to 2.1.1 [#171](https://github.com/pydicom/deid/issues/171) (0.2.25)
  - bug fix for multivalued fields in %values lists [#174](https://github.com/pydicom/deid/issues/174)
  - allowing other VR types for jitter [#175](https://github.com/pydicom/deid/issues/175)
  - ensuring that an add/replace of an existing value is also updated in fields [#173](https://github.com/pydicom/deid/issues/173)
- change to correct issue with deidentifying RGB images [#165](https://github.com/pydicom/deid/issues/165) (0.2.24)
- removing verbosity of debug logger (0.2.23)
- changing iteration technique through fields to properly add nested uids [#153](https://github.com/pydicom/deid/issues/153) (0.2.22)
  - change to return results from detect when recipe does not contain filters [#155](https://github.com/pydicom/deid/issues/155)
- fix to correct bug in detect [#142](https://github.com/pydicom/deid/issues/142)  (0.2.21)
- fixes to detect and clean to better represent keep/coordinates (0.2.20)
- modify default VR for added tags [#146](https://github.com/pydicom/deid/issues/146), bug with private tags in %fields section [#147](https://github.com/pydicom/deid/issues/147) (0.2.19)
- adding keepcoordinates to allow for reverse specified coordinates (0.2.18)
- bug with empty values within %values sections [#144](https://github.com/pydicom/deid/issues/144) (0.2.17)
- ability to save 4d dicom series as animation (0.2.16)
- bug with multiple actions on the same header field [#140](https://github.com/pydicom/deid/issues/140) (0.2.15)
- nested sequence in replace_identifiers/strip_sequences bug [#137](https://github.com/pydicom/deid/issues/137) (0.2.14)
- adding custom cleaner to specify region fields (0.2.13)
- bug with replace for tested fields (0.2.12)
- fixing func args to be kwargs (0.2.11)
- DicomCleaner empty method does not handle list (0.2.1)
- refactor to use iterall for all fields (0.2.0)
- including private tags in parsing (0.1.42)
- adding filters (contains through missing) for REMOVE (0.1.41)
- adding support for tag groups (values, fields) (0.1.4)
- Adding option to provide function to remove (must return boolean) (0.1.38)
- removing matplotlib version requirement (0.1.37)
- Matplotlib dependency >= 2.1.2 (0.1.36)
- Adding black formatting, tests run in GitHub actions (0.1.35)
- Adding option to recursively replace sequences (0.1.34)
- adding pylint to clean up code (0.1.33)
- removing dependency that isn't used (simplejson) (0.1.31)
- updating cleaner to use pixel array (0.1.30)
- validation function should use debug verbository, bumping license year [#92](https://github.com/pydicom/deid/issues/92) (0.1.29)
- bumping pydicom to 1.2.0 [#91](https://github.com/pydicom/deid/issues/91) (0.1.28)
- header expansions starts with and ends with should support regular expression OR (|) [#89](https://github.com/pydicom/deid/issues/89) (0.1.27)
- added all, allexcept, contains to field filters [#87](https://github.com/pydicom/deid/pull/87) (0.1.26)
- fixing bug in jitter timestamp function [#85](https://github.com/pydicom/deid/pull/85) (0.1.25)
- installation order of pydicom / matplotlib changes default python [#81](https://www.github.com/pydicom/deid/issues/81) (0.1.23)
- updating deid.dicom with contribution from @fimafurman [#63](https://github.com/pydicom/deid/issues/63) (0.1.22)
- adding "func" option for recipe to pass function (0.1.21)
- fixing client bug, redoing docs to be better organized (0.1.20)
- Removing MediaStorageSOPInstanceUID from file_meta, issue #72 (0.1.19)
- need to clean up temporary directory (mkdtemp), issue #68 (0.1.18)
- fixing issue #65, save for compressed data (0.1.17)
- matplotlib must be less than or equal to 2.1.2 for install (0.1.16)
  - fixing bug with clean coordinate flipping rectangle
- Fixing bug with saving self.cleaned (0.1.15)
- Allowing for datasets to be passed in functions (not necessary for files) (0.1.14)
- index should be full path in header.py (0.1.13)
- pydicom bumped to install latest (1.0.2) (0.1.12)
- ensuring that ids for images are full paths (0.1.11)
  - addition of the DeidRecipe class to better interact with and combine deid recipe files.
  - the get_files function now returns a generator instead of a list.

## [0.1.1](https://pypi.python.org/packages/28/26/ee80e7f1c3f65fae1c901497bb2388701158f0c96e0d633ab301abeaa478/deid-0.1.1.tar.gz#md5=39df7efb03e5d3b63308016742062a43) (0.1.1)

**additions**

- addition of this CHANGELOG and an AUTHORS and CONTRIBUTING file to properly open source the project.
**bug fix**
- when the user specifies a deid recipe, instead of adding it to a base template we honor the choice and don't append a base.
**creation**
- this is the initial creation of deid, including recipes for cleaning of image headers and flagging of potential phi in pixels.

repository: pydicom/deid

repo_name: pydicom/deid


text:
---
layout: kanji
v4: 1936
v6: 2086
kanji: 厳
keyword: stern
elements: stern, owl, cliff, daring, spike, ear, taskmaster
strokes: 17
image: E58EB3
on-yomi: ゲン、ゴン
kun-yomi: おごそ.か、きび.しい、いか.めしい、いつくし
permalink: /rtk/厳/
prev: 悩
next: 鎖
---

1) [darg_sama] 2-11-2005(158): This represents a stern looking owl, perched up on a cliff. This cliff is quite famous for daring individuals to cliff dive off of, but is any of them daring enough to threaten the owl?

2) [Filip] 9-3-2008(70): ( 厳しい strict; stern ) You remember of course the daring fella who had his ear pierced and went standing in front of the taskmaster. The taskmasters punishment was very stern/strict. Fella thrown of the cliff, where the owls are ready to feast. No funny guy doing that anymore.

3) [genbaku] 22-1-2008(29): The owl gives a stern warning to any animal that dare pass under the cliff.

4) [radical_tyro] 18-7-2007(17): The owl said to Howard Stern, "I dare you to jump off this cliff!" Stern, with spike in ear, accepted the dare.

5) [zanzibar] 3-5-2009(11): The stern OWL parent throws his young off the CLIFF to test their DARING.