text:
# Different algorithm implemented in PHP
With algos-php I want to start a repository that will contain several popular algorithm implementations using PHP 7.

## What is an Algorithm?
An algorithm is a set of rules that precisely define a sequence of operations for solving a given problem.

## What algorithms will be covered?
To start with, this repository will contain several implementations for the following topics:
- Searching
- Sorting

## Requirements
**PHP versions 7.0** or higher.

## Installation
The preferred way to install this extension is through [Composer](http://getcomposer.org/download/).

To install **algos-php**, simply:

    $ composer require danieltoader/algos-php

You can also **clone the complete repository** with Git:

	$ git clone https://github.com/danieltoader/algos-php

Or **install it manually**:

[Download](https://github.com/danieltoader/algos-php/archive/master.zip)

    $ wget https://github.com/danieltoader/algos-php/archive/master.zip

## Contributing
Thanks for your interest in contributing! There are many ways to contribute to this project. Get started [here](CONTRIBUTING.md).

#### Tags
\#algorithms \#php

repository: danieltoader/algos-php

repo_name: danieltoader/algos-php


text:
# secret-handshake

secure-channel based on a a mutually authenticating key agreement handshake, with forward secure identity metadata.

For a full explaination of the design, read the
[Design Paper](http://dominictarr.github.io/secret-handshake-paper/shs.pdf)

## Claims

This protocol derives shared keys and mutually
authenticates both ends of the connection.
The shared secrets are forward secure, and
so is the identity metadata.

by "forward secure identity metadata" I mean:

* a later key compromise cannot confirm the public keys in the handshake.

And also:

* an eavesdropper cannot learn public keys
* replay attacker cannot learn public keys.
* man in the middle cannot learn public keys.
* a "wrong number" cannot learn public keys.
* an unauthenticated client cannot learn server key.

> note: a wrong number is just an accidental man in the middle.

By "confirm" I mean check a guess at the public key.
By "learn" I mean that you can _either_ extract the public key,
or confirm the public key.

Also note that if the server decides not to authenticate a client,
it will learn their public key. To get to this stage, the client
must know the server's key, so now the client and server both
know each others key. This is fair.

## Disclaims

This protocol cannot hide your ip address.
This protocol does not attempt to obscure packet boundries.
If a man in the middle or wrong number later compromises
the server's key, they will be able to extract the client
key from the client's hello packet.

## Example

The simplest way to use secret-handshake is to use
`require('secret-handshake/net')`, a wrapper around net.
This makes it easy to create encrypted tcp connections.

[pull-streams](https://github.com/dominictarr/pull-streams) are used.
learn about how pull-streams from [these examples](https://github.com/dominictarr/pull-stream-examples)

[sodium](https://github.com/paixaop/node-sodium) is required to generate
key pairs.

``` js
var createNode = require('secret-handshake/net')
var sodium = require('sodium').api
var appKey = ... //32 random bytes
var aliceKey = sodium.crypto_sign_keypair() //client
var bobKey = sodium.crypto_sign_keypair()   //server

var alice = createNode({
  keys: aliceKey,
  appKey: appKey
})

var bob = createNode({
  keys: bobKey,
  appKey: appKey,
  //the authenticate function is required to receive calls.
  authenticate: function (pub, cb) {
    //decide whether to allow access to pub.
    if(yes) cb(null, truthy)
    else    cb(new Error('reason'))
    //The client WILL NOT see the unauthentication reason
  }
})

//now, create a server (bob) and connect a client (alice)

bob.createServer(function (stream) {
  pull(source, stream, sink)
}).listen(8978, function () {
  var stream =
    alice.connect({port: 8979, host: 'localhost', keys: bob.publicKey})

  pull(source, stream, sink)
})

```

## License

MIT

license: MIT

repository: clehner/secret-handshake

branch_name: refs/heads/master

extension: md

license_type: permissive

repo_name: clehner/secret-handshake


text:
# NPM packages

## Scripts

There are several scripts that will support you during the development and deploy process. In the end you'll probably only need two or three of them, since they often call each other.

### Common

#### `npm run build`

Creates the production build of the current code and moves it to the `/dist` folder. This will also perform **code splitting**, **critical CSS splitting** and **minification/uglyfication**. `npm run test` **MUST** be executed before building!

> NOTE: the environment had to be defined explicitly on the NODE_ENV. webpack's "--mode production" did not work, because the config was requested multiple times but switched to "development" on the second request. See https://github.com/webpack/webpack/issues/6460

#### `npm run dev`

Starts the development-environment with styleguide example pages. Please note, that for performance reasons no minification, uglyfication and CSS extraction is performed.

#### `npm run dev:s` or `npm run styleguide`

Starts [Vue-Styleguidist](https://github.com/vue-styleguidist/vue-styleguidist) in a separate webpack and localhost instance.

#### `npm run test`

This will test the current state of CSS and JS code. Tests **MUST** be executed before creating a build.

#### All scripts

* `npm run clean:caches` - Clears linter caches.
* `npm run dev` - See above.
* `npm run dev:s` - See above.
* `npm run jest` - Executes Jest tests.
* `npm run styleguide` - See above.
* `npm run test` - See above.
* `npm run build` - See above.
* `npm run build:profile` - Runs a build and shows a package content overview
* `npm run build:styleguide` - Creates a standalone build of the development and component styleguide.
* `npm run build:watch` - Allows to develop with a continuous productive build.

## Dependencies

### Project

### Template

- [axios](https://www.npmjs.com/package/axios) - Promise based HTTP client for the browser and node.js.
  > core
- [core-js]() - Modular standard library for JavaScript. Includes polyfills for ECMAScript up to 2019: promises, symbols, collections, iterators, typed arrays, many other features, ECMAScript proposals, some cross-platform WHATWG / W3C features and proposals like URL. You can load only required features or use it without global namespace pollution.
  > core, polyfill
- [css-vars-ponyfill](https://www.npmjs.com/package/css-vars-ponyfill) - A ponyfill that provides client-side support for CSS custom properties (aka "CSS variables") in legacy and modern browsers.
  > core, polyfill, ie11
- [dayjs](https://www.npmjs.com/package/dayjs) - Fast 2kB alternative to Moment.js with the same modern API.
  > c-date-picker-input, c-date-picker-range
- [picturefill](https://www.npmjs.com/package/picturefill) - A responsive image polyfill.
  > core, polyfill, ie11
- [portal-vue](https://www.npmjs.com/package/portal-vue) - A Portal Component for Vuejs, to render DOM outside of a component, anywhere in the document.
  > c-modal
- [swiper](https://www.npmjs.com/package/swiper) - Swiper is the free and most modern mobile touch slider with hardware accelerated transitions and amazing native behavior.
  > c-swiper-modal, c-swiper-gallery, c-swiper-hero
- [vue](https://www.npmjs.com/package/vue) - Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
  > core
- [vue-i18n](https://www.npmjs.com/package/vue-i18n) - Internationalization plugin for Vue.js
  > core
- [vue-js-modal](https://www.npmjs.com/package/vue-js-modal) - https://github.com/euvl/vue-js-modal
  > c-modal
- [vue-router](https://www.npmjs.com/package/vue-router) - The official router for Vue.js.
  > core
- [vuex](https://www.npmjs.com/package/vuex) - Centralized State Management for Vue.js.
  > core

## Dev-Dependencies

### Project

### Template
- [@babel/core](https://www.npmjs.com/package/@babel/core) - JS compiler to create ES5 code from ES2015+.
  > webpack
- [@babel/plugin-syntax-dynamic-import](https://www.npmjs.com/package/@babel/plugin-syntax-dynamic-import) - Makes @babel/core understand the not yet standardized import() syntax.
  > webpack
- [@babel/preset-env](https://www.npmjs.com/package/@babel/preset-env) - Transform preset, which will transform the input code according to browserlist settings in package.json
  > webpack
- [@vue/test-utils](https://www.npmjs.com/package/@vue/test-utils) - The official test library for Vue.js.
  > test environment
- [autoprefixer](https://www.npmjs.com/package/autoprefixer) - PostCSS plugin to parse CSS and add vendor prefixes to CSS rules using values from caniuse.com.
  > webpack, scss
- [axios-mock-adapter](https://www.npmjs.com/package/axios-mock-adapter) - Axios adapter that allows to easily mock requests.
  > development environment, mock data
- [babel-core](https://www.npmjs.com/package/babel-core/v/7.0.0-bridge.0) - Required by vue-jest and jest tests.
  > webpack setup
- [babel-eslint](https://www.npmjs.com/package/babel-eslint) - babel-eslint allows you to lint ALL valid Babel code with the fantastic ESLint.
  > eslint
- [babel-jest](https://www.npmjs.com/package/babel-jest) - Compiles modern JavaScript for Jest.
  > test environment
- [babel-loader](https://www.npmjs.com/package/babel-loader) - This package allows transpiling JavaScript files using Babel and webpack.
  > webpack
- [clean-webpack-plugin](https://www.npmjs.com/package/clean-webpack-plugin) - A webpack plugin to remove/clean your build folder(s).
  > webpack
- [css-loader](https://www.npmjs.com/package/css-loader) - The css-loader interprets @import and url() like import/require() and will resolve them.
  > webpack
- [cssnano](https://www.npmjs.com/package/cssnano) - A modular CSS minifier, built on top of the PostCSS ecosystem.
  > webpack, scss
- [eslint](https://www.npmjs.com/package/eslint) - ESLint is a tool for identifying and reporting on patterns found in ECMAScript/JavaScript code.
  > eslint
- [eslint-config-airbnb-base](https://www.npmjs.com/package/eslint-config-airbnb-base) - This package provides Airbnb's base JS .eslintrc (without React plugins) as an extensible shared config.
  > eslint
- [eslint-config-valantic](https://www.npmjs.com/package/eslint-config-valantic) - The default ESLint config of valantic. .
  > eslint
- [eslint-import-resolver-webpack](https://www.npmjs.com/package/eslint-import-resolver-webpack) - Webpack-literate module resolution plugin for eslint-plugin-import.
  > webpack, eslint
- [eslint-plugin-import](https://www.npmjs.com/package/eslint-plugin-import) - This plugin intends to support linting of ES2015+ (ES6+) import/export syntax, and prevent issues with misspelling of file paths and import names.
  > eslint
- [eslint-plugin-vue](https://www.npmjs.com/package/eslint-plugin-vue) - Official ESLint plugin for Vue.js
  > eslint
- [eslint-webpack-plugin](https://www.npmjs.com/package/eslint-webpack-plugin) - A ESLint plugin for webpack.
  > webpack, eslint
- [faker](https://www.npmjs.com/package/faker) - Generate massive amounts of fake data in the browser and node.js.
  > development environment, mock data
- [file-loader](https://www.npmjs.com/package/file-loader) - The file-loader resolves import/require() on a file into a url and emits the file into the output directory.
  > webpack
- [friendly-errors-webpack-plugin](https://www.npmjs.com/package/friendly-errors-webpack-plugin) - Friendly-errors-webpack-plugin recognizes certain classes of webpack errors and cleans, aggregates and prioritizes them to provide a better Developer Experience.
  > webpack
- [html-webpack-plugin](https://www.npmjs.com/package/html-webpack-plugin) - Plugin that simplifies creation of HTML files to serve your bundles.
  > webpack
- [husky](https://www.npmjs.com/package/husky) - Git hooks made easy.
  > development environment, eslint, test environment
- [image-webpack-loader](https://www.npmjs.com/package/image-webpack-loader) - Image loader module for webpack. Minify PNG, JPEG, GIF, SVG and WEBP images with imagemin.
  > webpack
- [jest](https://www.npmjs.com/package/jest) - Delightful JavaScript Testing.
  > test environment
- [jest-transform-stub](https://www.npmjs.com/package/jest-transform-stub) - Jest doesn't handle non JavaScript assets by default.
  > test environment
- [launch-editor-middleware](https://www.npmjs.com/package/launch-editor-middleware) - Open file in editor from Node.js.
  > development environment
- [lint-staged](https://www.npmjs.com/package/lint-staged) - Run linters against staged git files and don't let 💩 slip into your code base!
  > husky, development environment, eslint, test environment
- [mini-css-extract-plugin](https://www.npmjs.com/package/mini-css-extract-plugin) - This plugin extracts CSS into separate files.
  > webpack
- [postcss](https://www.npmjs.com/package/postcss) - Alows to post process CSS content. Required by several processes (e.g. autoprefixer).
  > webpack, scss
- [postcss-loader](https://www.npmjs.com/package/postcss-loader) - Loader for webpack to process CSS with PostCSS.
  > webpack, scss
- [sass](https://www.npmjs.com/package/sass) - Node.js bindings to libsass.
  > webpack, scss
- [sass-loader](https://www.npmjs.com/package/sass-loader) - Loads a Sass/SCSS file and compiles it to CSS.
  > webpack, scss
- [sass-resources-loader](https://www.npmjs.com/package/sass-resources-loader) - This loader will @import your SASS resources into every required SASS module.
  > webpack, scss
- [stylelint](https://www.npmjs.com/package/stylelint) - A mighty, modern linter that helps you avoid errors and enforce conventions in your styles.
  > stylelint
- [stylelint-config-valantic](https://www.npmjs.com/package/stylelint-config-valantic) - Default valantic configuration for stylelint.
  > stylelint
- [stylelint-webpack-plugin](https://www.npmjs.com/package/stylelint-webpack-plugin) - A Stylelint plugin for webpack
  > webpack, stylelint
- [stylus](https://www.npmjs.com/package/stylus) - Expressive, robust, feature-rich CSS language built for nodejs.
  > stylus
- [stylus-loader](https://www.npmjs.com/package/stylus-loader) - A stylus loader for webpack.
  > webpack, stylus
- [uglifyjs-webpack-plugin](https://www.npmjs.com/package/uglifyjs-webpack-plugin) - This plugin uses uglify-js to minify your JavaScript.
  > webpack
- [vue-jest](https://www.npmjs.com/package/vue-jest) - Jest Vue transformer with source map support.
  > test environment
- [vue-loader](https://www.npmjs.com/package/vue-loader) - webpack loader for Vue Single-File Components.
  > webpack
- [vue-markdown-loader](https://www.npmjs.com/package/vue-markdown-loader) - Convert Markdown file to Vue Component using markdown-it.
  > development environment
- [vue-styleguidist](https://www.npmjs.com/package/vue-styleguidist) - Isolated Vue component development environment with a living style guide.
  > development environment
- [webpack](https://www.npmjs.com/package/webpack) - webpack is a module bundler.
  > webpack
- [webpack-bundle-analyzer](https://www.npmjs.com/package/webpack-bundle-analyzer) - Visualize size of webpack output files with an interactive zoomable treemap.
  > webpack
- [webpack-cli](https://www.npmjs.com/package/webpack-cli) - The official CLI of webpack.
  > webpack
- [webpack-dev-serve](https://www.npmjs.com/package/webpack-dev-server) - Use webpack with a development server that provides live reloading.
  > webpack, development environment
- [webpack-manifest-plugin](https://www.npmjs.com/package/webpack-manifest-plugin) - Creates a manifest.json to map webpack input with output.
  > webpack


text:
# TopicSelectionBehavior
Stat the basic attribute of author topic selection behavior, and explore the underlying mechanisms.

## Data
APS dataset, Available by sending email to APS.org for research purpose.

## Processing
PACS code as the topic.

#### Author Disambugation
Same Name, Same Institution, Same Abbreviation

Author paper number distribution as below:
![Author paper number distribution](fig/author_pnum_dis.png)

#### Filtering
20,753 authors of which paper number is between 5 and 100 are reserved.

## Staitic Indicators

#### Independent indicators:

    1. Unique number of Topic.
    2. Number of papers under same topic, Mean, Max
    3. Diversity of topics. Gini Index
    4. Persistance. max paper number under one topic / Max paper number

#### Dependent indicators:

    1. Productivity
    2. Hindex
    3. Total number of citations.

## Dynamic Indicators

#### Topic sequence example:

    t1 t1 | t2 t1 t2 | t3 t3 t2 | t4 t4 | t5
          |          |          |       |
          ^          ^          ^       ^
        Topic Transition
    When New topics are selected.

#### Two indicators:

1.  Transtion Direction: transt to more polular topic or less popular topic.

    Transition Direction = N(new topic) - N(old topic)

branch_name: refs/heads/main


text:
# Testing Outline

## General Summary

Testing for this project was done with a combination of Jasmine, Karma, and Webpack for bundling. The configurations for Karma and Webpack can be found in the *./config* folder of the main directory. Some of the way I approach testing are based on a pair-programming session and the subsequent research(notes can be found in [pair-programming-notes.md](./pair-programming-notes.md)).

Tests are written in the style of Behavior Driven Development with suites following the "Given, when, then" format as much as possible.
- For example:
  - Given *'a method that manipulates a canvas element'*
    - it *'should render an image into a rendering context when called with an image element input'*

## Test Expectations

Most tests are written to expect very simple things and attempt not to be dependent on implementation details to run. The tests try not to be dependent on implementation details, but they are written to be very particular about what inputs and what outputs come out, along with making sure certain things are called.

- For example:
```js
describe('A method that manipulates a canvas element', function() {
    beforeAll(function() {
      // ... set up
    })
    it('should manipulate canvas properties when called', function() {
      // ... set up
      const spyCanv = spyOnProperty(canvas, 'parentNode').and.callThrough();
      testController.renderToCanvas(testImg);
      expect(spyCanv).toHaveBeenCalled();

    })
  })
```
The goal for this is to have solid expectation/ actual specifications for what every tested function/ method/ class should be doing, so if you take the input string for a test suite you'd get something like the below:

- Given a method for checking the uploaded file(s)
  1. it should try checking the type of input event when called with an event
  2. it should throw when called with an invalid File object
  3. it should check the file type when called
  4. it should return an array with a string and a file inside when called with an event with an image file

license: ISC

gha_language: JavaScript

gha_license_id: ISC


text:
# motivationer

A side by side gallery sprinkled with motivation (because who doesn't need a piece of that) built with flexbox and a little javascript

## Getting Started

Replace the images and text to customize as you like.

## License

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

## Acknowledgments

Photos courtesy of the following photographers on [unsplash](https://unsplash.com/) via the [API](https://source.unsplash.com/):

- [Mayur Gala](https://unsplash.com/@mayurgala)
- [Jakob Owens](https://unsplash.com/@jakobowens1)
- [Edho Pratama](https://unsplash.com/@edhoradic)
- [Michel Paz](https://unsplash.com/@mrmichelpaz)
- [Markus Spiske](https://unsplash.com/@markusspiske)

repository: marygutz/motivationer

repo_name: marygutz/motivationer


text:
## Bozeman

Named after he beautiful [smalltown](https://en.wikipedia.org/wiki/Bozeman,_Montana) of montana,
bozeman is home of visible copepods and handful of asterina star fish. It has two distinct levels, a
valley within. The top level is acan dominant, while GSP and ricordia sits on the bottom level.

![bozeman](./images/bozeman.jpg)

- Aquarium. [Imagitarium 3.7G]()
- Setup date: September, 2016
- Aragonite sand depth (depth 0.5"), live rock.

### Equipments

- Heater: [Aqueon 100w]()
- Return: [Rio 90]()
- Light: [Kessil A80]()
- Filter: [AquaClear 20 Hang On Back Filter]()

### Corals

- Acans: 1 rainbow acan & 3 acan lord
- Red montipora
- Green  pociliopora
- Purple death paly, utter chaos palythoa
- Ricordia florida
- Green star polyp

### Invertebrates:

- 2 sexy shrimp (Thor amboinensis)
- 1 trochus snail & 1 blue legged hermit crab

repository: matteliot/reef-pi

repo_name: matteliot/reef-pi


text:
---
layout: post
title: "Free laptops for school children"
permalink: /archives/2020/05/lbrut-laptops-for-school-children.html
commentfile: 2020-05-19-lbrut-laptops-for-school-children
category: news
date: 2020-05-19 00:00:00
image: "/assets/images/2020/lbrut-school-laptops.jpg"
excerpt: |
    Richmond Council vows to keep the borough online, with nearly two hundred laptops being delivered to children without computer access at no charge to them.
---

Richmond Council vows to keep the borough online, with nearly two hundred laptops being delivered to children without computer access at no charge to them.

As families across the borough continue to face time at home, many children without computer access could find themselves unable to engage with essential social care provision, online schoolwork, and the important ability to virtually connect with friends and family.

In an effort to keep the borough connected, Achieving for Children, on behalf of Richmond Council, worked swiftly to identify 182 children without access to a computer, and thanks to a Government grant have been able to roll out a large number of laptops to those in most need.

The laptops keep families online and connected to allow children to continue to participate in their schools remote learning offer and access the numerous virtual activities that been launched by the borough's Youth Services. This includes online drop ins, quizzes, competitions, workshops and courses, mental health support and other activities e.g. dance classes.

Many children in Richmond upon Thames who are in care or are care leavers regularly use social media platforms, and social workers are now using these channels to supplement and maintain regular contact with vulnerable young people around the borough - ensuring that they can keep chatting, learning, and have ways of reaching out virtually.

Cllr Penny Frost, Chair of the Children's Services Committee for Richmond Council, said:

> "As many key services, schoolwork, and even our social lives continue to adapt to the current 'stay-home' rules and now operate online, it's essential that we keep as many families across Richmond connected, particularly the most vulnerable.

> "Providing these laptops to those who don't have a computer will allow families and children to not only access school-work and essential Council services, but to also connect with friends and family at a time where we are not able to do so in person. This is a great example of how the Council is working flat out to support our residents."

For more information about virtual activities for young people: [kr.afcinfo.org.uk/young_people](https://kr.afcinfo.org.uk/young_people)

-- from a Richmond Council press release - 19 May 2020

repository: pmahnke/stmgrts

gha_language: HTML

repo_name: pmahnke/stmgrts


text:
passhash
========

Easily and securely hash passwords with a variable amount of iterations of SHA512.

Takes in an optional username and number of iterations and then propmts for a password.

If a username or number of iterations is not provided it will prompt for them.

Installation
------------

    npm install -g passhash

Usage
-----

    -i, --iterations <number>        number of SHA512 iterations (default is set to 1)
    -b, --bits <number>              number of bits to use for crypto random salt, must be >= 128 (default 128)
    -h, --help                       print this message and exit
    -u, --username <name>            username to use for entry
    -U, --updates                    check for available updates
    -f, --format                     change format of output
    -v, --version                    print the version number and exit

Default Output
--------------

    username:salt:hash:iterations

    test:0V6lfASr44DcJexA0FawChE0ZGo+xM9zBjJMC3S5vp0RH0SdhpS/LIYPI7tP/gms5JVZ2fcnShClgmQif84rdxFQ3A88vZFzIpSBGMSzMabyqPlvzm2BwpS7WLqMbJlXdtSNriQ+PfkKmFj2+oeOS9BNHl2MgSUk8iXu5LB7LXGSinO4k2AsJqB+eslJSL1uzCpA5Ww2weHt47aU+vKWDiuodyPFlL3ahbYAt3nqlkbtr7E0X15nKiEOIWTtdRENCVFyIUf0PLSRYLLZwdnQ5sl414QN8NFcPtDSXEoAblJlcTCa+VJgXx2T2RKdg1RC360GyGsaHtZN9mY8y4Puermp4LWyg1reM9gkXXae63h3pzYjaQc5emSdK+0ljIMKI4aR/wkkLrbnS4/hbeqaE6L1+/X1QPHR0u9BQWAUsUqED6IiStDlSdidn9jBBOAdTIcXPHm6r0fBjoYx2mWmXCdMubF04ojjhsiCY/rcwYZZpjBRYtH8v5H1FWr1QUpzjKETLZml3c3bNAriX9e1GsX8wQqcfDpu/5pKSorfF5qmoIthr5uLsAavfO0XJ9D8C97G3sw91hVazGnvA6ER+PoUx4FZPJYxOFC3dfkOo8CSzOuTgQQaXmlEHJ6TcsVQ6kBMApUaUqqulaxZkZKtZEUu1zlW5CvbIf/kV5z5GtQ=:2a0293e90184f6a9d569a794bd7cc8b46d38e4c4faae54e2f8221463c99ee4ebe46805f629d8189c8c64227833130d5d9f7caea1d9c0a5c5f7e238a0e9f4a149:1444

Change Output Format
--------------------

`passhash` allows the user to define the output. For output to be useful it should include at least the username, the salt, and the hash.

Changing the format is easy. `passhash` has built in keywords: `{username}` `{salt}` `{hash}` and `{iterations}`. By default they are printed out `:` delimited.
For example if you didn't want to output the number of iterations:

    node passhash.js -f '{username}<<>>{salt}<<>>{hash}'

This would output:

    test<<>>0V6lfASr44DcJexA0FawChE0ZGo+xM9zBjJMC3S5vp0RH0SdhpS/LIYPI7tP/gms5JVZ2fcnShClgmQif84rdxFQ3A88vZFzIpSBGMSzMabyqPlvzm2BwpS7WLqMbJlXdtSNriQ+PfkKmFj2+oeOS9BNHl2MgSUk8iXu5LB7LXGSinO4k2AsJqB+eslJSL1uzCpA5Ww2weHt47aU+vKWDiuodyPFlL3ahbYAt3nqlkbtr7E0X15nKiEOIWTtdRENCVFyIUf0PLSRYLLZwdnQ5sl414QN8NFcPtDSXEoAblJlcTCa+VJgXx2T2RKdg1RC360GyGsaHtZN9mY8y4Puermp4LWyg1reM9gkXXae63h3pzYjaQc5emSdK+0ljIMKI4aR/wkkLrbnS4/hbeqaE6L1+/X1QPHR0u9BQWAUsUqED6IiStDlSdidn9jBBOAdTIcXPHm6r0fBjoYx2mWmXCdMubF04ojjhsiCY/rcwYZZpjBRYtH8v5H1FWr1QUpzjKETLZml3c3bNAriX9e1GsX8wQqcfDpu/5pKSorfF5qmoIthr5uLsAavfO0XJ9D8C97G3sw91hVazGnvA6ER+PoUx4FZPJYxOFC3dfkOo8CSzOuTgQQaXmlEHJ6TcsVQ6kBMApUaUqqulaxZkZKtZEUu1zlW5CvbIf/kV5z5GtQ=<<>>2a0293e90184f6a9d569a794bd7cc8b46d38e4c4faae54e2f8221463c99ee4ebe46805f629d8189c8c64227833130d5d9f7caea1d9c0a5c5f7e238a0e9f4a149

Example Prompt
--------------

    alex @ [ kovas :: (Darwin) ] ~/Projects/passhash $ node passhash.js
    passhash: username:  test
    passhash: Please enter a password:
    passhash: Please re-enter your password:
    passhash: Number of iterations (default 1):  (1)
    undefined:1N1SnR2+aqJPLgtdBZ3Bip4epRzLNAazg/cdqAOIDx65yxiifsf50DE/vXbHFoXtrM2ZbP3N2hq+d20LwkzwLDks//4E726se8iz8cwSgZjnKIYfzGUD6SPtZr7GQuR60TpC7qL9D9tXVHGjz+XS0E1AqaF7sdVna+2FmzQbgLc=:a9901ced04776219b0c59468aba567d16252ad17463ca8d7933206dde70e11b5e914be33d1611dde03e772ddc1dbfd70d5ef6368d9d7e7112ef77d6a539d1d3a:1

Why?
----

I personally dislike how people do authentication on the web. `htpasswd` can easily be broken. `passhash` allows for a more robust password storage system.
Now you can store the output of `passhash` into a file and code your node server to use it for auth, eliminating the need for htaccess/htpasswd.
For added security you can choose a number of iterations and not store it in the file, using it only in your server code for the password validation.
Each user could also have a different number of iterations. Is this still somewhat insecure? Yes, someone could take a line from the file and
if the user choose a weak password and the attacker knew the number of iterations and the salt they could still use brute force.

License
-------

MIT

repository: adkatrit/passhash

repo_name: adkatrit/passhash


text:
# Responder

[![Hackage](https://img.shields.io/hackage/v/wai-responder.svg?style=flat)](http://hackage.haskell.org/package/wai-responder)
![BSD3 License](http://img.shields.io/badge/license-BSD3-brightgreen.svg)

Responder is a tiny web application framework for
[WAI](http://hackage.haskell.org/package/wai).

- `ResponderM` for composing responses and threading state with do notation.
- Routing with path captures.
- Parameter parsing from cookies, path, query, and body.
- Helpers for redirects, headers, status codes, and errors.

```haskell
{-# language OverloadedStrings #-}
--
import Network.Wai.Handler.Warp (run)
import Network.Wai.Responder
--
main :: IO ()
main = do
  run 8080 $ app defaultResponderOpts () $ do
    get "/" index
    post "/echo/:name" echo
--
index :: ResponderM s a
index = html status200 $ "Hello World!"
--
echo :: ResponderM s a
echo = do
  name <- param "name"
  html status200 $ "Hello, " <> name
--
missing :: ResponderM s a
missing = html status404 $ "Not found..."
```

## Prior work

Responder is the successor to [Twain](https://github.com/alexmingoia/twain).
Responder's API parametizes `ResponderM` with application state.

repository: alexmingoia/wai-responder

repo_name: alexmingoia/wai-responder


text:
#### Workspace Folders

Many tools support more than one root folder per workspace. Examples for this are VS Code's multi-root support, Atom's project folder support or Sublime's project support. If a client workspace consists of multiple roots then a server typically needs to know about this. The protocol up to know assumes one root folder which is announce to the server by the `rootUri` property of the `InitializeParams`. For workspace folders the following additions are proposed:

_InitializeParams_:

An additional property `workspaceFolders` which contain the configured workspace folders when the server starts.

_Client Capabilities_:

The client sets the following capability if it is supporting workspace folders.

```ts
/**
 * The workspace client capabilities
 */
workspace: {
	/**
	 * The client has support for workspace folders
	 */
	workspaceFolders?: boolean;
}
```

```ts
/**
 * The actual configured workspace folders.
 */
workspaceFolders: WorkspaceFolder[] | null;
```

where a `WorkspaceFolder` is defined as follows:

```ts
export interface WorkspaceFolder {
	/**
	 * The associated URI for this workspace folder.
	 */
	uri: string;

	/**
	 * The name of the workspace folder. Defaults to the
	 * uri's basename.
	 */
	name: string;
}
```

##### Workspace Folders Request

The `workspace/workspaceFolders` request is sent from the server to the client to fetch the current open list of workspace folders. Returns `null` in the response if only a single file is open in the tool. Returns an empty array if a workspace is open but no folders are configured.

_Request_:

* method: 'workspace/workspaceFolders'
* params: none

_Response_:

* result: `WorkspaceFolder[] | null`
* error: code and message set in case an exception happens during the 'workspace/workspaceFolders' request

##### DidChangeWorkspaceFolders Notification

The `workspace/didChangeWorkspaceFolders` notification is sent from the client to the server to inform the client about workspace folder configuration changes.

_Notification_:

* method: 'workspace/didChangeWorkspaceFolders'
* params: `DidChangeWorkspaceFoldersParams` defined as follows:

```ts
export interface DidChangeWorkspaceFoldersParams {
	/**
	 * The actual workspace folder change event.
	 */
	event: WorkspaceFoldersChangeEvent;
}

/**
 * The workspace folder change event.
 */
export interface WorkspaceFoldersChangeEvent {
	/**
	 * The array of added workspace folders
	 */
	added: WorkspaceFolder[];

	/**
	 * The array of the removed workspace folders
	 */
	removed: WorkspaceFolder[];
}
```


text:
# QM 3.4-16 Release Notes

<PageHeader />
Release Date: 21 Aug 2019

* The CREATE.ACCOUNT command can now include a text description of the account as a command line item. Previously, this had to be done by editing the QM.ACCOUNTS file.

<PageFooter />

gha_license_id: MIT


text:
---
layout: post
title: YPL awarded collaborative grant with UMD to develop ultrafast and efficient phase-change photonic memory
sub-title:
image: /img/NSF_Logo.png
tags: [electro-optic memory, phase-change photonics, hybrid photonic computing]
comments: false
---

We are excited to report the award of another collaborative NSF grant entitled, "Fast and efficient phase-change photonics using low-dimensional materials." We will be working with our good friend Prof. Carlos Rios (UMD) who is leading this project and is a pioneer in [optical phase-change materials](https://blog.umd.edu/rios/). Our groups will be working together to develop electrically programmable phase-change photonic memory using 2D heterostructures to achieve faster and more efficient integrated control. Read more about the project [here](https://www.nsf.gov/awardsearch/showAward?AWD_ID=2210169).

gha_license_id: NOASSERTION


text:
# στοιχεῖον, ου, τό.

<!-- Status: S2=NeedsReview -->
<!-- Lexica used for edits: BDAG LN FFM BN LSJM MM   -->

## Word data

* Strongs: G47470.

* Alternate spellings:

* Principle Parts:

* Part of speech:

[Noun](http://ugg.readthedocs.io/en/latest/noun.html).

* Instances in the New Testament: 7.

* All Scriptures cited: Yes

## Etymology:

* LXX/Hebrew glosses:

in LXX: [Wi 7:17](Wis.7.17) [19:18](Wis.19.18), [IV Mac 12:13](4Macc.12.13) * ;

* Time Period/Ancient Authors:

* Related words:

* Antonyms for all senses:

* Synonyms for all senses:

## Senses:

### Sense  1.0:

#### Definition:

basic principles or elements

#### Glosses:

basic principles

#### Explanation:

The word is always used in the plural in the New Testament

#### Citations:

### Sense  1.1:

#### Definition:

elementary principles

#### Glosses:

basic principles

#### Explanation:

In this sense, στοιχεῖα are not viewed as erroneous, but merely as too simplistic to lead a person to a mature understanding of reality.  Although στοιχεῖα represent an important starting place, the person who never grows beyond them is perpetually in bondage to the limitations of being a baby

#### Citations:

[Gal 4:3](gal 4:3), [9](gal 4:9), [Heb 5:12](heb 5:12),

### Sense  1.2:

#### Definition:

elementary principles (of the world)

#### Glosses:

basic principles

#### Explanation:

In this sense, στοιχεῖα are viewed as the foundational principles that underly the rebellious world system (the [κόσμος](../G28890/01.md)) and lead its followers into bondage

#### Citations:

[Col 2:8](col 2:8), [20](col 2:20),

### Sense  2.0:

#### Definition:

the basic physical elements from which all material objects are made

#### Glosses:

elements

#### Explanation:

#### Citations:

[2Pet 3:10](2pe 3:10), [12](2pe 3:12).

repository: mandolyte/uw-obsidian

repo_name: mandolyte/uw-obsidian


text:
# Setup

Follow the steps listed in the section to complete the pre-requesites for the setting up the lab environment.

## Step 1: Sign up for IBM Cloud

Ensure you have an IBM Cloud ID

![Cloud Sign up](../images/ibm-cloud-sign-up.png)

## Step 2: Claim and Access IBM Cloud Kubernetes cluster

Use the IBM Kubernetes cluster provided for the workshop. Alternatively, you can provision a cluster and use it for this lab.
  Find the private endpoint and VRF enablement requirements [here](https://cloud.ibm.com/docs/Log-Analysis-with-LogDNA?topic=Log-Analysis-with-LogDNA-config_agent_kube_cluster#config_agent_kube_cluster_step4).

1. Login to [IBM Cloud](https://cloud.ibm.com) in a browser and select the appropirate account under which the cluster is provisioned.

1. Navigate to https://cloud.ibm.com/kubernetes/clusters to see a list of available IKS clusters. Select your IKS cluster from the list to open it to land at the cluster `Overview` page. Observe the information under `Summary` and note how the endpoints are enabled.

    ![IKS Private Endpoints Enabled](images/iks_private_endpoint-enabled.png)

## Step 3: Connecting to the Kubernetes cluster

1. In the left pane of Kubernetes cluster details page, select the `Access` tab. This page provides CLI commands to setup your IKS cluster using a terminal environment.

    ![Access IKS Cluster](images/access_iks_cluster.png)

1. Click `IBM Cloud Shell` link next to your account number on the toolbar. It's on the top-right corner of the screen.

    ![Access IKS Cluster](images/cloud-shell-link.png)

    This opens `IBM Cloud Shell` window in a new tab of your browser. Note that additions terminal sessions can be opened by clicking the `+` icon.

    ![Access IKS Cluster](images/cloud-shell-session.png)

1. Execute the CLI commands listed on the `Access` tab of your IKS cluster details ppage (see above) sequentially to connect to your cluster.

    ```
    $ ibmcloud login -a cloud.ibm.com -r us-south -g Default
    API endpoint: https://cloud.ibm.com

    Email><EMAIL_ADDRESS>
    Password>
    Authenticating...
    OK

    Select an account:
    1. Rojan J's Account (6ec1c2ec26xx49d6b5ad8b632e629c3d)
    2. Amce Corp (2c426324dd934f71a2a053c9185791ff) <-> 6272168
    Enter a number> 2
    Targeted account Amce Corp (2c426324cc934f71a2a053c9185791ff) <-> 6272168

    Targeted resource group Default

    Targeted region us-south

    API endpoint:      https://cloud.ibm.com
    Region:            us-south
    User<EMAIL_ADDRESS>
    Account:           Amce Corp (2c426324cc934f71a2a053c9185791ff) <-> 6272168
    Resource group:    Default
    CF API endpoint:
    Org:
    Space:
    ```

    ```
    $ ibmcloud ks cluster config --cluster c13mk2cd0pfrniovo4r0

    ....
    OK
    The configuration for c13mk2cd0pfrniovo4r0 was downloaded successfully.

    Added context for c13mk2cd0pfrniovo4r0 to the current kubeconfig file.
    You can now execute 'kubectl' commands against your cluster. For example, run 'kubectl get nodes'.
    If you are accessing the cluster for the first time, 'kubectl' commands might fail for a few seconds while RBAC synchronizes.

    ```

1. Use CLI command `kubectl config current-context` to verify the connection to your cluster before continue the exercise.

1. Store the `cluster id` in an environment variable.
  Copy the id from the cluster `Overview` tab as shown in the picture below and set that as the value for the `MYCLUSTER` variable.
  ![Grab cluster id](images/iks-cluster-id.png)
  ```
  export MYCLUSTER=<your cluster id>
  ```
  Verify the cluster id set correctly.
  ```
  echo $MYCLUSTER
  ```
  ```
  $ echo $MYCLUSTER

  c13mk2cd0pfrniovo4r0
  ```

This completes the necessary prereqs for the labs.


text:
# SALR particle clustering
### A method for locating the centers of partially overlapping convex objects and distributions.
_This project is apart of the manuscript **[J. Kapaldo et al. (submitted)](https://arxiv.org/abs/1804.04071)**._

SALR particle clustering is a simple technique for finding the centers of objects. It can be used to locate the centers of overlapping cell nuclei (see to the right), and it can be used to locate the cluster centers in scatter point data. Further details with examples can be seen at the »**[project website](https://jkpld.github.io/SALR_Clustering/)**« and in the [manuscript](https://arxiv.org/abs/1804.04071).

## Installation

1. Download the repository.
2. Open Matlab on your computer, and change the current folder to the downloaded repository.
3. Run `setup.m`. This function will
    * Add the necessary files to your Matlab path.
    * Attempt to compile two C functions that will increase the program speed. If a C compiler is not found on your computer, then the code will still run, but it could be slower.
4. Start by browsing the examples located in the `examples/` folder. These same examples can also be seed on the project website under [examples](https://jkpld.github.io/SALR_Clustering/examples/).

#### Installation Notes
* The GitHub repository could take a few minutes to download as the repository is ~200 MB. The majority of this space comes from the example data included.
* `setup.m` will not permanently add the files to your Matlab path. If you want the files to remain on your Matlab path, the run the command `savepath` in the Matlab command window after running `setup.m`.

## Requirements

* Matlab version R2016b or higher. _This is the first version that allows for implicit expansion, which is a feature heavily used in the code._
* The Image Processing Toolbox.
* The Statistics and Machine Learning Toolbox.
* The Parallel Computing Toolbox - _This toolbox is optional, but if you have it, then you will be able to run computations in parallel._

## Example use

```matlab
% Load test image
BW = imread('snowflake.tif');

% Setup parameters
options = seedPointOptions();
options.Wigner_Seitz_Radius = 4;
options.Potential_Parameters = [-1,2,10];
options.Iterations = 3;
options.Minimum_Cluster_Size = 2;
options.Debug = true;

% Compute seed-points
[seedPoints,Info] = computeObjectSeedPoints(logical(BW),options);

% Overlay onto the image the initial positions of all three iterations
% as small blue dots and the final seed-point locations as large red dots.
figure, imshow(BW), hold on;
plot(Info.r0(:,2),Info.r0(:,1),'.b','MarkerSize',3)
plot(seedPoints(:,2),seedPoints(:,1),'.r','MarkerSize',12)
```


text:
# playwright-200

## Install
`npm i -D @playwright/test`
`npx playwright install`
`npm i`

## Generate
`node generator` to generate tests

## Run
`npx playwright test` (https://playwright.dev/docs/intro#command-line)


text:
# LoopKey Coding styles
Coding styles and tool configuration files.

## Java

Availabe configurations:

- [Eclipse XML Configuration](https://raw.githubusercontent.com/loopkeybr/style/master/java/eclipse-java-loopkey-style.xml)

### Configuring VS Code

In order to configure VS Code:
- Make sure you are using the Language Support for Java(TM) by Red Hat plugin.
- Set the `java.format.settings.url` configuration flag to [the XML configuration file URL](https://raw.githubusercontent.com/loopkeybr/style/master/java/eclipse-java-loopkey-style.xml).

repository: loopkeybr/style

repo_name: loopkeybr/style


text:
# Redis Sink

A Redis sink Firehose \(`SINK_TYPE`=`redis`\) requires the following variables to be set along with Generic ones

## `SINK_REDIS_URLS`

REDIS instance hostname/IP address followed by its port.

* Example value: `localhos:6379,localhost:6380`
* Type: `required`

## `SINK_REDIS_DATA_TYPE`

To select whether you want to push your data as a HashSet or as a List.

* Example value: `Hashset`
* Type: `required`
* Default value: `List`

## `SINK_REDIS_KEY_TEMPLATE`

The string that will act as the key for each Redis entry. This key can be configured as per the requirement, a constant or can extract value from each message and use that as the Redis key.

* Example value: `Service\_%%s,1`

  This will take the value with index 1 from proto and create the Redis keys as per the template\

* Type: `required`

## `INPUT_SCHEMA_PROTO_TO_COLUMN_MAPPING`

This is the field that decides what all data will be stored in the HashSet for each message.

* Example value: `{"6":"customer_id",  "2":"order_num"}`
* Type: `required (For Hashset)`

## `SINK_REDIS_LIST_DATA_PROTO_INDEX`

This field decides what all data will be stored in the List for each message.

* Example value: `6`

  This will get the value of the field with index 6 in your proto and push that to the Redis list with the corresponding keyTemplate\

* Type: `required (For List)`

## `SINK_REDIS_TTL_TYPE`

* Example value: `DURATION`
* Type: `optional`
* Default value: `DISABLE`
* Choice of Redis TTL type.It can be:\
  * `DURATION`: After which the Key will be expired and removed from Redis \(UNIT- seconds\)\
  * `EXACT_TIME`: Precise UNIX timestamp after which the Key will be expired

## `SINK_REDIS_TTL_VALUE`

Redis TTL value in Unix Timestamp for `EXACT_TIME` TTL type, In Seconds for `DURATION` TTL type.

* Example value: `100000`
* Type: `optional`
* Default value: `0`

## `SINK_REDIS_DEPLOYMENT_TYPE`

The Redis deployment you are using. At present, we support `Standalone` and `Cluster` types.

* Example value: `Standalone`
* Type: `required`
* Default value: `Standalone`


text:
Title: IDocument
Description: The primary object in Wyam that contains content and metadata for each item as it propagates through the pipeline.
---
The primary object in Wyam that contains content and metadata for each item as it propagates through the pipeline. Documents are immutable so you must call one of the `Clone(...)` methods to create a new document. Implements `IMetadata` and all metadata calls are passed through to the document's internal `Metadata` instance. Note that both `Content` and `Stream` properties are guaranteed not to be `null`. When a document is created, either a `string` or a `Stream` is provided. Whenever the other of the two is requested, the system will convert the current representation for you.

# Members
---
## Properties

  - `string Source { get; }`

    An identifier for the document meant to reflect the source of the data. These should be unique (such as file name).

  - `IMetadata Metadata { get; }`

    Gets the metadata associated with this document.

  - `string Content { get; }`

    Gets the content associated with this document.

  - `Stream GetStream()`

    Gets a stream for the document content. The retured stream wraps the underlying stream and prevents concurrent access (additional stream requests will block until the first one is finished). **You *must* dispose the retured stream as quickly as possible to prevent blocking on concurrent access**.

## Methods

  - `IDocument Clone(string source, string content, IEnumerable<KeyValuePair<string, object>> metadata = null)`

    Clones the current document with a new source, new content, and additional metadata (all existing metadata is retained).

  - `IDocument Clone(string content, IEnumerable<KeyValuePair<string, object>> metadata = null)`

    Clones the current document with new content and additional metadata (all existing metadata is retained).

  - `IDocument Clone(string source, Stream stream, IEnumerable<KeyValuePair<string, object>> metadata = null, bool disposeStream = true)`

    Clones the current document with a new source, new stream, and additional metadata (all existing metadata is retained). If `disposeStream` is true (which it is by default), the provided stream will automatically be disposed when the document is disposed (I.e., the cloned document takes ownership of the stream).

  - `IDocument Clone(Stream stream, IEnumerable<KeyValuePair<string, object>> metadata = null, bool disposeStream = true)`

    Clones the current document with a new stream and additional metadata (all existing metadata is retained). If `disposeStream` is true (which it is by default), the provided stream will automatically be disposed when the document is disposed (I.e., the cloned document takes ownership of the stream).

  - `IDocument Clone(IEnumerable<KeyValuePair<string, object>> metadata)`

    Clones the current document with identical content and additional metadata (all existing metadata is retained).


text:
HttpClient (Xamarin.Forms)
=========

This sample is a simple demo of `HttpClient` accessing a `Json` web service. The code is based on this [portable class library sample](http://bertt.wordpress.com/2013/03/19/using-geonames-webservices-from-portable-class-library-pcl/) - it retrieves data from [GeoNames](http://api.geonames.org/) and displays it in a `ListView`.

![screenshot](https://raw.githubusercontent.com/conceptdev/xamarin-forms-samples/master/HttpClient/Screenshots/iOS.png "iOS")

**NOTE:** if you get a build error related to HttpClient, do a *Clean* of the solution (and if that doesn't work, manually delete all the `obj` and `bin` folders).

NuGet Components
----------------

* **Xamarin.Forms** (of course)

* **Newtonsoft.Json** for parsing the Json response

* **Microsoft.Net.Http** for the HttpClient implementation

repository: ozaksuty/xamarin-forms-samples

repo_name: ozaksuty/xamarin-forms-samples


text:
# logstash-loggable-bwc
Backward compatibility for the Loggable mixin which is not available on Logstash 2.4.1

In your Logstash plugin gemspec add/change
```
  s.add_runtime_dependency "logstash-core-plugin-api", ">= 1.60.5", "<= 2.99"
  s.add_runtime_dependency 'logstash-loggable-bwc'
```
Then in you plugin replace any
`require "logstash/util/loggable"`
with
`require "logstash-loggable-bwc"`