text:
# incon - Computational Models of Simultaneous Consonance

[![lifecycle](https://img.shields.io/badge/lifecycle-maturing-blue.svg)](https://www.tidyverse.org/lifecycle/#maturing)
[![Travis build
status](https://travis-ci.org/pmcharrison/incon.svg?branch=master)](https://travis-ci.org/pmcharrison/incon)
[![AppVeyor build
status](https://ci.appveyor.com/api/projects/status/github/pmcharrison/incon?branch=master&svg=true)](https://ci.appveyor.com/project/pmcharrison/incon)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.2545766.svg)](https://doi.org/10.5281/zenodo.2545766)

`incon` is an R package that implements various computational models of
simultaneous consonance perception.

## Citation

Harrison, P. M. C., & Pearce, M. T. (2020). Simultaneous consonance in music perception and composition. *Psychological Review, 127*(2), 216-244. http://dx.doi.org/10.1037/rev0000169

## Installation

You can install the current version of `incon` from Github by entering
the following commands into R:

``` r
if (!require(devtools)) install.packages("devtools")
devtools::install_github("pmcharrison/incon")
```

## Usage

The primary function is `incon`, which applies consonance models to an
input chord. The default model is that of Hutchinson & Knopoff (1978):

``` r
library(incon)

chord <- c(60, 64, 67) # major triad, MIDI note numbers
incon(chord)
#> hutch_78_roughness
#>          0.1202426
```

You can specify a vector of models and these will applied in turn.

``` r
chord <- c(60, 63, 67) # minor triad
models <- c("hutch_78_roughness",
            "parn_94_pure",
            "huron_94_dyadic")
incon(c(60, 63, 67), models)
#> hutch_78_roughness       parn_94_pure    huron_94_dyadic
#>          0.1300830          0.6368813          2.2200000
```

See *Models* for a list of available models. See the package’s inbuilt
documentation, `?incon`, for further details.

## Models

Currently the following models are
implemented:

| Label                     | Citation                      | Class                   | Package  |
| :------------------------ | :---------------------------- | :---------------------- | :------- |
| gill\_09\_harmonicity     | Gill & Purves (2009)          | Periodicity/harmonicity | bowl18   |
| har\_18\_harmonicity      | Harrison & Pearce (2018)      | Periodicity/harmonicity | har18    |
| milne\_13\_harmonicity    | Milne (2013)                  | Periodicity/harmonicity | har18    |
| parn\_88\_root\_ambig     | Parncutt (1988)               | Periodicity/harmonicity | parn88   |
| parn\_94\_complex         | Parncutt & Strasburger (1994) | Periodicity/harmonicity | parn94   |
| stolz\_15\_periodicity    | Stolzenburg (2015)            | Periodicity/harmonicity | stolz15  |
| bowl\_18\_min\_freq\_dist | Bowling et al. (2018)         | Interference            | bowl18   |
| huron\_94\_dyadic         | Huron (1994)                  | Interference            | incon    |
| hutch\_78\_roughness      | Hutchinson & Knopoff (1978)   | Interference            | dycon    |
| parn\_94\_pure            | Parncutt & Strasburger (1994) | Interference            | parn94   |
| seth\_93\_roughness       | Sethares (1993)               | Interference            | dycon    |
| vass\_01\_roughness       | Vassilakis (2001)             | Interference            | dycon    |
| wang\_13\_roughness       | Wang et al. (2013)            | Interference            | wang13   |
| jl\_12\_tonal             | Johnson-Laird et al. (2012)   | Culture                 | jl12     |
| har\_19\_corpus           | Harrison & Pearce (2019)      | Culture                 | corpdiss |
| parn\_94\_mult            | Parncutt & Strasburger (1994) | Numerosity              | parn94   |
| har\_19\_composite        | Harrison & Pearce (2019)      | Composite               | incon    |

See `?incon` for more details.

## Packages

The functionality of `incon` is split between several low-level R
packages, listed
below.

| Package  | DOI                                                              | GitHub                                    |
| :------- | :--------------------------------------------------------------- | :---------------------------------------- |
| bowl18   | [10.5281/zenodo.2545741](https://doi.org/10.5281/zenodo.2545741) | <https://github.com/pmcharrison/bowl18>   |
| corpdiss | [10.5281/zenodo.2545748](https://doi.org/10.5281/zenodo.2545748) | <https://github.com/pmcharrison/corpdiss> |
| dycon    | [10.5281/zenodo.2545750](https://doi.org/10.5281/zenodo.2545750) | <https://github.com/pmcharrison/dycon>    |
| har18    | [10.5281/zenodo.2545752](https://doi.org/10.5281/zenodo.2545752) | <https://github.com/pmcharrison/har18>    |
| hcorp    | [10.5281/zenodo.2545754](https://doi.org/10.5281/zenodo.2545754) | <https://github.com/pmcharrison/hcorp>    |
| hrep     | [10.5281/zenodo.2545770](https://doi.org/10.5281/zenodo.2545770) | <https://github.com/pmcharrison/hrep>     |
| jl12     | [10.5281/zenodo.2545756](https://doi.org/10.5281/zenodo.2545756) | <https://github.com/pmcharrison/jl12>     |
| parn88   | [10.5281/zenodo.1491909](https://doi.org/10.5281/zenodo.1491909) | <https://github.com/pmcharrison/parn88>   |
| parn94   | [10.5281/zenodo.2545759](https://doi.org/10.5281/zenodo.2545759) | <https://github.com/pmcharrison/parn94>   |
| stolz15  | [10.5281/zenodo.2545762](https://doi.org/10.5281/zenodo.2545762) | <https://github.com/pmcharrison/stolz15>  |
| wang13   | [10.5281/zenodo.2545764](https://doi.org/10.5281/zenodo.2545764) | <https://github.com/pmcharrison/wang13>   |

## Spectral representations

Certain `incon` models can be applied to full frequency spectra rather than just
symbolically notated chords. One example is the set of interference models
provided in the `dycon` package. In order to run such models on full frequency
spectra one must call `hrep` and `dycon` functions explicitly, as in the
following example, which computes the roughness of a chord using the
Hutchinson-Knopoff dissonance model:

``` r
spectrum <-
  hrep::sparse_fr_spectrum(list(
    frequency = c(400, 800, 1200, 1250),
    amplitude = c(1, 0.7, 0.9, 0.6)
  ))

dycon::roughness_hutch(spectrum)
```

## References

Bowling, D. L., Purves, D., & Gill, K. Z. (2018). Vocal similarity
predicts the relative attraction of musical chords. Proceedings of the
National Academy of Sciences, 115(1), 216–221.
<https://doi.org/10.1073/pnas.1713206115>

Gill, K. Z., & Purves, D. (2009). A biological rationale for musical
scales. PLoS ONE, 4(12). <https://doi.org/10.1371/journal.pone.0008144>

Harrison, P. M. C., & Pearce, M. T. (2018). An energy-based generative
sequence model for testing sensory theories of Western harmony. In
Proceedings of the 19th International Society for Music Information
Retrieval Conference (pp. 160–167). Paris, France.

Harrison, P. M. C., & Pearce, M. T. (2019). Instantaneous consonance in
the perception and composition of Western music. *PsyArxiv*.
<https://doi.org/10.31234/osf.io/6jsug>

Huron, D. (1994). Interval-class content in equally tempered pitch-class
sets: Common scales exhibit optimum tonal consonance. Music Perception,
11(3), 289–305. <https://doi.org/10.2307/40285624>

Hutchinson, W., & Knopoff, L. (1978). The acoustic component of Western
consonance. Journal of New Music Research, 7(1), 1–29.
<https://doi.org/10.1080/09298217808570246>

Johnson-Laird, P. N., Kang, O. E., & Leong, Y. C. (2012). On musical
dissonance. Music Perception, 30(1), 19–35.

Milne, A. J. (2013). A computational model of the cognition of tonality.
The Open University, Milton Keynes, England.

Parncutt, R. (1988). Revision of Terhardt’s psychoacoustical model of
the root(s) of a musical chord. Music Perception, 6(1), 65–93.

Parncutt, R., & Strasburger, H. (1994). Applying psychoacoustics in
composition: “Harmonic” progressions of “nonharmonic” sonorities.
Perspectives of New Music, 32(2), 88–129.

Sethares, W. A. (1993). Local consonance and the relationship between
timbre and scale. The Journal of the Acoustical Society of America,
94(3), 1218–1228.

Stolzenburg, F. (2015). Harmony perception by periodicity detection.
Journal of Mathematics and Music, 9(3), 215–238.
<https://doi.org/10.1080/17459737.2015.1033024>

Vassilakis, P. N. (2001). Perceptual and physical properties of
amplitude fluctuation and their musical significance. University of
California, Los Angeles, CA.

Wang, Y. S., Shen, G. Q., Guo, H., Tang, X. L., & Hamade, T. (2013).
Roughness modelling based on human auditory perception for sound quality
evaluation of vehicle interior noise. Journal of Sound and Vibration,
332(16), 3893–3904. <https://doi.org/10.1016/j.jsv.2013.02.030>

repository: pmcharrison/incon

gha_language: R

gha_license_id: NOASSERTION

repo_name: pmcharrison/incon


text:
---
title: computer science
layout: post
author: john.nickless
permalink: /computer-science/
source-id: 1B-GLqylLMUyMOkvVfGuinlxLtePVII2dD6F1u4HJrys
published: true
---

    title
    Computer science
    Date

    Starting point:
    Continue fuse basic

    Target for the lesson:
    Continue coding using fuse basic

    Did I reach my target?
    Yes

    How did you use your learning habits this week?

    Persevering
    I kept on trying if things went wrong

    Questioning?
    I asked the teacher when things went wrong

    Independence
    I worked by myself

    Reflecting
    n/a

    Engagement
    I was engaged at all times

    What changes can I make to improve my learning next time

    n/a

license: MIT

branch_name: refs/heads/master

extension: md

license_type: permissive


text:
3-Tiers-php-5.3-framework
=========================

A simple, easy to use php 5.3 dependency injection framework, which make easier to implement a 3 tiers architecture.

Documentation TO DO

The framework come with an example of appliation we can make with. It's a very simple Ecom for books. Database file included.

This program needs the following:

- PHP 5.3 ou greater
- apache2
- apache2 mod_rewrite

Non-standard PHP configuration required:
- short_open_tag = On

gha_language: PHP

gha_license_id: MIT


text:
# TODO :smile_cat:

- display web browser view (see [http://tutorials.jenkov.com/javafx/webview.html])
- start Node.js web server from within IntelliJ
- view web page from web server
    - TADIS
    - graphviz-react
- establish communication from IntelliJ to web browser and back
    - let click on SVG show up corresponding code file in IntelliJ
- develop TADIS JavaScript interface to add/remove patterns for source code analysis
- add IntelliJ UI components to add/remove source analysis patterns

repository: xndlnk/microservice-visualization

gha_language: TypeScript

repo_name: xndlnk/microservice-visualization


text:
# Change Log

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

## [0.16.4](https://github.com/lonelyplanet/rizzo-next/compare/v0.16.1...v0.16.4) (2017-05-26)

### Bug Fixes

* Changed font asset to use https ([731b19b](https://github.com/lonelyplanet/rizzo-next/commit/731b19b))

## [0.16.3](https://github.com/lonelyplanet/rizzo-next/compare/v0.16.1...v0.16.3) (2017-05-24)

## [0.16.1](https://github.com/lonelyplanet/rizzo-next/compare/v0.16.0...v0.16.1) (2017-05-12)

### Bug Fixes

* Insert ad slots into article body after every 6th paragraph ([#659](https://github.com/lonelyplanet/rizzo-next/issues/659)) ([926b7d4](https://github.com/lonelyplanet/rizzo-next/commit/926b7d4))

# [0.16.0](https://github.com/lonelyplanet/rizzo-next/compare/v0.15.5...v0.16.0) (2017-05-12)

### Bug Fixes

* Bump webpack, karma, karma-webpack ([#658](https://github.com/lonelyplanet/rizzo-next/issues/658)) ([da49b22](https://github.com/lonelyplanet/rizzo-next/commit/da49b22))
* Change overlay color to 30% black ([#653](https://github.com/lonelyplanet/rizzo-next/issues/653)) ([e69d2f1](https://github.com/lonelyplanet/rizzo-next/commit/e69d2f1))
* Change z-index for mobile navigation ([#654](https://github.com/lonelyplanet/rizzo-next/issues/654)) ([d7d0a8d](https://github.com/lonelyplanet/rizzo-next/commit/d7d0a8d))
* Change z-index for search component ([#655](https://github.com/lonelyplanet/rizzo-next/issues/655)) ([34fa65a](https://github.com/lonelyplanet/rizzo-next/commit/34fa65a))
* Change z-index for video overlay ([#657](https://github.com/lonelyplanet/rizzo-next/issues/657)) ([a730092](https://github.com/lonelyplanet/rizzo-next/commit/a730092))
* Change z-index of overlay ([#656](https://github.com/lonelyplanet/rizzo-next/issues/656)) ([c2b823e](https://github.com/lonelyplanet/rizzo-next/commit/c2b823e))
* Update article header layout ([#660](https://github.com/lonelyplanet/rizzo-next/issues/660)) ([0298273](https://github.com/lonelyplanet/rizzo-next/commit/0298273))

### Features

* Add new values for z-index ([#652](https://github.com/lonelyplanet/rizzo-next/issues/652)) ([7bc1750](https://github.com/lonelyplanet/rizzo-next/commit/7bc1750))

## [0.15.5](https://github.com/lonelyplanet/rizzo-next/compare/v0.15.3...v0.15.5) (2017-05-08)

## [0.15.4](https://github.com/lonelyplanet/rizzo-next/compare/v0.15.3...v0.15.4) (2017-05-08)

## [0.15.3](https://github.com/lonelyplanet/rizzo-next/compare/v0.15.2...v0.15.3) (2017-05-05)

## [0.15.2](https://github.com/lonelyplanet/rizzo-next/compare/v0.15.1...v0.15.2) (2017-05-05)

### Bug Fixes

* Bump webpack ([28fc0c4](https://github.com/lonelyplanet/rizzo-next/commit/28fc0c4))

## [0.15.1](https://github.com/lonelyplanet/rizzo-next/compare/v0.15.0...v0.15.1) (2017-05-05)

# [0.15.0](https://github.com/lonelyplanet/rizzo-next/compare/v0.14.5...v0.15.0) (2017-05-04)

### Features

* Global modal ([bd20dcd](https://github.com/lonelyplanet/rizzo-next/commit/bd20dcd))

## [0.14.5](https://github.com/lonelyplanet/rizzo-next/compare/0.14.4...v0.14.5) (2017-05-02)

### Bug Fixes

* Fix scsslint errors in topic.scss ([#646](https://github.com/lonelyplanet/rizzo-next/issues/646)) ([30b58c5](https://github.com/lonelyplanet/rizzo-next/commit/30b58c5))

## [0.14.3](https://github.com/lonelyplanet/rizzo-next/compare/v0.14.2...v0.14.3) (2017-04-28)

### Bug Fixes

* Align top places close button icon to center ([#643](https://github.com/lonelyplanet/rizzo-next/issues/643)) ([f4fa479](https://github.com/lonelyplanet/rizzo-next/commit/f4fa479)), closes [lonelyplanet/destinations-next#1272](https://github.com/lonelyplanet/destinations-next/issues/1272)

## [0.14.2](https://github.com/lonelyplanet/rizzo-next/compare/v0.14.1...v0.14.2) (2017-04-12)

## [0.14.1](https://github.com/lonelyplanet/rizzo-next/compare/v0.14.0...v0.14.1) (2017-04-04)

### Bug Fixes

* **navigation:** Add a see all videos link ([be6fb4d](https://github.com/lonelyplanet/rizzo-next/commit/be6fb4d))

# [0.14.0](https://github.com/lonelyplanet/rizzo-next/compare/v0.13.0...v0.14.0) (2017-04-03)

### Features

* add Video to main navigation in header ([6461dd5](https://github.com/lonelyplanet/rizzo-next/commit/6461dd5))

# [0.13.0](https://github.com/lonelyplanet/rizzo-next/compare/v0.12.19...v0.13.0) (2017-03-15)

### Features

* Add standard version to npm scripts ([7a34e53](https://github.com/lonelyplanet/rizzo-next/commit/7a34e53))

## [0.12.20](https://github.com/lonelyplanet/rizzo-next/compare/v0.12.19...v0.12.20) (2017-03-15)

## [0.12.19](https://github.com/lonelyplanet/rizzo-next/compare/v0.12.17...v0.12.19) (2017-03-15)

### Bug Fixes

* remove user location checking from map ([499ac3c](https://github.com/lonelyplanet/rizzo-next/commit/499ac3c))
* Unhide the published date ([53884d7](https://github.com/lonelyplanet/rizzo-next/commit/53884d7))

repository: StetHD/rizzo-next

repo_name: StetHD/rizzo-next


text:
# nippon_colors
[![Pub Version](https://img.shields.io/pub/v/nippon_colors)](https://pub.dev/packages/nippon_colors)

Implementing all 250 traditional colors for easy use. Inspired by [Nippon Colors](https://nipponcolors.com/)

## Getting Started

```yaml
dependencies:
  nippon_colors: ^0.2.2
```

## Usage
```dart
import 'package:nippon_colors/nippon_colors.dart'

Color ro = NipponColors.nipponColor250;

``

## Todo
- [x] Add Romanised name support
- [x] Add document so that color can show up by IntelliCode
- [ ] Add example

## Getting Started

For help getting started with Flutter, view our online
[documentation](http://flutter.io/).

For help on editing plugin code, view the [documentation](https://flutter.io/platform-plugins/#edit-code).

gha_language: Dart


text:
# JaSaMi
![travis-ci](https://api.travis-ci.org/ajhsu/jasami-api.svg?branch=master)

Querying for your next meal.

## Tech Stacks
 * Use Babel 6 as ES2015+ transpiler
 * Use Express as WebServer
 * Use MongoDB as Database
 * Use Tape for Testing
 * Use JSON Schema and Ajv for API spec and End-to-End testing validation
 * Use Travis-CI for continuous integration
 * Use PM2 for auto-reloading (in production)

## Quickstart
```bash
npm install
npm start
```

## Unit Test
```bash
npm test
```

repository: ajhsu/jasami-api

repo_name: ajhsu/jasami-api


text:
Ambidextra Mouse Switcher for Gnome Shell
==========================================

This is a simple gnome shell extension that adds a button to the top panel to quickly switch between left-handed and right-handed mouse configurations.

Why?
----

Simply because I spend way too much time on the computer and have a bad posture. This allows me to not put too much strain on one shoulder for extended periods of time. N.B. I am not a doctor and this is definitely NOT the way to avoid RSI. I am just publishing this because code wants to be free.

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

Copy<EMAIL_ADDRESS>to `$HOME/.local/share/gnome-shell/extensions`. You may need to use `gnome-tweak-tool` to enable the extension. Hit `Alt+F2` followed by `r` to reload Gnome Shell and the extension should get loaded.

Clicking the panel button (marked with either `R` or `L` depending on your current mouse configuration) will toggle between left-handed and right-handed modes.

repository: charithe/ambidextra

repo_name: charithe/ambidextra


text:
---
title: The Ruby Toolbox Catalog
---

Exports of [the Ruby Toolbox catalog][catalog] are built to this page for later consumption by [The Ruby Toolbox][toolbox] (or anyone else interested, for that matter ;)

* [catalog.json](./catalog.json) (built on {{ site.time | date: '%Y-%m-%d' }})

[catalog]: https://github.com/rubytoolbox/catalog
[toolbox]: https://www.ruby-toolbox.com

repository: rubytoolbox/catalog

branch_name: refs/heads/main

gha_language: Ruby

repo_name: rubytoolbox/catalog


text:
### 0.1
---

Current version. Includes the following:

+ Basic navigation commands (`j`, `k`, `g`, `b`, `G`, `B`)
+ Basic txt file parsing (finding of title, slides, number of slides)
+ Basic themeing
+ Centering

### 0.2
---

+ Basic markdown style formatting (optional, enabled/disabled by flag)
+ vim-like command mode (file switching, theme switching, displaying bmark list)

### 0.3
---

+ Specifying text color
+ URL detection/selection (key binding or command?)
+ dual slide display mode

### 0.4
---

+ tabbed completion for command mode
+ edit mode (go to the slide to edit, enter a command (something like `edit`) opens vim and placed cursor at that slide)

### 0.5
---

+ support for other operating systems (possibly being moved up depending on development overhead)
+ config file support (custom themes, settings)

### 1.0
---

Release of 1.0 will mark the final version with all of the above features + optimizations and code cleanup

repository: evlnyng/dss

repo_name: evlnyng/dss


text:
---
redirect_to: /hub/kong-inc/proxy-cache

# !!!!!!!!!!!!!!!!!!!!!!!!   WARNING   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#
# FIXME This file is dead code - it is no longer being rendered or utilized,
# and updates to this file will have no effect.
#
# The remaining contents of this file (below) will be deleted soon.
#
# Updates to the content below should instead be made to the file(s) in /app/_hub/
#
# !!!!!!!!!!!!!!!!!!!!!!!!   WARNING   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!

id: page-plugin
title: Plugins - EE Proxy Caching
layout: plugin-ee
header_title: EE Proxy Caching
header_icon: /assets/images/icons/plugins/ee-proxy-caching.png
breadcrumbs:
  Plugins: /plugins
description: |
  The Proxy Caching plugin for Kong Enterprise Edition makes it fast and easy to configure caching of responses and serving of those cached responses to matching requests.

  * [Detailed documentation for the EE Proxy Caching Plugin](/enterprise/latest/plugins/http-proxy-caching/)
---

gha_language: HTML


text:
---
order: 1
title: Getting Started
type: Documents
---

## Foreword

`@delon/mock` is a simulation data generator to help the front-end to develop and prototype separate from the back-end progress and reduce some monotony particularly while writing automated tests.

**Features**

- All of the Angular projects
- Unobtrusive
- Simple usage
- Support [mock.js](http://mockjs.com/)

## Usage

Install `@delon/mock` from `yarn`.

```bash
yarn add @delon/mock -D
```

Please refer to [global-config.module.ts](https://github.com/ng-alain/ng-alain/blob/master/src/app/global-config.module.ts#L26-L30) import the [Mock Rule data](/mock/rule).

### MockOptions

> You can override them via [Global Configuration](/docs/global-config).

| Property | Description | Type | Default | Global Config |
|----------|-------------|------|---------|---------------|
| `[data]` | `any` | - | Mock data rule | ✅ |
| `[delay]` | `number` | `300` | Request delay, unit is milliseconds | ✅ |
| `[force]` | `boolean` | `false` | Whether to force all requests to Mock, `true` means to return a 404 error directly when the requested URL does not exist, `false` means to send a real HTTP request when the request is missed | ✅ |
| `[log]` | `boolean` | `true` | Whether to print Mock request information, make up for the browser without Network information; it will output [👽Mock] when hit | ✅ |
| `[executeOtherInterceptors]` | `boolean` | `true` | Whether continue to call other interceptor `intercept` method after mock rule hit | ✅ |
| `[copy]` | `boolean` | `true` | Whether to return copy data | ✅ |

> **Lazy modules** need to import `forChild`, You can import `forChild` in the `SharedModule`.

repository: ng-alain/delon

repo_name: ng-alain/delon


text:
# Text-Bullet
An open-source backend for thetravelers.online with plugin support. Please note to do any game logic, you need to install a plugin.

## Installation
There are two methods to install text bullet; downloading a compiled version or using typescript/nodejs. It is recommended to use a compiled version unless you are actively making changes to text bullet.

### Pre-compiled build
1. Download the latest release.
2. Run text-bullet.exe for windows or text-bullet for mac/linux to generate necessary files.
3. Stop the server either by ctrl-c or xing out the terminal.
4. Drag any desired plugins into the plugin folder and configure the server in config.toml
5. Run the server and signup to play. Please note the first player to make an account gets admin.

### typescript/nodejs
1. Clone this repo.
2. Do `npm install` to install all dependencies.
3. Run index.ts either with ts-node or do `tsc` and `node build/index.js`.
4. Stop the server either by ctrl-c or xing out the terminal.
5. Drag any desired plugins into the plugin folder and configure the server in config.toml
6. Run the server and signup to play. Please note the first player to make an account gets admin.

## Building
You need `pkg` and typescript installed globally to be able to compile.
1. Run `npm run-script build` and take the exe from dist.

repository: SuperQGS/Text-Bullet

repo_name: SuperQGS/Text-Bullet


text:
---
title: blog post 1
layout: post
author: luke.mchugh
permalink: /test-blog-1/
source-id: 1fFPSTTxDHU5LCvX5OHV5KGdmhoKNRVM7NZr1T3c7CjI
published: true
---

    Title
    Blog post 1
    Date
    01/01/01

    Starting point:
    Have a Github repository and change screen css

    Target for this lesson?
    To post a Github blog

    Did I reach my target?
    I am not sure if i did because i don't know whether or not my github worked.

    How did you use your learning habits this week?

    Persevering
    I tried lots off different things when my computer went a bit wrong.

    Questioning?
    I questioned what i needed to do to change different things.

    Independence
    I worked on my own at home

    Reflecting
    I looked back on what i did to see how it influenced things.

    Engagement

    What could have gone better in your learning?

    I could have worked faster and in the lesson i maybe could have wrote down all the functions of css in my planner.

    What changes do you need to make to improve your learning next time?

    I will listen and try to remember what to do more and try to keep up and do as much as i can in the lesson.


text:
# rails_controller_action_log
Plugin to save rails controller actions and informations

## Usage
1. Add it to your Gemfile
2. Run rails g controller_log
3. Run rake db:migrate
2. Include the Loggable concern on your ApplicationController


text:
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)

# DSC (Data Security Classification)
An easy to use GUI that allows users to view/edit/create centralized classified data

## Technology Stack Used
Django, and POSTgres. Although will soon be migrated to MySQL
Django==2.0.1
Python==3.5.2

## Third-Party Products/Libraries used and the the License they are covered by
psycopg2==<IP_ADDRESS> -- (http://initd.org/psycopg/license/)
pytz==2017.3 -- Covered by the MIT license (https://pypi.python.org/pypi/pytz)
mysqlclient
libmysqlclient-dev
python3-venv
python3-pip
apache2
apache2-dev
libapache2-mod-wsgi-py3
(or another HTTP server with python 3 interface)

## Project Status
In-Development

## Documentation

GitHub Pages (https://guides.github.com/features/pages/) are a neat way to document you application/project.

## Security
Authentication & Authorization are handled by Django's built in security. However once this project progresses it will be modified to use the existing Authenication process.

Policies for use will be provided by the FLNR security team.

## Files in this repository
Note: This is just a directory tree.
```
classy/
├── classy			-The app itself, model definitions, views, templates, scripts, etc.
│   ├── migrations		-Here are the migrations for our DB
│   │   └── __pycache__
│   ├── __pycache__
│   ├── static
│   │   └── classy
│   └── templates
│       └── classy
├── dsc				-Configuration information
│   └── __pycache__
├── envs			-Contains our virtual environment, as well as the admin pages
│   ├── bin
│   │   └── __pycache__
│   ├── include
│   ├── lib
│   │   └── python3.5
│   ├── lib64 -> lib
│   └── share
│       └── python-wheels
└── static			-Static files for our webserver
    ├── admin
    │   ├── css
    │   ├── fonts
    │   ├── img
    │   └── js
    └── classy
        ├── css
        ├── images
        └── js
```

## Deployment (Local Development)

Using apt or another package manager install
*libmysqlclient-dev
*python3-venv
*python3-pip
*apache2
*apache2-dev
*libapache2-mod-wsgi-py3

* Since the rest of the dependencies are contained in a virtual environment the only requirement is to be able to activate this localized environment. See (https://virtualenv.pypa.io/en/stable/) for setup instructions. Command to activate the environment is 'source env/bin/activate')

* Create environment variables with corresponding variable names in dsc/settings.py. These include you database credentials, secret, and host IP

* Create a configuration based on the projects location for apache2, eg in /etc/apache2/sites-available. See the Django docs about deploying, they are very detailed.

## Deployment (OpenShift)

See (openshift/Readme.md)

## Getting Help or Reporting an Issue

To report bugs/issues/feature requests, please file an [issue](../../issues).

## How to Contribute

If you would like to contribute, please see our [CONTRIBUTING](./CONTRIBUTING.md) guidelines.

Please note that this project is released with a [Contributor Code of Conduct](./CODE_OF_CONDUCT.md).
By participating in this project you agree to abide by its terms.

## License

    Copyright 2016 Province of British Columbia

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

repository: Krocodial/DSC

repo_name: Krocodial/DSC


text:
## Run Types
```
{
  "HBIR": {
    "userargs": [
      "T1"
    ],
    "annotation": {
      "someArg": "This is an example of an argument that gets put into a populated .props file."
    },
    "types": {
      "someArg": "string",
    },
    "translation": {
      "someArg": "com.spec.something"
    }
  }
}
```

TODO: Add more extensive notes.

## Run Lists
Also talked about run lists.

These are the things that SPECtate is going to use to construct a benchmarking run. How many injectors? How many backends? What values go into the `userargs` defined above? etc.
```
[
{
  "tag": "value",
  "runtype": "HBIR",
  "numa_nodes": 4,
  "backends": 20
},
...
]
```

repository: PDXCapstoneF/SPECtate

branch_name: refs/heads/dev

gha_language: Python

repo_name: PDXCapstoneF/SPECtate


text:
********
![zigbee](files/zigbee.png)
********

# Who is this boot camp for?

The following boot camp is focused on providing a hands-on experience on the development of IoT technologies with the Silicon Labs EmberZNet Stack and Simplicity Studio IDE. We will give a brief introduction of Zigbee and then you can expect to work through a series of workshops to develop your own Zigbee network. You will also have the ability to reference other Silicon Labs documentation for more detailed learning.

By the end of the hands-on tutorials you will know how to use the Simplicity Studio IDE to build, customize, and implement applications that utilize Zigbee.

# Zigbee Boot Camp
We have prepared a series of hands-on modules to implement the Zigbee protocol and familiarize you with Simplicity Studio v5. You should complete the following modules:

## One Day Workshop
| Time | Content | Description |
|:---- |:---- |:---- |
| 1 hour | [Hands on : Forming and Joining](Zigbee-Hands-on-Forming-and-Joining) | Form a basic centralized Zigbee network using a zigbee minimal sample application |
| 1 hour | [Hands on : Sending on/off commands](Zigbee-Hands-on-Sending-OnOff-Commands) | Use a Zigbee ED to control LED status with ZCL commands |
| 1 hour | [Hands on : Using Event](Zigbee-Hands-on-Using-Event) | Execute custom code to control LED blink |
| 1 hour | [Hands on : Non-volatile Data Storage](Zigbee-Hands-on-Non-volatile-Data-Storage) | Implement custom tokens |
*************

Each module builds on the former module so we strongly recommend completing these in order. Before starting the modules, make sure you have Simplicity Studio v5 installed and configured.

NOTE: QSG-180 is designed for developers who are new to Zigbee EmberZNet and the Silicon Labs development hardware. It provides basic information on configuring, building, and installing applications for the EFR32MG family of SoCs. Completing QSG-180 prior to the Zigbee Boot Camp is recommended.

# Reference
- [Zigbee Onboarding Roadmap][Zigbee Onboarding Roadmap]
- [QSG-180: Quick Start Guide using SSv5](https://www.silabs.com/documents/public/quick-start-guides/qsg180-zigbee-emberznet-7x-quick-start-guide.pdf)
- [UG103-01 Fundamentals: Wireless Network](https://www.silabs.com/documents/public/user-guides/ug103-01-fundamentals-wireless-network.pdf)
- [UG103-02 Fundamentals: Zigbee](https://www.silabs.com/documents/public/user-guides/ug103-02-fundamentals-zigbee.pdf)
- [AN0822 Simplicity Studio User Guide](https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-overview/)
- [Silicon Labs: Zigbee - Application Framework API Reference Documentation](https://docs.silabs.com/zigbee/latest/)

[Zigbee Onboarding Roadmap]: files/Silicon-Labs-ZigBee-Onboarding-Roadmap.pdf

license: Zlib

gha_language: C


text:
+++
title = "Getting a Grip on LYG"
date = 2001-03-16
[extra]
author = "Stephen Granade"
sort_author = "Granade, Stephen"
game = "Losing your Grip"
sort_game = "Losing your Grip"
reviewer = "Gunther Schmidl"
sort_reviewer = "Schmidl, Gunther"
+++
_Here Be Spoilers_, naturally. Consider yourself warned.

Stephen Granade's _Losing Your Grip_ is (or, rather, 'was': registration is
no longer possible, and there is a free version forthcoming) one of the few
shareware games in the IF world. And like most shareware IF, it was well worth
its price.

_LYG_ is a _huge_ game. It is divided into five fits and two
interludes, some larger, some smaller, but it'll take you quite a while to get
through the game.

Then you read a hint request on one of the Interactive Fiction-related
newsgroups, and you realize you can't remember that happening in the game you
played. Surely this person got the game wrong?

They didn't. Stephen sneakily made the game even larger -- and, thus, a lot more
replayable than it already is -- by sending you to one of two different versions
of a fit depending on small choices made in the fit before that.

And he doesn't do this once -- he does it twice. It's pretty daring to include
multiple paths in a story given the danger nobody ever discovers them, but
he pulls it off beautifully. And the game is good enough you'll want to go back
and try the alternative fits as well.

Apart from being huge and sneaky, _LYG_ is also a difficult game,
especially in the later fits. The game begins harmless enough:

{% gametext() %}

Rain and mud.

Those are your first solid memories.    Mud beneath your feet, filling your shoes.  Other details slowly
filter in.  The trees surrounding you.  The leaden skies above.  The chill wind
cutting through your clothes with ease.

Shelter would be a good beginning.

{% end %}

Come to think of it, this isn't harmless at all. Nevermind.

Like in the commercially released (and horribly under-rated) graphic adventure
game _Sanitarium_, _Losing Your Grip_ is a bizarre journey through
the depths of the subconscious that would make Freud go green with envy. This
is also where the similarities end -- almost. _LYG_'s backstory is
partially given away in the feelies you receive upon registration, and the game
makes a lot more sense with them.

After an encounter with the now famous buried human head [^1]
you do manage to find shelter. And this is where things start to get really
strange.

There is an abandoned building full of stopped clocks; a person named Frankie,
cataloguing spheres; objects that appear out of nowhere, containing -- what?
Memories? Threats?

 In fact, the
first puzzle involving him (no gender is given, but I think of the dog as male)
is not clued at all, as far as I can tell, and will probably involve having to
restart for most players when they realize they can not carry objects across
fits. This is, however, the only puzzle I really found "unfair" or "arbitrary"
(in a sense) -- I may have needed to use hints continuously in the later fits
(especially the Mathematical and the Abstract), but those puzzles were well
enough clued to be solvable without resorting to the excellent in-game hints,
given enough time.

(Did I mention hints are only available when you register? Don't worry, the
forthcoming free version will probably provide them also.)

Very many things in this game are allegorical, and most do not reveal their
deeper meaning until a later Fit, if at all. Stephen deliberately does not
explain his own designs; he fears that players will see his words as
authoritative (which makes sense, him being the author and all) when he is much
more interested in what players think. "Yes, it's deliberate," as Zarf would
say.

Later fits take the player, Terry, into a hospital or his old school
(depending), a fairy-tale world, an abstract or mathematical puzzle-fest
(again, depending) and finally to confrontation with his nemesis -- and
himself.

The game is extremely well-written, the scenery pulling you right in. It
understands a surprising number of commands. My favourite: after a doctor
had told me to "Administer CPR. Now," I typed, without really thinking as the
situation was urgent, `ADMINISTER CPR`, and lo! it worked. Excellent.

The NPCs in the game respond to what they need to be able to respond to, and
not much more. That's perfectly fine with me; I've never been a friend of
talking to NPCs just to try and break mimesis. The only thing seeming a bit odd
is dialogue along the lines of:

{% gametext() %}

>ASK FRANKIE ABOUT SPHERE

Frankie asks, "Which sphere do you mean, the pile of spheres, or the light
sphere?"

>THE PILE OF SPHERES

(etc.)

{% end %}

This response feels (and is, of course) artificial. Again, I don't care much;
gameplay is much more important, and this is where the game delivers. And
delivers. And delivers. After I'd beaten the game the first time, I tried all
the possible alternative endings, which add so much more to the game. Then I
went back and replayed it for the other two fits right away. When I replayed
part of it for this review, I still liked it as much as the first time round.

And that, my friends, is what counts in a game.

_(Note: If you want to know more about Losing Your Grip than you can possibly
imagine you want to, there was an interview on
[ifMud](http://ifmud.port4000.com/) with Stephen, the transcript
of which you can find [here](http://www-bioc.rice.edu/~lpsmith/IF/bookclub/grip/interview.html))_

For those not in the know, Stephen implemented `KICK HEAD` as a verb.
Naturally, instead of trying to help the head, everyone kicked it instead.
_[Ed. Note: This is untrue.  There are people who did try to help the head
first, and only tried to kick it after running out of other verbs to try.]_
Moreover, this one thing is what the game became (in)famous for, though there
is so much more. Can't have it all.

repository: mjmusante/if-review

repo_name: mjmusante/if-review


text:
---
name: Translation
about: Report a translation mistake/suggest an improvement

---

[//]:# ( Please note: )
[//]:# ( These steps are guidelines and not required. Going through them might prevent duplicate or outdated issues. )
[//]:# ( Feel free to add translations yourself! Contact us if you need help getting started. )

[//]:# ( You can mark an item as completed by adding a 'x' in the boxes as such: [x] )

 - [ ] I have checked [CrowdIn](https://crowdin.com/project/bunqdesktop) to see if the translation has been added.
 - [ ] I have added or updated the translation on [CrowdIn](https://crowdin.com/project/bunqdesktop) myself.

 **Describe the translation issue**

(The word 'friendo' is written incorrectly on page 'X'. The correct translation would be 'friend')

repository: OfficeMP/bunqDesktop

gha_language: JavaScript

repo_name: OfficeMP/bunqDesktop


text:
# Leetcode: House Robber     :BLOG:Medium:

---

House Robber

---

You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent houses have security system connected and it will automatically contact the police if two adjacent houses were broken into on the same night.

Given a list of non-negative integers representing the amount of money of each house, determine the maximum amount of money you can rob tonight without alerting the police.

Github: [challenges-leetcode-interesting](https://github.com/DennyZhang/challenges-leetcode-interesting/tree/master/house-robber)

Credits To: [Leetcode.com](https://leetcode.com/problems/house-robber/description/)

Leave me comments, if you know how to solve.

    class Solution(object):
        def rob(self, nums):
            """
            :type nums: List[int]
            :rtype: int
            """
            ## Idea: Recursive way will timeout
            ##       DP: robs[i] the max profit so far.
            ##       How does DP formula work?
            ## Complexity:
            length = len(nums)
            if length == 0:
                return 0
            if length == 1:
                return nums[0]
            if length == 2:
                return max(nums[0], nums[1])

            robs = [None]*length
            robs[0] = nums[0]
            robs[1] = max(nums[0], nums[1])
            robs[2] = max(nums[0]+nums[2], nums[1])

            for i in range(3, length):
                robs[i] = max(robs[i-3]+nums[i-1], robs[i-2]+nums[i])
            return robs[-1]


text:
# AppGW Ingress Add-on

This add-on will deploy an Application Gateway and dependency resources with your new Kubernetes cluster.

Following resources are deployed:

1) Azure Application Gateway v2
2) Public IP Address
3) AppGw Subnet in the shared vnet.
4) User Assigned Identity to initialize the aad-pod-identity service and ingress controller.
5) Set required RBACs.

Supported Add-on `Config` options:

| Option | Required | Default | Description |
|--|--|--|--|
| `appgw-subnet` | true | N/A | CIDR of the Application Gateway subnet. This should not overlap with master/agent subnets. |
| `appgw-sku` | false | `WAF_v2` | SKU of the Application Gateway. (`Standard_v2`/`WAF_v2`) |
| `appgw-private-ip` | false | null | Private IP assigned to the Application Gateway from subnet. |

Once, the infrastructure is deployed, please follow the instructions to deploy the [Application Gateway  Ingress controller](https://github.com/Azure/application-gateway-kubernetes-ingress/blob/master/docs/install-new.md#setting-up-application-gateway-ingress-controller-on-aks)

> Note: Adding the add-on multiple times will not create multiple applicaiton gateways.

```json
{
  "apiVersion": "vlabs",
  "properties": {
    "orchestratorProfile": {
      "kubernetesConfig": {
        "networkPlugin": "azure",
        "addons": [
          {
            "name": "appgw-ingress",
            "enabled": true,
            "config": {
              "appgw-subnet": "<subnet CIDR>",
              "appgw-sku": "WAF_v2"
            }
          }
        ]
      }
    },
    "masterProfile": {
      "count": 1,
      "dnsPrefix": "",
      "vmSize": "Standard_DS2_v2"
    },
    "agentPoolProfiles": [
      {
        "name": "agentpool",
        "count": 3,
        "vmSize": "Standard_DS2_v2",
        "availabilityProfile": "AvailabilitySet"
      }
    ],
    "linuxProfile": {
      "adminUsername": "azureuser",
      "ssh": {
        "publicKeys": [
          {
            "keyData": ""
          }
        ]
      }
    },
    "servicePrincipalProfile": {
      "clientId": "",
      "secret": "",
      "objectId": "<>"
    }
  }
}
```

## Supported Orchestrators

Kubernetes

repository: Azure/aks-engine

gha_language: Go

repo_name: Azure/aks-engine


text:
# SQLiteMini.playground
One-file Swift SQLite library.

Copy and paste [SQLiteDatabase.swift](https://github.com/kustra/SQLiteMini.playground/blob/master/Sources/SQLiteDatabase.swift) into your project and start using it!
Note that for most use cases, you'd want to use a more robust library like [GRDB.swift](https://github.com/groue/GRDB.swift) or [SQLite.swift](https://github.com/stephencelis/SQLite.swift). This library is intended for those who don't want to use an external dependency for their project.

Example:
```swift
let db = try SQLiteDatabase(path: "path/to/database.sqlite")

if try !db.tableExists("test") {
    try db.execute(sql: "CREATE TABLE test (col TEXT NOT NULL, i INT NOT NULL, n INT)")
}

try db.prepare(sql: "INSERT INTO test (col, i, n) VALUES (:x, :i, :n)")
    .bind(":x", "Test content")
    .bind(":i", 42 as Int32)
    .bind(":n", nil as Int32?)
    .execute()

try db.prepare(sql: "SELECT * FROM test WHERE col LIKE :a")
    .bind(":a", "T%")
    .query { row in
        try print("\(row.text("col")), \(row.int("i")), \(String(describing: row.optionalInt("n")))")
    }
```


text:
---
id: 3300
title: 'Troubleshooting federated sharing – part II'
date: 2013-11-02T20:55:06+00:00
author: Johan Veldhuis
layout: post
guid: http://myuclab.nl/?p=3300
permalink: /troubleshooting-federated-sharing-deel-ii/
categories:
  - Exchange
---
In the first part of the blog series about troubleshooting federated sharing we had a look at the server side. We discussed which parameters you should verify during troubleshooting and if they are configured incorrectly how to fix them.

Now we will continue our journey in this second part. In this part we will have a look at the reverse proxy side followed by the client side.

Let’s start with having a look at the reverse proxy.

 This can either be done via a Microsoft product such as TMG or ARR. The first one will be end-of-support shortly so if not having one in place don’t start implementing it but use ARR or a 3rd party solution. When looking at the third party solutions there are a lot of solutions you can use. For example BlueCoat, Kemp Technologies or F5 have products which offer this functionality.

So what can be the problem with the reverse proxy which is used for publishing the Exchange environment? Well there can be many problems among them:

  * Authentication issues
  * Name resolving issues
  * Routing issues

This are just three of the sort of issues you can experience when using a reverse proxy. I am sure there are a lot more sorts. In this blog we will focus on the authentication issues. The reason for this is that these are the issues you will probably encounter during your journey in configuring federated sharing.

The authentication issue is one of those things you will see a lot. Especially when you are using pre-authentication. Using pre-authentication your session will be authenticated before it is send to the CAS/CAS Array which is located behind the firewall.

For federated sharing it is required that all the federated sharing sessions will be passed-through to the CAS without having to authenticate. Authentication in this case will take place on the CAS/CAS Array. So one thing to make sure is that you will create the rules required for federated sharing above the existing rules. As mentioned in the first part the URL’s which are required are as follows:

  * /EWS/Exchange.asmx/WSSecurity
  * /Autodiscover/Autodiscover.svc
  * /Autodiscover/Autodiscover.svc/WSSecurity

If you are using the TMG to publish these URL’s ensure the following options are select:

  * Authentication Delegation: No delegation, but client may authenticate directly
  * Users: all users

Most companies will use Form Based Authentication (FBA) to publish their Exchange Services to the internet. If this is the case you will need to change the listener. This because by default the listener will required all users to authenticate before they can connect which makes sense.

However for the URL’s used for federated sharing the authentication takes on the CAS so we also want to disable this specific option.

To do this get the properties of the listener and select the authentication tab. Open the advanced authentication options by pressing the advanced button and uncheck the option Require all users to authenticate.

Once configured you will need to find out if the rule really works the way you want. For example if configured in the wrong order the traffic will not even hit configured rule. To monitor this piece some logging will need to be enabled on the TMG side. I personally recommend you to create a filter using the following parameters:

  * Filter by: rule
  * Condition: equals
  * Value: name of the publishing rule used to publish these services

Now logging is configured try to do a free/busy from another Exchange environment or from Office 365. If the rule is on the correct place you should see that the traffic hits the rule.

If you do not see any logging the traffic will not hit the rule. In that case verify the already discussed parameters and try again. In some cases it might take a few minutes before the TMG has picked up the new config so if it does not work directly wait a few minutes and try again.

Another issue you might see are authentication issues in the TMG log. This will be either 401.x or 403.x errors in most cases. In this case verify that when you browse to the following pages no form will be displayed:

  * <https://mail.domain.com/EWS/Exchange.asmx/WSSecurity>
  * <https://autodiscover.domain.com/Autodiscover/Autodiscover.svc>
  * <https://autodiscover.domain.com/Autodiscover/Autodiscover.svc/WSSecurity>

If a form is displayed please verify the delegation settings on the rule and the authentication settings on the listener.

OK enough about TMG let’s continue with the client side. By default Outlook has disabled logging for troubleshooting purposes so before starting the troubleshooting you will need to enable it. Microsoft has published a knowledge base article on how to enable the troubleshooting logging which can be found [here](http://support.microsoft.com/kb/831053).

When you have reproduced the issue it is time to look at the logs. Depending on the version of Outlook you the log are named different and are located in different locations. Below an overview of Outlook version, the log location and log file name:

      Version

      Location

      Filename

      Outlook 2007

      %temp%\OLKas

      date-time -fb.log

      Outlook 2010

      %temp%\OLKas

      date-time -AS.log

      Outlook 2013

      %temp%\Outlook logging

      Outlook-########.etl

So if you are on Outlook 2007/2010 your good investigate the logs yourself. If you are using Outlook 2013 you will have to send the etl file to Microsoft support for research.

Below you will find an example of a log file create with Outlook 2010. Let’s analyse it:

First Outlook will determine the URL for the availability service. Outlook will use autodiscover to do determine the availability URL.

_2013/09/25 11:38:40.041: Getting ASURL_

As you can see Outlook already will use the URL from a previous autodiscover request:

_2013/09/25 11:38:40.041: URL returned from cached autodiscover: <https://mail.domain.com/ews/exchange.asmx>_

The URL in cache is the one that is used for requesting the availability service:

_2013/09/25 11:38:40.041: Request to URL: <https://mail.domain.com/ews/exchange.asmx>_

Next step is to send the actual request which is send as an XML to the target CAS. As you can see this XML request will be used to request the free/busy information from a specific user:

_2013/09/25 11:38:40.041: Request action: <http://schemas.microsoft.com/exchange/services/2006/messages/GetUserAvailability>_

Once the type of request has been determined the parameters will be provided in the body. You will see the following parameters to be used in every free/busy request:

  * _ex12t:Timezone:_ the timezone which is being used: in this case 60
  * _ex12t:StandardTime:_ the default value of the time for the request being send, I guess if no specific time is specified it will use this one
  * _ex12t:Time:_ the standard time for which we want to know the availability: in this case 03:00:00
  * _ex12t:DayOrder:_ the standard day (date) you want to know the availability for: in this case 5
  * _ex12t:Month:_ the standard month: in this case 3
  * _ex12t:DayOfWeek:_ the day for which you want to know the availability: in this case Sunday
  * _ex12t:DaylightTime:_ I haven’t figured out this one but it looks like it has something to do with the winter/summer time
  * _ex12t:Address:_ the smtp address of the user for which you want to know the availability: in this case<EMAIL_ADDRESS>  * _ex12Routingtype:_ the transport method which is used for sending the actual request once you hit the send button and your CAS will deliver it to the mailbox of the user determined in the ex12t:Address: in this case smtp
  * _ex12t:AttendeeType:_ the type of attendee this can be either required or optional: in this case required
  * _ex12t:FreeBusyViewOptions:_ contains the meeting specific details
  * _ex12t:Starttime: _the start time of the meeting: in this case 2013-09-09T18:00:00
  * _ex12t:Endtime:_ the end time of the meeting: in this case 2013-10-09T18:00:00
  * _ex12t:MergedFreeBusyIntervalInMinutes:_ the intervals for which you would like to display the availability by default per 30 minutes
  * _ex12t:RequestedView:_ which info we want to see for the user: in this case detailed

[](https://i1.wp.com/myuclab.nl/wp-content/uploads/2013/11/request.jpg)

Now the XML has been generated the actual request can be send:

_2013/09/25 11:38:40.041: Sending request_

Next we will receive the response which will tell us the request has been successfully send or that it failed. In this case the HTTP status code will tell us the request has been send successfully:

_2013/09/25 11:38:44.135: Request sent_

_2013/09/25 11:38:44.135: Response error code: 00000000_

_2013/09/25 11:38:44.135: HTTP status code: 200_

Once the request has been send we will receive an answer from the source CAS which tries to route the request to the remote CAS. It starts with some generic XML which contains the server version information. This is the version number our own CAS. In this case we can see it runs Exchange 2010 SP3.

Next information contains the actual response the source CAS received from the remote CAS. This part will start with FreeBusyResponseArray this part contains the ResponseMessage as you can see there is a security related issue. This issue will prevent Outlook from receiving the free/busy for the other user.

After the message we will see some more detailed information which will show you which request the source CAS tries to send to the remote CAS.

[](https://i1.wp.com/myuclab.nl/wp-content/uploads/2013/11/response.jpg)

In the final part you will see the actual error message and from which CAS it did receive this error. In this case error 5016 id received from CAS02. Outlook will display the 5016 error when hovering over the free/busy info from the specific user.

Here ends the second part of the blog series about troubleshooting federated sharing. In this part we had a look at the requirements for the reverse proxy and some basic troubleshooting and continued with troubleshooting from the client side.

In the third and last part of the article we will discuss some issues I have seen happening when setting up federated sharing.

If you have any comments/questions please let me know.


text:
---
name: cljs.core/sort-by
see also:
  - cljs.core/sort
  - cljs.core/compare
---

## Summary

## Details

Returns a sorted sequence of the items in `coll`, where the sort order is
determined by comparing `(keyfn item)`.

`comp` can be boolean-valued comparison function, or a -/0/+ valued comparator.

`comp` defaults to `compare`.

## Examples

repository: cljs/api

repo_name: cljs/api


text:
# Adding App Routs

---

## Why do we need Routes?

- Logical seperation between views/pages
- Deep linking
- View state managment
- Authorization

---

## Routes vs. State

Naive route management

```js
const { route } = this.state;

<Container>
    {switch(route) {
        case 'home':
            return <Home />
        case 'login':
            return <Login />
        case 'register':
            return <Register />
        default:
            return <Home>
    }}
</Container>
```

---

## Working with React-Router

- Declarative
- Browser Routing support (routes in the URL)
- History support
- Path and matchers

---

## Basic Example

```js
import React from "react";
import {
  BrowserRouter as Router,
  Switch,
  Route,
  Link
} from "react-router-dom";
import { About, Users, Home } from "./routes"

export default function App() {
  return (
    <Router>
      <div>
        <Switch>
          <Route path="/about">
            <About />
          </Route>
          <Route path="/users">
            <Users />
          </Route>
          <Route path="/">
            <Home />
          </Route>
        </Switch>
      </div>
    </Router>
  );
}

```

---

## Components

- `Router` - A HoC that is a context provider
- `Switch` - A route matcher - searches through child `Route` for url match
- `Route` - A url matcher. First match is rendered. More specific are first

---

## Router

- HashRouter - uses hash (`#`) to seperate the the page route

`http://mydomain.com/webapp/#/your/page`

- BrowserRouter - use regular slash (`/`) seperated paths - requires server side support

`http://mydomain.com/webapp/your/page`

---

## Route - rendering

A container component for a specific route that provides information about the route

`path`: the location to match for the route to be rendered
`component`: An optional component to be rendered if the location is matched
`render`: A function to render if the location is matched
`children`: Components to render if the location is matched

* `<Route component>` takes precedence over `<Route render>` so don’t use both in the same `<Route>`

---

## Route with Component

```js
mport React from "react";
import ReactDOM from "react-dom";
import { BrowserRouter as Router, Route } from "react-router-dom";

// All route props (match, location and history) are available to User
function User(props) {
  return <h1>Hello {props.match.params.username}!</h1>;
}

ReactDOM.render(
  <Router>
    <Route path="/user/:username" component={User} />
  </Router>,
  node
);
```

---

## Route with `render` function

```js
import React from "react";
import ReactDOM from "react-dom";
import { BrowserRouter as Router, Route } from "react-router-dom";

// convenient inline rendering
ReactDOM.render(
  <Router>
    <Route path="/home" render={() => <div>Home</div>} />
  </Router>,
  node
);

```
---

## Route with children

```js
import React from "react";
import ReactDOM from "react-dom";
import {
  BrowserRouter as Router,
  Link,
  Route
} from "react-router-dom";

function ListItemLink({ to, ...rest }) {
  return (
    <Route
      path={to}
      children={({ match }) => (
        <li className={match ? "active" : ""}>
          <Link to={to} {...rest} />
        </li>
      )}
    />
  );
}

ReactDOM.render(
  <Router>
    <ul>
      <ListItemLink to="/somewhere" />
      <ListItemLink to="/somewhere-else" />
    </ul>
  </Router>,
  node
);
```

---

## Other `Route` props

- `path`: string | string[]
- `exact`: boolean
- `strict`: boolean
- `location`: object
- `sensitive`: boolean

---

## URL Parameters

Adding `:param-name` to a route can be paresed as a url parameter

for the route `/user/:id`

```js
<Route path="/:id" render={({ match }) => {
    const id = match.params.id;
    return (<div>The id is {id}</div>)
}} />

```

---

## History

- A history is a parameter (object) passed into a component wrapped by a `<Route />`.

- use it to navigate between routes

```js
const { history } = this.props;

//...
history.push('/new-location')
```

---

## withRouter

A HoC that adds route related parameters to a component

repository: assafg/react-basics-slides

repo_name: assafg/react-basics-slides


text:
# r2dii.analysis (development version)

* `target_market_share()` now outputs 0 `technology_share`, for companies with
  0 sectoral production (#306 @Antoine-Lalechere).

* `target_sda()` now filters `scenario` start year to be consistent with `ald`
  start year (#346 @waltjl).

# r2dii.analysis 0.1.10

* `target_market_share()` now sets all negative `smsp` targets to zero (#336).

* `target_market_share()` now only outputs `sector`s that are present in all
  input datasets (#329).

* `target_market_share()` now always adds targets for green technologies
  (defined by `r2dii.data::green_or_brown`), even when not present in input
  `data` (#318 @Antoine-Lalechere).

* `target_market_share()` now correctly groups by `region` when calculating
  `technology_share` (#315 @Antoine-Lalechere).

# r2dii.analysis 0.1.9

* `target_sda()` now only outputs `sector` values that are present in the input
  `co2_intensity_scenario` data (#308).

* `target_sda()` now outputs targets for the range of years in the input
  `co2_intenstiy_scenario` (#307).

# r2dii.analysis 0.1.8

* `target_market_share()` now correctly outputs target `technology share`, in
  line with methodology (@georgeharris2deg #277).

* `target_market_share()` now correctly projects technology share as
  'production / total production' when computing by company,
  unweighted by relative loan size (@KapitanKombajn #288).

* `target_market_share()` no longer outputs columns
  `sector_weighted_production` or `technology_weighted_production`. Those
  columns are internal so they shouldn't face users (#291).

# r2dii.analysis 0.1.6

* `target_market_share()` now correctly outputs `technology_share` with
  multiple loans at different `level` to the same company (@ab-bbva #265).

# r2dii.analysis 0.1.5

* `target_market_share()` now errors if input `data` has an unexpected column
  (@georgeharris2deg #267).

* `target_market_share()` now correctly outputs `technology_share` with
  multiple loans to the same company (@georgeharris2deg #262, @ab-bbva #265).

# r2dii.analysis 0.1.4

* `target_market_share()` now correctly outputs unweighted production by
  company, equal to ald-production for one company with multiple loans of
  different size (#255 @georgeharris2deg).

# r2dii.analysis 0.1.3

* `target_market_share()` now correctly outputs unweighted production when
  multiple levels exist for the same company (#249).

# r2dii.analysis 0.1.2

* `target_market_share()` now outputs `weighted_technology_share` that
  correctly sums to 1 when grouped by `sector`, `metric` and `scenario` (#218).

* `target_market_share()` now correctly outputs unweighted production when
  multiple loans exist for the same company (#239).

* `target_market_share()` now outputs empty named tibble if no matching region
  definitions can be found (#236).

* `target_market_share` now outputs all technologies present in `ald`, even if
  they are not present in `data` (#235).

* `target_sda()` now interpolates input scenario file by year and correctly
  calculates target, regardless of the time-horizon of `ald` (#234).

* Hyperlinks on the "Get Started" tab of the website now points to correct links
  (#222 @apmanning).

* Depend on dplyr >= 0.8.5, explicitly. We commit to this version because the
  newer dplyr 1 is still relatively new, and represents a major change which
  some users initially resist.

* Relax dependency on rlang, as it is mostly driven dynamically by the
  by our recursive dependencies. For example, dplyr 0.8.5 depends on a specific
  version of rlang that is more recent than the version we explicitly
  depended on -- which suggests that being explicit about rlang is unhelpful and
  misleading.

* New internal data `loanbook_stable` and `region_isos_stable` make regression
  tests more stable (#227).

# r2dii.analysis 0.1.1

* Change license to MIT.

* The website's home page now thanks founders.

* `target_market_share()` now works as expected when some value of the column
`scenario` is missing for some value of the column `region`. It no longer
results in output columns `production` and `technology_share` of type "list"
(#203).

* The website now shows the News tab.

# r2dii.analysis 0.1.0

* `target_sda()` now correctly handles differing `country_of_domicile` inputs
  (#171).

* `target_market_share()` now outputs `technology_share` (#184).

* `join_ald_scenario()` now returns visibly with dev-magrittr (#188 @lionel-).

* `target_market_share()` gains `weight_production` parameter (#181).

* `target_market_share()` now correctly use `sector_ald` column from input
  `data` argument (#178).

* `target_sda()` now automatically filters out `ald` rows where the
  `emissions_factor` values are `NA` (#173).

* `join_ald_scenario()` now converts to lower case the values of the columns
  `sector_ald` and `technology` (#172).

* `target_sda()` now aggregates input `ald` by `technology` and `plant_location`
  prior to calculating targets (@QianFeng2020 #160).

* `target_sda()` now errors if input data has any duplicated `id_loan`
  (@QianFeng2020 #164).

* `target_sda()` gains `by_company` parameter (#155).

* `target_market_share()` now outputs the actual aggregated corporate economy.
  Previously, the output would, erroneously, be normalized to the starting
  portfolio value (#158).

* `target_sda()` now correctly calculates SDA targets (#153):
  Targets are now calculated using scenario data that is adjusted to corporate
  economy data.
  The adjusted scenario data is also output by the function along with the usual
  metrics.
  Methodology error fixed, and reflected in the code. Previously, the target
  was, incorrectly, calculated by multiplying the adjusted scenario. Now the
  scenario data is added instead.

* New `summarize_weighted_percent_change()` allows user to calculate a new
  indicator (#141).

* `target_market_share()` no longer errors if the combination of `sector` and
  `scenario_target_value` does not uniquely identify an observation
  (@georgeharris2deg #142).

# r2dii.analysis 0.0.1

* First release on CRAN


text:
# Component Http - PSR-15 implementation

[![Current version](https://img.shields.io/packagist/v/eureka/component-http.svg?logo=composer)](https://packagist.org/packages/eureka/component-http)
[![Supported PHP version](https://img.shields.io/static/v1?logo=php&label=PHP&message=7.4|8.0|8.1&color=777bb4)](https://packagist.org/packages/eureka/component-http)
![CI](https://github.com/eureka-framework/component-http/workflows/CI/badge.svg)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=eureka-framework_component-http&metric=alert_status)](https://sonarcloud.io/dashboard?id=eureka-framework_component-http)
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=eureka-framework_component-http&metric=coverage)](https://sonarcloud.io/dashboard?id=eureka-framework_component-http)

## Usage
 This component is used in [`eureka/kernel-http`](https://github.com/eureka-framework/kernel-http/) component.
 This is a simple implementation of the [PSR-15](https://www.php-fig.org/psr/psr-15/) (Request Handler).

## Installation

You can install the kernel (for testing) with the following command:
```bash
make install
```

## Update

You can update the kernel (for testing) with the following command:
```bash
make update
```

## Testing

You can test the kernel with the following commands:
```bash
make phpcs
make tests
make testdox
```

repository: eureka-framework/component-http

repo_name: eureka-framework/component-http


text:
## Migrating from 3.x

* No `component` support for scene containers (that contains children `Scene`) - you have to use custom navigators (`navigator` prop) and possibly `contentComponent` (scenes cannot have both 'component' and 'children')
* No `duration`/`panHandlers` support - you have to implement custom navigator now instead and pass it as ‘navigator’ prop
https://reactnavigation.org/docs/navigators/custom. You could still pass `panHandlers={null}` to disable gestures or `gesturedEnabled={false}`
* No support for partial hiding of tab bar for some tabs because of react navigation bug (react navigation issue):
https://github.com/react-community/react-navigation/issues/1584
* No possibility to skip animation during reset/replace (react navigation issue):
https://github.com/react-community/react-navigation/issues/1493
* `Switch` is removed - you may use onEnter/onExit handlers for more flexible logic.
* Drawer syntax was changed (boolean `drawer` attribute + `contentComponent` for side menu component + `Actions.drawerOpen`/`Actions.drawerClose` to open/close drawer)
* Modal is 'lightbox' attribute for parent Scene now (used for popups, like Error)
* If you have modal animation `modal` for Scene is not working, define separate Scene container with `modal` and put all your modals there, check Example project for details
* No `direction` attribute is supported for custom transitions. For vertical transition add `modal` to parent `Scene`.
* tabBarSelectedItemStyle is not supported. Instead please use React Navigation TabBar params for tabs Scene: `activeTintColor`, `inactiveTintColor`, etc (https://reactnavigation.org/docs/navigators/tab)
* To make multiple pops you could use `Actions.popTo(sceneName)` where sceneName is name of scene you want to see (it should be not container, i.e. scene with `component`)
* Possible other stuff...

Check Example project for this repository

repository: andrew/react-native-router-flux

repo_name: andrew/react-native-router-flux


text:
# Thresholding

## Simple thresholding

Simple thresholding is that set a threshold value which the pixels in an
image greater than will be assigned to one value (maybe black), those less than
will be assigned to another value (maybe white). The function is cv2.threshold.
The image should be grayscale image
```
ret, thresh1 = cv.threshold(img, 127, 255, cv.THRESH_BINARY)
ret, thresh2 = cv.threshold(img, 127, 255, cv.THRESH_BINARY_INV)
ret, thresh3 = cv.threshold(img, 127, 255, cv.THRESH_TRUNC)
ret, thresh4 = cv.threshold(img, 127, 255, cv.THRESH_TOZERO)
ret, thresh5 = cv.threshold(img, 127, 255, cv.THRESH_TOZERO_INV)
```

## Adaptive thresholding

What different from simple thresholding is that adaptive thresholding can set
threshold value in different region of an image, while simple threshold set
global threshold value.

```
th2 = cv.adaptiveThreshold(img, 255, cv.ADAPTIVE_THRESH_MEAN_C, cv.THRESH_BINARY, 11, 2)
th3 = cv.adaptiveThreshold(img, 255, cv.ADAPTIVE_THRESH_GAUSSIAN_C, cv.THRESH_BINARY, 11, 2)
```

## Otsu’s Binarization

It automatically calculates a threshold value from image histogram for a bimodal image.
(For images which are not bimodal, binarization won’t be accurate.)


text:
# Least upper bounds in posets

```agda
module order-theory.least-upper-bounds-posets where
```

<details><summary>Imports</summary>

```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.identity-types
open import foundation.logical-equivalences
open import foundation.propositions
open import foundation.subtypes
open import foundation.universe-levels

open import order-theory.posets
open import order-theory.upper-bounds-posets
```

</details>

## Idea

A **least upper bound** of `a` and `b` in a poset `P` is an element `x` such
that the logical equivalence

```text
  ((a ≤ y) ∧ (b ≤ y)) ⇔ (x ≤ y)
```

holds for every element `y` in `P`. Similarly, a **least upper bound** of a
family `a : I → P` of elements of `P` is an element `x` of `P` such that the
logical equivalence

```text
  (∀ᵢ (aᵢ ≤ y)) ⇔ (x ≤ y)
```

holds for every element `y` in `P`.

## Definitions

### The predicate of being a least binary upper bound of two elements in a poset

```agda
module _
  {l1 l2 : Level} (P : Poset l1 l2) (a b : type-Poset P)
  where

  is-least-binary-upper-bound-Poset-Prop : type-Poset P → Prop (l1 ⊔ l2)
  is-least-binary-upper-bound-Poset-Prop x =
    Π-Prop
      ( type-Poset P)
      ( λ y →
        iff-Prop
          ( is-binary-upper-bound-Poset-Prop P a b y)
          ( leq-Poset-Prop P x y))

  is-least-binary-upper-bound-Poset : type-Poset P → UU (l1 ⊔ l2)
  is-least-binary-upper-bound-Poset x =
    type-Prop (is-least-binary-upper-bound-Poset-Prop x)

  is-prop-is-least-binary-upper-bound-Poset :
    (x : type-Poset P) →
    is-prop (is-least-binary-upper-bound-Poset x)
  is-prop-is-least-binary-upper-bound-Poset x =
    is-prop-type-Prop (is-least-binary-upper-bound-Poset-Prop x)

module _
  {l1 l2 : Level} (P : Poset l1 l2) {a b : type-Poset P}
  where

  forward-implication-is-least-binary-upper-bound-Poset :
    {x y : type-Poset P} →
    is-least-binary-upper-bound-Poset P a b x →
    is-binary-upper-bound-Poset P a b y → leq-Poset P x y
  forward-implication-is-least-binary-upper-bound-Poset H =
    forward-implication (H _)

  backward-implication-is-least-binary-upper-bound-Poset :
    {x y : type-Poset P} →
    is-least-binary-upper-bound-Poset P a b x →
    leq-Poset P x y → is-binary-upper-bound-Poset P a b y
  backward-implication-is-least-binary-upper-bound-Poset {x} {y} H =
    backward-implication (H y)

  prove-is-least-binary-upper-bound-Poset :
    {x : type-Poset P} →
    is-binary-upper-bound-Poset P a b x →
    ( (y : type-Poset P) →
      is-binary-upper-bound-Poset P a b y → leq-Poset P x y) →
    is-least-binary-upper-bound-Poset P a b x
  pr1 (prove-is-least-binary-upper-bound-Poset H K y) L = K y L
  pr2 (prove-is-least-binary-upper-bound-Poset H K y) L =
    is-binary-upper-bound-leq-Poset P H L

  is-binary-upper-bound-is-least-binary-upper-bound-Poset :
    {x : type-Poset P} →
    is-least-binary-upper-bound-Poset P a b x →
    is-binary-upper-bound-Poset P a b x
  is-binary-upper-bound-is-least-binary-upper-bound-Poset H =
    backward-implication-is-least-binary-upper-bound-Poset H
      ( refl-leq-Poset P _)

  leq-left-is-least-binary-upper-bound-Poset :
    {x : type-Poset P} →
    is-least-binary-upper-bound-Poset P a b x →
    leq-Poset P a x
  leq-left-is-least-binary-upper-bound-Poset H =
    leq-left-is-binary-upper-bound-Poset P
      ( is-binary-upper-bound-is-least-binary-upper-bound-Poset H)

  leq-right-is-least-binary-upper-bound-Poset :
    {x : type-Poset P} →
    is-least-binary-upper-bound-Poset P a b x →
    leq-Poset P b x
  leq-right-is-least-binary-upper-bound-Poset H =
    leq-right-is-binary-upper-bound-Poset P
      ( is-binary-upper-bound-is-least-binary-upper-bound-Poset H)
```

### The proposition that two elements have a least upper bound

```agda
module _
  {l1 l2 : Level} (P : Poset l1 l2) (a b : type-Poset P)
  where

  has-least-binary-upper-bound-Poset : UU (l1 ⊔ l2)
  has-least-binary-upper-bound-Poset =
    Σ (type-Poset P) (is-least-binary-upper-bound-Poset P a b)

  all-elements-equal-has-least-binary-upper-bound-Poset :
    all-elements-equal has-least-binary-upper-bound-Poset
  all-elements-equal-has-least-binary-upper-bound-Poset
    (pair u H) (pair v K) =
    eq-type-subtype
      ( is-least-binary-upper-bound-Poset-Prop P a b)
      ( antisymmetric-leq-Poset P u v
        ( forward-implication-is-least-binary-upper-bound-Poset P H
          ( is-binary-upper-bound-is-least-binary-upper-bound-Poset P K))
        ( forward-implication-is-least-binary-upper-bound-Poset P K
          ( is-binary-upper-bound-is-least-binary-upper-bound-Poset P H)))

  is-prop-has-least-binary-upper-bound-Poset :
    is-prop has-least-binary-upper-bound-Poset
  is-prop-has-least-binary-upper-bound-Poset =
    is-prop-all-elements-equal
      all-elements-equal-has-least-binary-upper-bound-Poset

  has-least-binary-upper-bound-Poset-Prop : Prop (l1 ⊔ l2)
  pr1 has-least-binary-upper-bound-Poset-Prop =
    has-least-binary-upper-bound-Poset
  pr2 has-least-binary-upper-bound-Poset-Prop =
    is-prop-has-least-binary-upper-bound-Poset

module _
  {l1 l2 : Level} (P : Poset l1 l2) {a b : type-Poset P}
  where

  eq-is-least-binary-upper-bound-Poset :
    {x y : type-Poset P} →
    is-least-binary-upper-bound-Poset P a b x →
    is-least-binary-upper-bound-Poset P a b y →
    x ＝ y
  eq-is-least-binary-upper-bound-Poset {x} {y} H K =
    ap
      ( pr1)
      ( all-elements-equal-has-least-binary-upper-bound-Poset P a b
        ( x , H)
        ( y , K))
```

### Least upper bounds of families of elements

```agda
module _
  {l1 l2 l3 : Level} (P : Poset l1 l2) {I : UU l3} (a : I → type-Poset P)
  where

  is-least-upper-bound-family-of-elements-Poset-Prop :
    type-Poset P → Prop (l1 ⊔ l2 ⊔ l3)
  is-least-upper-bound-family-of-elements-Poset-Prop x =
    Π-Prop
      ( type-Poset P)
      ( λ y →
        iff-Prop
          ( Π-Prop I (λ i → leq-Poset-Prop P (a i) y))
          ( leq-Poset-Prop P x y))

  is-least-upper-bound-family-of-elements-Poset :
    type-Poset P → UU (l1 ⊔ l2 ⊔ l3)
  is-least-upper-bound-family-of-elements-Poset z =
    type-Prop (is-least-upper-bound-family-of-elements-Poset-Prop z)

  is-prop-is-least-upper-bound-family-of-elements-Poset :
    (z : type-Poset P) →
    is-prop (is-least-upper-bound-family-of-elements-Poset z)
  is-prop-is-least-upper-bound-family-of-elements-Poset z =
    is-prop-type-Prop (is-least-upper-bound-family-of-elements-Poset-Prop z)

module _
  {l1 l2 l3 : Level} (P : Poset l1 l2) {I : UU l3} {a : I → type-Poset P}
  where

  forward-implication-is-least-upper-bound-family-of-elements-Poset :
    {x y : type-Poset P} →
    is-least-upper-bound-family-of-elements-Poset P a x →
    is-upper-bound-family-of-elements-Poset P a y → leq-Poset P x y
  forward-implication-is-least-upper-bound-family-of-elements-Poset H =
    forward-implication (H _)

  backward-implication-is-least-upper-bound-family-of-elements-Poset :
    {x y : type-Poset P} →
    is-least-upper-bound-family-of-elements-Poset P a x →
    leq-Poset P x y → is-upper-bound-family-of-elements-Poset P a y
  backward-implication-is-least-upper-bound-family-of-elements-Poset H =
    backward-implication (H _)

  is-upper-bound-is-least-upper-bound-family-of-elements-Poset :
    {x : type-Poset P} →
    is-least-upper-bound-family-of-elements-Poset P a x →
    is-upper-bound-family-of-elements-Poset P a x
  is-upper-bound-is-least-upper-bound-family-of-elements-Poset H =
    backward-implication-is-least-upper-bound-family-of-elements-Poset H
      ( refl-leq-Poset P _)
```

### The proposition that a family of elements has a least upper bound

```agda
module _
  {l1 l2 l3 : Level} (P : Poset l1 l2) {I : UU l3} (a : I → type-Poset P)
  where

  has-least-upper-bound-family-of-elements-Poset : UU (l1 ⊔ l2 ⊔ l3)
  has-least-upper-bound-family-of-elements-Poset =
    Σ (type-Poset P) (is-least-upper-bound-family-of-elements-Poset P a)

  all-elements-equal-has-least-upper-bound-family-of-elements-Poset :
    all-elements-equal has-least-upper-bound-family-of-elements-Poset
  all-elements-equal-has-least-upper-bound-family-of-elements-Poset
    ( x , H) (y , K) =
    eq-type-subtype
      ( is-least-upper-bound-family-of-elements-Poset-Prop P a)
      ( antisymmetric-leq-Poset P x y
        ( forward-implication-is-least-upper-bound-family-of-elements-Poset
          ( P)
          ( H)
          ( is-upper-bound-is-least-upper-bound-family-of-elements-Poset
            ( P)
            ( K)))
        ( forward-implication-is-least-upper-bound-family-of-elements-Poset
          ( P)
          ( K)
          ( is-upper-bound-is-least-upper-bound-family-of-elements-Poset
            ( P)
            ( H))))

  is-prop-has-least-upper-bound-family-of-elements-Poset :
    is-prop has-least-upper-bound-family-of-elements-Poset
  is-prop-has-least-upper-bound-family-of-elements-Poset =
    is-prop-all-elements-equal
      all-elements-equal-has-least-upper-bound-family-of-elements-Poset

  has-least-upper-bound-family-of-elements-Poset-Prop : Prop (l1 ⊔ l2 ⊔ l3)
  pr1 has-least-upper-bound-family-of-elements-Poset-Prop =
    has-least-upper-bound-family-of-elements-Poset
  pr2 has-least-upper-bound-family-of-elements-Poset-Prop =
    is-prop-has-least-upper-bound-family-of-elements-Poset

module _
  {l1 l2 l3 : Level} (P : Poset l1 l2) {I : UU l3} {a : I → type-Poset P}
  where

  eq-is-least-upper-bound-family-of-elements-Poset :
    {x y : type-Poset P} →
    is-least-upper-bound-family-of-elements-Poset P a x →
    is-least-upper-bound-family-of-elements-Poset P a y →
    x ＝ y
  eq-is-least-upper-bound-family-of-elements-Poset H K =
    ap
      ( pr1)
      ( all-elements-equal-has-least-upper-bound-family-of-elements-Poset
        ( P)
        ( a)
        ( _ , H)
        ( _ , K))
```

repository: UniMath/agda-unimath

gha_language: Agda

repo_name: UniMath/agda-unimath


text:
+++
title = "Overview"
weight = 2
template = "doc.html"
+++

Urbit's userspace is managed by Arvo's Gall vane.

## [Gall Guide](/docs/userspace/gall-guide/intro)

Learn how to develop Gall agents.

## [Graph Store](/docs/userspace/graph-store)

Resources on Graph Store - the graph database utilized for many Landscape
applications and oriented for social media in general.

## [Threads](/docs/userspace/threads/)

Resources on threads - monadic functions useful for complex IO.

## [Distribution](/docs/userspace/dist/dist)

Learn how to distribute apps on Urbit.


text:
[![CI/CD Docker Build & Deploy](https://github.com/JaccoVeldscholten/Portfolio-React/actions/workflows/build-push.yml/badge.svg)](https://github.com/JaccoVeldscholten/Portfolio-React/actions/workflows/build-push.yml)
[![Docker Pulls](https://img.shields.io/docker/pulls/jjveldscholten/portfolio.svg)](https://hub.docker.com/r/jjveldscholten/portfolio)
![GitHub last commit](https://img.shields.io/github/last-commit/JaccoVeldscholten/Portfolio-React?color=red&style=plastic)
# Portfolio Jacco.Tech Written in React

This repository contains the portfolio for the https://jacco.tech website. The website is written in React and is based on Dorota's [template](https://github.com/Dorota1997/react-frontend-dev-portfolio).

An adjustment to the template is that it has been translated from React to Next.JS for SEO functionality.

## Example Site
![dash](images/dash.png)

## Notes
- The current DockerFile is based on ARM Version of Node because of my Raspberry Pi K3S Cluster.
To change this open the Dockerfile and change the following:

```bash
FROM arm32v7/node -> FROM node
```
## Building & Running

Deploy the [docker container](https://hub.docker.com/r/jjveldscholten/portfolio) and proxy the port 3000

**Build Container**
```bash
docker build -t jjveldscholten/portfolio .
```
**Run Container**
```bash
docker run -it -p 3000:3000 --name portfolio jjveldscholten/portfolio
```

## Deployment
For deploying under K3S/K8S use Kubectl and apply the following files
- Service.yaml
- Deploy.yaml

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

Please make sure to update tests as appropriate.

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

repository: JaccoVeldscholten/Portfolio-React

repo_name: JaccoVeldscholten/Portfolio-React


text:
Spark API
=====================
![CI](https://github.com/sparkapi/spark_api/workflows/CI/badge.svg) ![Code Climate](https://codeclimate.com/badge.png)

A Ruby wrapper for the Spark REST API. Loosely based on ActiveResource to provide models to interact with remote services.

Documentation
-------------

For further client documentation, please consult our [wiki](https://github.com/sparkapi/spark_api/wiki).

For full information on the Spark API, see [http://sparkplatform.com/docs/overview/api](http://sparkplatform.com/docs/overview/api). If you would instead like information on the RESO Web API, see [http://sparkplatform.com/docs/reso/overview](http://sparkplatform.com/docs/reso/overview)

Installation
---------
    gem install spark_api

Authentication Types
--------------
Authentication is handled transparently by the request framework in the gem, so you should never need to manually make an authentication request.  More than one mode of authentication is supported, so the client needs to be configured accordingly.

#### [Access Token Authentication](https://github.com/sparkapi/spark_api/wiki/Spark-Authentication) (Preferred)
Also known as Bearer Token Authentication. If you've been provided a single non-expiring access (bearer) token for the purpose of accessing data on behalf of one or more MLS users, this method of authentication should be used. See "script/access_token_example.rb" for an example.

#### [OpenId/OAuth2 Combined Flow](https://github.com/sparkapi/spark_api/wiki/Hybrid-Authentication)
Authorization mode that separates application and user authentication. This mode requires the end user to be redirected to Spark Platform's openid endpoint in a web browser window. See "script/combined_flow_example.rb" for an example.

Read more about Spark Platform's combined flow here.

#### [OAuth2 Authorization](https://github.com/sparkapi/spark_api/wiki/OAuth2-Only-Authentication)
Authorization mode that separates application and user authentication. This mode requires the end user to be redirected to Spark Platform's auth endpoint in a web browser window. See "script/oauth2_example.rb" for an example.

Read more about Spark Platform's OAuth 2 flow here.

#### [Spark API Authentication](https://github.com/sparkapi/spark_api/wiki/Spark-Authentication) (Deprecated)
Usually supplied for a single user, this authentication mode was our old standard, however, is now deprecated in favor of bearer token authentication. See "script/spark_auth_example.rb" for an example.

Usage Examples
------------------------
#### Accessing the Spark API (Default)
```ruby
require 'spark_api'
SparkApi.configure do |config|
  config.endpoint   = 'https://sparkapi.com'
  config.authentication_mode = SparkApi::Authentication::OAuth2
end
  #Non-expiring bearer token auth. See below if you are using a different authentication method.
SparkApi.client.session = SparkApi::Authentication::OAuthSession.new({ :access_token => "your_bearer_token_here" })
puts SparkApi.client.get '/system'
```

#### Accessing the RESO Web API
```ruby
require "spark_api"

# set up session and set the client to hit the RESO API endpoints.
SparkApi.configure do |config|
    config.authentication_mode = SparkApi::Authentication::OAuth2
    config.middleware = :reso_api
end
  #Non-expiring bearer token auth. See below if you are using a different authentication method.
SparkApi.client.session = SparkApi::Authentication::OAuthSession.new({ :access_token => "your_access_token_here" })

puts SparkApi.client.get("/Property", {:$top => 10 })
```

The examples above utilize access token authentication. For examples using different authentication methods review the wiki and /script folder within this project.

#### Interactive Console
Included in the gem is an interactive spark_api console to interact with the api in a manner similar to the rails console. Here are a few examples using various auth methods:

Access Token Auth:

    > spark_api --oauth2
    SparkApi:001:0> SparkApi.client.session = SparkApi::Authentication::OAuthSession.new({ :access_token => "your_access_token_here" })
    SparkApi:002:0> SparkApi.client.get '/my/account'

Standard OAuth2 access is a bit more complicated as it requires a step for logging in through the browser to gain access to the access code for a client_id.

    > bundle exec spark_api --oauth2 --client_id my_oauth2_client_id --client_secret my_oauth2_client_secret
    Loading spark_api gem...
    SparkApi:001:0> Account.my.Name
    Missing OAuth2 session, redirecting...
    Please visit https://sparkplatform.com/oauth2?client_id=my_oauth2_client_id&response_type=code&redirect_uri=https%3A%2F%2Fsparkplatform.com%2Foauth2%2Fcallback, login as a user, and paste the authorization code here:
    Authorization code?
    9zsrc7jk7m4x7r4kers8n6sp5
    "Demo User"
    SparkApi:002:0> Account.my.UserType
    "Member"

[Spark Auth (deprecated)](http://sparkplatform.com/docs/authentication/spark_api_authentication):

    > spark_api --api_key MY_SPARK_API_KEY --api_secret MY_SPARK_API_SECRET
    SparkApi> SparkApi.client.get '/my/account'

You can also provide other options from the command line, see "spark_api -h" for more information.

#### HTTP Interface
The base client provides a bare bones HTTP interface for working with the RESTful Spark API. This is basically a stylized curl interface that handles authentication, error handling, and processes JSON results as Ruby Hashes.

```ruby
SparkApi.client.get     "/listings", :_expand => "CustomFields", :_filter => "MlsStatus Eq 'Active'", :_limit => 1
SparkApi.client.post    "/listings/#{listing_id}/photos", photo_body_hash
SparkApi.client.put     "/listings/#{listing_id}/photos/#{photo_id}", updated_photo_name_hash
SparkApi.client.delete  "/listings/#{listing_id}/photos/#{photo_id}"
```

#### [API Models](https://github.com/sparkapi/spark_api/wiki/API-Models)
The client also provides ActiveModelesque interface for working with the api responses. Notably, the models use finder methods for searching, and similar instanciation and persistence also on supported services.

```ruby
# Tip: mixin the models so you can use them without namespaces
include SparkApi::Models
listings = Listing.find(:all, :_filter => "ListPrice Gt 150000.0 And ListPrice Lt 200000.0", :_orderby => "-ListPrice")
puts "Top list price: $%.2f" % listings.first.ListPrice

# Top list price: $199999.99
puts Account.find(:first, :_filter => "UserType Eq 'Member' And Name Eq 'John*'").Name
# John Doe
```

JSON Parsing
--------------
By default, this gem uses the pure ruby json gem for parsing API responses for cross platform compatibility. Projects that include the yajl-ruby gem will see noticeable speed improvements when installed.


text:
# _Template_

#### By _Ewa Manek_

## Description

_A template java app with support for gradle, postgresql, spark and junit testing_

## Setup/Installation Requirements

* _Copy the repository from GitHub_
* _Open in code editor of your choice_
* _Make sure you have gradle and postgresql installed!_
* _gradle will download and install junit and spark_
* _the sql2o library will be used to interact with a postgresql database_

## Licensing

* MIT

Copyright (c) 2016 **_Ewa Manek_**

repository: CalebPaul/blog-java

repo_name: CalebPaul/blog-java


text:
# RequestBodyNotAllowed

## Category

Data Plane Warning

## Applies to

Data Plane OpenAPI specs

## Output Message

A get or delete operation must not accept a body parameter.

## Description

A get or delete operation must not accept a body parameter.

## CreatedAt

June 18, 2022

## LastModifiedAt

June 18, 2022

## How to fix the violation

Remove the request body from the operation or change the operation to use a post method.

repository: Azure/azure-openapi-validator

repo_name: Azure/azure-openapi-validator


text:
---
title: "TinyLink"
summary: "A Holistic System for Rapid Development of IoT Applications"
authors: [admin]
tags: ["TinyLink","IoT", "Rapid Development"]
categories: []
date: 2017-04-26T09:34:23+08:00

# Optional external URL for project (replaces project detail page).
external_link: ""

image_prview : "linklab1.png"
# Featured image
# To use, add an image named `featured.jpg/png` to your page's folder.
# Focal points: Smart, Center, TopLeft, Top, TopRight, Left, Right, BottomLeft, Bottom, BottomRight.
image:
  caption: "linklab1"
  focal_point: "Smart"
  preview_only: false

# Custom links (optional).
#   Uncomment and edit lines below to show custom links.
# links:
# - name: Follow
#   url: https://twitter.com
#   icon_pack: fab
#   icon: twitter

url_code: ""
url_pdf: ""
url_slides: ""
url_video: ""

# Slides (optional).
#   Associate this project with Markdown slides.
#   Simply enter your slide deck's filename without extension.
#   E.g. `slides = "example-slides"` references `content/slides/example-slides.md`.
#   Otherwise, set `slides = ""`.
slides: ""
---
Rapid development is essential for IoT (Internet of Things) application developers to obtain first-mover advantages and reduce the development cost.

We present TinyLink ([Home Page](http://tinylink.cn/TinyLink/view/en/index.html)), a holistic system for rapid development of IoT applications.
The key idea of TinyLink is to use a top-down approach for designing both the hardware and the software of IoT applications.
Developers write the application code in a C-like language to specify the key logic of their applications, without dealing with the details of the specific hardware components.
Taking the application code as input, TinyLink automatically generates the hardware configuration as well as the binary program executable on the target hardware platform.
TinyLink provides unified APIs for applications to interact with the underlying hardware components.

We implement TinyLink and evaluate its performance using realworld IoT applications.
Results show that: (1) TinyLink achieves rapid development of IoT applications, reducing 52.58% of lines of code in average compared with traditional approaches; (2) TinyLink searches a much larger design space and thus can generate a superior solution for the hardware configuration, compared with the state-of-the-art approach; (3) TinyLink incurs acceptable overhead in terms of execution time and program memory.

repository: liborui/academic-kickstart

repo_name: liborui/academic-kickstart


text:
You start in the northwest cell of an N by N grid of unit cells, and you must reach the southeast cell. You have only two types of moves available: a unit move to the east, and a unit move to the south. You can move into any cell, but you may not make a move that would cause you to leave the grid.

You are excited to be the first in the world to solve the maze, but then you see footprints. Your rival, Labyrinth Lydia, has already solved the maze before you, using the same rules described above!

As an original thinker, you do not want to reuse any of Lydia's moves. Specifically, if her path includes a unit move from some cell A to some adjacent cell B, your path cannot also include a move from A to B. (However, in that case, it is OK for your path to visit A or visit B, as long as you do not go from A to B.) Please find such a path.

In the following picture, Lydia's path is indicated in blue, and one possible valid path for you is indicated in orange:

### Input
The first line of the input gives the number of test cases, T. T test cases follow; each case consists of two lines. The first line contains one integer N, giving the dimensions of the maze, as described above. The second line contains a string P of 2N - 2 characters, each of which is either uppercase E (for east) or uppercase S (for south), representing Lydia's valid path through the maze.

### Output
For each test case, output one line containing Case #x: y, where x is the test case number (starting from 1) and y is a string of 2N - 2 characters each of which is either uppercase E (for east) or uppercase S (for south), representing your valid path through the maze that does not conflict with Lydia's path, as described above. It is guaranteed that at least one answer exists.

### Limits
1 ≤ T ≤ 100.
**Time limit**: 15 seconds per test set.
Memory limit: 1GB.
P contains exactly N - 1 E characters and exactly N - 1 S characters.

**Test set 1 (Visible)**

2 ≤ N ≤ 10.

**Test set 2 (Visible)**

2 ≤ N ≤ 1000.

**Test set 3 (Hidden)**

For at most 10 cases, 2 ≤ N ≤ 50000.
For all other cases, 2 ≤ N ≤ 10000.

## Sample
**Input**
```
    2
    2
    SE
    5
    EESSSESE
```

**Output**
```
    Case #1: ES
    Case #2: SEEESSES
```

url: https://raw.githubusercontent.com/tanaytoshniwal/Data-Structures-Algorithms/6c3b0645bce2f0900d13b4ca50c25ecb0cd532ae/Competitions-Challenges/Google CodeJam/ You Can Go Your Own Way/README.md


text:
# Public Oil & Gas Data

### FracFocus
FracFocus.org is a site for voluntary (except in some states) disclosure of chemicals, additives, and volumes used in hydraulic fracturing. Data quality and coverage is hit-and-miss, but it's one of the few public sources for detailed frac-design data.
http://fracfocus.org/

An environmental group carried out some heavy data munging to get the FracFocus set (up to May 2013) into a more usable form:
http://frack.skytruth.org/fracking-chemical-database

### UT Lands
The University of Texas system holds land and mineral rights to large areas in West Texas. This site allows access to production data, maps, and digitized well logs for wells on these lands.
http://www.utlands.utsystem.edu/

### State Regulatory Agencies
Many state regulatory agencies in the U.S. maintain online databases and query systems for oil and gas well data. These can be tedious to access by hand, but offer a rich source of potentially-scrapable data.
* Alaska Oil and Gas Conservation Commission (**includes log data**) (http://doa.alaska.gov/ogc/)
* California Division of Oil, Gas, and Geothermal Resources (http://www.conservation.ca.gov/dog/Pages/Index.aspx)
* Colorado Oil and Gas Conservation Commission (http://cogcc.state.co.us/)
* Oklahoma Corporation Commission (http://www.occeweb.com/og/oghome.htm)
* Texas Railroad Commission (http://www.rrc.state.tx.us/)
* Wyoming Oil & Gas Conservation Commission (http://wogcc.state.wy.us/)

# Public Mapping & GIS Data
### USGS National Map Viewer
Download various publicly-available topo, etc. maps.
http://viewer.nationalmap.gov/viewer/

license: Unlicense

repository: derrickturk/public-oil-gas-data

repo_name: derrickturk/public-oil-gas-data


text:
---
layout: post
title: Making a domain non-persistent
categories: [Programming]
tags: [Groovy, GORM, Grails]
comments: true
---

In grails app, there might come scenarios where one need to create a non-persistent domain rather than creating a command obejct or POJO / POGO.

GORM comes with a handy static property mapWith which has default value GORM (which associates any domain with gorm persistence layer).
To make a domain non persistent set mapWith=”none”. For example, see Ticket domain below

    public class Ticket {
		String id
		List<Long> productInstanceId
		static hasMany = [productInstanceId:Long]
		static mapWith = "none"
	}

Advantages:-

1. Still behaves like a GORM Domain in most of the cases like Ticket domain above is still accessible by GrailsDomainClass
2. When using multiple database , still respects the convention over configuration policy.
3. Supports scaffolding while same can’t be done for command objects.

Also, at some point of time to check on a particular domain that what type of mapping it has, fetch the static property with domain class. For the domain above, it would be

>Ticket.mapWith

or

>Ticket.class.mapWith

If doing a dynamic check then can find it with the help of DefaultGrailsDomainClass.

    GrailsDomainClass domainClass = new DefaultGrailsDomainClass(Ticket.class)
    domainClass.mappingStrategy