text:
# ScriptUp
Latest tested working version: AHK_L v<IP_ADDRESS>, DLL: <IP_ADDRESS>-H001

[AutoHotkey Forum Thread](https://autohotkey.com/boards/viewtopic.php?f=6&t=36656)

Are you tired of having to see tons of AHK scripts running in the processes list? I was. So, I made this: ScriptUp!

![ScriptUp](https://i.imgur.com/8xRso8M.png)

Easily add as many AHK scripts as you'd like, from any folder on your PC, and ScriptUp will house them all under its own process name. You can even compile it to have it run under a readable, separated process name!

# Features

  - When adding a script, you can choose between using the standard, full-featured DLL, and the mini version.
  - You can reload each script individually or all at once.
  - Drag and drop files to add multiple scripts at once.
  - When it starts up, all scripts in the list immediately run.
  - When a file is added, it immediately runs.
  - When a file is removed, it immediately stops the script.
  - As a setting, it can start up at user login.
  - Scripts may be paused and suspended.
  - Each script state is listed and actively updated.

# Limitations and other notes

  - Scripts must be compliant with AutoHotkey_H (usually no or very few issues if it was written for AHK v1.1).
  - If you have "Start on User Login" active and move ScriptUp, it will automatically fix the registry entry (restart ScriptUp from the new path to do so).
  - When running as a compiled script, you must have a shortcut (.lnk) to "Lib" in the same folder as ScriptUp to allow access to the [Standard Library](https://autohotkey.com/docs/Functions.htm#lib).
  - If using an onExit sub/function in one of the added scripts, it must not exceed 30s of process time. If something requires more than that amount of time, [set the value here](ScriptUp.ahk#L70).
  - Do NOT use any variation of #If except for #If. #IfWinActive, #IfWinExist, etc., will make the thread crash on exit. This is due to deprication in _H.
  - SetWorkingDir will be overridden. They will take on the working directory of the worker script, which is in the library. Full paths will need to be used in scripts.
  - With the release of v1, paths to scripts/DLLs may be relative to workerH. You can modify the path while adding a new script or change it in Lib\config.ini.

# Dependencies (included)
  - [AutoHotkey_H v1](https://hotkeyit.github.io/v2/) - The DLL's are required for running the worker as well as the scripts. It will auto-set them initially to the included DLLs, but you can change them from the options tab.
  - [threadMan](https://github.com/Masonjar13/AHK-Library/blob/master/Lib/threadMan.ahk)
    - [_MemoryLibrary](https://github.com/Masonjar13/AHK-Library/blob/master/Required-Libraries/_MemoryLibrary.ahk) [by Hotkeyit](https://autohotkey.com/board/topic/77302-class-ahk-lv2-memorylibrary/)
      - [_Struct](https://github.com/Masonjar13/AHK-Library/blob/master/Required-Libraries/_Struct.ahk) [by Hotkeyit](https://autohotkey.com/board/topic/55150-class-structfunc-sizeof-updated-010412-ahkv2/)

# Contribution
If you'd like to contribute, fork, or make any personal edits, feel free to add your own name and link to the [About section](Lib/guiMake.ahk#L32).

My only request is to keep my name and link in the About section. Other than that, have fun!

# License
MIT


text:
---
title: "REST"
description: "Getting started with REST API calls"
date: "2011-06-20"
tags:
    - "article"
    - "sldn"
    - "resultlimit"
    - "objectmask"
---

SoftLayer provides a RESTful API in addition to RPC-style API services. Use the REST API in cases where your programming language may not have good SOAP or XML-RPC support but can perform simple HTTP protocol actions and can interpret XML or JSON data.

## REST URLs
REST API URLs are structured to easily traverse SoftLayer's object hierarchy. A basic REST request is structured as follows:

```
curl -u [username]:[apiKey]  -d '{"parameters": ["first", "second"]}'
https://api.[service.]softlayer.com/rest/v3.1/[serviceName]/[initializationParameter]/[methodName].[json|xml|txt]?
objectMask=mask[]&objectFilter={}&resultLimit=[offsetValue],[limitValue]
```

* All REST requests, even private network requests, must be passed through HTTP SSL.
* Use your API username and key to authenticate your request through HTTP authentication.
* The base hostname and folder name for a REST request is either `api.softlayer.com/rest/v3.1/` or `api.service.softlayer.com/rest/v3.1/`.
* `api.service.softlayer.com` is used to access the API over the SoftLayer private network. It is also required to use this endpoint when using the [Resource_Metadata](https://softlayer.github.io/reference/services/SoftLayer_Resource_Metadata/) service.
* Follow up the base URL with the name of the API service you wish to call, for instance "SoftLayer_Account" or "SoftLayer_Hardware_Server".
* If your API request requires an initialization parameter then add a slash followed by your init parameter id to your URL.

* The SoftLayer REST API can return either XML, JSON or TXT formatted output. Add ".xml", ".json", or ".txt" to the end of your request to specify which format you'd like to receive data in.

A request like this calls the getObject() method of the API service you're trying to call. [SoftLayer_Account::getObject](/reference/services/SoftLayer_Account/getObject) doesn't require an initialization parameter, so its REST URL looks like this

```
<EMAIL_ADDRESS>```

> To know if an API call requires initialization parameters, look for `<serviceName>InitParams` in the `required headers` section of the method's documentation

To call the [getObject()](/reference/services/SoftLayer_Hardware_Server/getObject) method for a specific [SoftLayer_Hardware_Server](/reference/services/SoftLayer_Hardware_Server/) record use the following URL, assuming "1234" is the id of the server you wish to retrieve:

```
https://api.softlayer.com/rest/v3/SoftLayer_Hardware_Server/1234.json
```

> By default, if you use a GET request, the SL API assumes you want the getObject() method. If you use POST, it assums createObject().

Call API methods other than `getObject()` by placing the method's name after your initialization parameter.

### Rest Url Tricks

When building a REST API call, you can drill down into the various relational properites.

For example:

```
https://api.softlayer.com/rest/v3.1/SoftLayer_Account/getHardware
```

Will return a list of all hardware on a given account, via the [SoftLayer_Account::hardware](/reference/datatypes/SoftLayer_Account/#hardware) property.

If you wanted a specific hardware object, you could do

* `https://api.softlayer.com/rest/v3.1/SoftLayer_Account/getHardware/365112/`
> You could also do SoftLayer_Hardware_Server/35112/getObject of course. This format is more useful when you want to get a specific data bit that doens't have a corresponding service.

And you can go deeper, if you wanted to get just the hardware [networkComponents](/reference/datatypes/SoftLayer_Hardware_Server/#networkComponents) you can do this:

```
https://api.softlayer.com/rest/v3.1/SoftLayer_Account/getHardware/365112/getNetworkComponents
```

A specific network component?

```
https://api.softlayer.com/rest/v3.1/SoftLayer_Account/getHardware/365112/getNetworkComponents/22222
```

### Rest Versions

In the url, you will see `v3.1` or `v3`. Both versions are basically the same, `v3.1` is the "newer" version, and the only real difference is it handles objectFilters a little faster.

## HTTP Request Types
It is important to understand that the REST endpoint is mostly just a wrapper for the SOAP endpoint, and as such might not work exactly like other REST services.

As a general rule, you can use a `GET` request UNLESS you need to send in optional parameters, then you should use a `POST` request.

### DELETE
A `DELETE` request assume you want to use the `deleteObject()` method.
```
curl -X DELETE https://api.softlayer.com/rest/v3/SoftLayer_Dns_Domain/1234.json
```

> Using `curl -X GET https://api.softlayer.com/rest/v3/SoftLayer_Dns_Domain/1234/deleteObject.json` will get you the same result

### GET
Use a `GET` request for method that doesn't have optional parameters that need to be sent in. a `GET` request will assume `getObject` if you don't specify a method.

```
https://api.softlayer.com/rest/v3/SoftLayer_Dns_Domain/1234.json
```

### POST
A `POST` request is needed for optional parameters. `POST` assums the `createObject` method if you don't specify one.

This method takes in a single Boolean parameter.
```
curl -u $SL_USER:$SL_APIKEY -X POST -d '{"parameters": ["1"]}
'https://api.softlayer.com/rest/v3.1/SoftLayer_Hardware_Server/12345/toggleManagementInterface.json'`
```

This method takes in a single SoftLayer_Dns_Domain object.
```
curl -u $SL_USER:$SL_APIKEY -X POST -d '{"parameters" : [
    {"name" : "example.org", "resourceRecords" : [{"type" : "a","host" : "@","data" : "<IP_ADDRESS>" }]}
]}' 'https://api.softlayer.com/rest/v3.1/SoftLayer_Dns_Domain.json'
```

>When using POST to send in parameters, the parameter order of the array needs to match the order the parameters appear in the documentation. You don't need to send in the parameter name.

### PUT
Use an HTTP PUT request to edit an object instead of a service's `editObject() `method. PUT a single JSON or XML structure containing a single element called "parameters" containing your object's skeleton structure and any other parameters required by your API service's `editObject()` method. For instance, pass an HTTP PUT request with the following data to the following URL in order to edit domain resource record 5678 within domain record 1234 on SoftLayer's DNS servers, changing its `data` to "<IP_ADDRESS>".

```
curl -u $SL_USER:$SL_APIKEY -X PUT -d '{"parameters": [{"data": "<IP_ADDRESS>",}]}'
https://api.softlayer.com/rest/v3/SoftLayer_Dns_Domain/1234/ResourceRecords/5678.json
```

## Passing Method Parameters

The order (top to bottom) you send in parameters needs to match the order they are listed in the documentation. For example, [SoftLayer_Account::createUser()](/reference/services/SoftLayer_Account/createUser/) takes in 4 parameters, first would be the `templateObject`, then `password`, then `vpnPassword`, then `silentlyCreateFlag`. The data passed in the parameters are treated like an array, so you don't need to include the parameter name anywhere.

There are 2 main ways to pass in parameters. The most consistent, and what I recommend, is by using a `POST` request and sending the parameters as part of the data.

For example [SoftLayer_Monitoring_Agent::setActiveAlarmSubscriber](/reference/services/SoftLayer_Monitoring_Agent/setActiveAlarmSubscriber) requires the userRecordId parameter:

```
curl -u $SL_USER:$SL_APIKEY -X POST -d '{"parameters": [5678]}'
'https://api.softlayer.com/rest/v3.1/SoftLayer_Monitoring_Agent/1234/setActiveAlarmSubscriber/'
```

Alternatively, you can put the parameters in the URL for simple types like string, int, and bool.

```
curl -u $SL_USER:$SL_APIKEY https://api.softlayer.com/rest/v3/SoftLayer_Monitoring_Agent/1234/setActiveAlarmSubscriber/5678.json
```

Some methods will request a single parameter which is an array such as [SoftLayer_Dns_Domain_ResourceRecord::createObjects](/reference/services/SoftLayer_Dns_Domain_ResourceRecord/createObjects)
```
{
  "parameters":
    [
      [
        {"host":"hosta","data":"<IP_ADDRESS>","ttl":"900","type":"a","domainId":"1234"}
        ,
        {"host":"hostb","data":"<IP_ADDRESS>","ttl":"900","type":"a","domainId":"1234"}
      ]
    ]
}
```

## Using Object Masks
Create an [object mask](/article/object-masks) in your API call URL by adding an `objectMask` variable to your query string. Object masks are a nested array of relational or local properties.

The following URL creates an object mask that retrieves an account's hardware records along with the datacenters that hardware is located in. Note that the object mask only contains the relational property we want to retrieve related to hardware, not our account.

```
https://api.softlayer.com/rest/v3/SoftLayer_Account/getHardware.json?objectMask=mask[datacenter]
```

This URL gets an account's hardware records along with that hardware's associated datacenter, operating system, and network component records. Note that these relational items are separate by semicolons.

```
https://api.softlayer.com/rest/v3/SoftLayer_Account/getHardware.json?objectMask=mask[datacenter,operatingSystem,networkComponents]
```

This URL gets an account's hardware records along with that hardware's associated datacenter, operating system, operating system password, and network component records.

```
https://api.softlayer.com/rest/v3/SoftLayer_Account/Hardware.json?objectMask=mask[datacenter,operatingSystem[passwords],networkComponents]
```

>There are some other ways of specifying object mask, just as `objectMask=datacenter;operatingSystem.passwords;networkComponents`, but for clarity I use the `mask[datacenter,operatingSystem[passwords],networkComponents]` format.

Selecting a `local` property in your objectMask will remove all other local properties on that level of your objectMask.

## Using Result Limits
Any method that returns an array of values can make use of a [resultLimit](/article/using-result-limits-softlayer-api/) to page through the results. This is useful if not including the resultLimit makes an API call timeout.

For example, [SoftLayer_Account::getOpenTickets](/reference/services/SoftLayer_Account/getOpenTickets) returns an array of SoftLayer_Ticket[] (if the return type ends with [] the method is returning an array). The following URL creates a `resultLimit` with "0" as an `offset` value, and "2" as a `limit` value, retrieving only 2 items starting at item 0 of the result set.
```
https://api.softlayer.com/rest/v3.1/SoftLayer_Account/getOpenTickets.json?resultLimit=0,2
```
**Note:** In the example the offset is 0 and the limit is 2, and in this case we can remove the offset to get the same response (resultLimit=2).

As part of the HTTP return headers, there is a header called `SoftLayer-Total-Items` that will show you how many total results you can expect.

```shell
curl -v -u $SL_USER:$SL_APIKEY https://api.softlayer.com/rest/v3.1/SoftLayer_Account/getOpenTickets.json?resultLimit=0,2
> GET /rest/v3/SoftLayer_Account/getOpenTickets.json?resultLimit=0,2 HTTP/1.1
> Host: api.softlayer.com
> Authorization: Basic UA==
> User-Agent: curl/7.61.1
> Accept: */*
> Accept-Encoding: gzip, deflate, compress

< HTTP/1.1 200 OK
< Date: Fri, 30 Nov 2018 22:51:16 GMT
< Server: Apache
< X-Frame-Options: SAMEORIGIN
< SoftLayer-Total-Items: 4       # I can expect 4 total openTickets
< Content-Length: 1616
< Vary: Accept-Encoding
< Connection: close
< Content-Type: application/json
< Strict-Transport-Security: max-age=31536000

```

## Error Handling

The SoftLayer REST API returns XML or JSON output with a single <tt>error</tt> node containing any error messages returned by your API call. For instance, the URL to the nonexistent service:

```
https://api.softlayer.com/rest/v3/Nonexistent.xml
```

returns the error:

```xml
<root>
    <error>Service does not exist</error>
    <code>SoftLayer_Exception_Public</code>
</root>
```

While it's JSON equivalent:

```
<EMAIL_ADDRESS>```

returns the error:

```json
{"error": "Service does not exist"}
```

### Authentication Errors
The SoftLayer REST API returns an HTTP 401 Unauthorized error if an invalid username / API key combination is used when requesting a REST URL.

branch_name: refs/heads/master

extension: md

gha_language: HTML

gha_license_id: NOASSERTION

license_type: permissive


text:
---
layout: post
title: "Week Six and Embracing TDD"
date: 2014-06-22 19:41:39 -0400
comments: true
categories: [rails, tdd]
---
We have made it to the end of week six. It was a big one for me:

- Pushed a [Javascript game to Heroku](http://unodos.herokuapp.com)
- Promptly got hacked
- Started figuring out OmniAuth
- Finally surmounted my fear/distaste for Test Driven Development.

TDD was one of the big aspects of the move to Rails that I was dreading. During our phase working in Sinatra, we didn't worry about TDD - it was enough trying to wrap our heads around the basics of HTTP, Postgres, and ActiveRecord. Now that we are building with Rails in ernest, TDD has moved to the foreground of our development process.

Initially, I was very wary of TDD. The Launch instructors did a great job of demonstrating the rationale behind TDD, showing us how TDD can ensure against your changes in one part of an app breaking another part, which was one thing that never quite sunk in for me working through tutorials online. That said, some of my early fumbling through Capybara and Rspec left me hesitant about TDD.

When we started TDD, I shied away from the assignments, focusing on a side project in Javascript. We finally finished that Javascript game on Friday, turning it into a Sinatra app that we were able to put up on Heroku, and this weekend I resolved to put in the time to get comfortable using TDD.

Having spent the past two days building a first Rails app from the ground up with TDD, my perspective has certainly changed. When you strictly adhere to the TDD methodology, it makes the process of building an app (especially a Rails app by hand, without scaffolding, as was the assignment this weekend) much more approachable and logical. My final product hardly had comprehensive test coverage, but now I feel comfortable with using TDD as a guide for building an app piece by piece.

license: MIT

extension: markdown


text:
---
layout: post
title:  Catchup
date:   2018-06-30
tags: life
categories: blog
---

It's been a hectic couple of weeks, and I've done/experienced/read/thought about a few things that warrant their own posts, but I'll fill them in here.

  * My friend Bryant [started his own blog](https://sweetcassation.com/).
  * Additionally, my wife, [Jenoa, has been blogging with increased frequency and done an excellent job of chronicling both our life and her thoughts](http://www.jenoasaplin.com/).
  * I've been enjoying [Austin Kleon's blog](https://austinkleon.com/2018/06/27/knitting-at-the-end-of-the-world/).
  * [Virtue in the Wasteland's recent series on the Church and the desire for power](http://www.virtueinthewasteland.com/episodes/) have been especially thought-provoking.
  * In a similar vein, Fr. Stephen Freeman had [some good reflections on the meekness of God and the desire for power](https://blogs.ancientfaith.com/glory2godforallthings/2018/06/26/the-meekness-of-god/).
  * Jaron Lanier's [*Ten Arguments for Deleting Your Social Media Accounts Right Now*](https://www.amazon.com/Arguments-Deleting-Social-Media-Accounts/dp/125019668X/ref=sr_1_1?s=books&ie=UTF8&qid=1530377671&sr=1-1&keywords=jaron+lanier&dpID=41A5b9TMwwL&preST=_SY291_BO1,204,203,200_QL40_&dpSrc=srch) is a pretty damning and compelling read.
  * [*Nobody Move* by Denis Johnson](https://www.amazon.com/Nobody-Move-Novel-Denis-Johnson/dp/0312429614/ref=sr_1_1?s=books&ie=UTF8&qid=1530377758&sr=1-1&keywords=nobody+move+denis+johnson) is a fun, snappy piece of crime fiction to kick off summer reading.

That's about all I have for now. Enjoy your weekend.

gha_license_id: MIT


text:
Tree-Repository
===============

'''This is a library for Binary Search Trees
	Each Node has three fields

	Node
	----

	1. Data
	2. Left Pointer (Pointer to left Child)
	3. Right Pointer (Pointer to right Child)
	4. Level (Denotes the level of the tree)

	Class BST has the following methods
	-----------------------------------
	1. Insert a new node in a BST				(DONE)
	2. Delete a node from a BST
	3. Inorder Traversal of a BST				(DONE)
	4. Preorder Traversal of a BST				(DONE)
	5. Postorder traversal of a BST				(DONE)
	6. Leveloredr traversal of a BST			(DONE)
	7. Mirror of a BST					(DONE)
	8. Search for an Element in a BST			(DONE)
	9. Lowest Common Ancestor of a BST			(DONE)
	10. Height of a BST					(DONE)
	11. Circumference of a BST				(DONE)
	12. Diameter of a BST					(DONE)

'''


text:
# Synopsis

> How to use Node.js and NodeGui's APIs.

All of [Node.js's built-in modules](https://nodejs.org/api/) are available in
NodeGui and third-party node modules also fully supported as well (including
the [native modules](../tutorial/using-native-node-modules.md)).

NodeGui also provides some extra built-in modules for developing native
desktop applications.

The app script is like a normal Node.js script:

```javascript
const { QMainWindow } = require("@nodegui/nodegui");

const win = new QMainWindow();

win.show();

global.win = win; // To prevent win from being garbage collected.
```

To run your app, read [Run your app](../tutorial/first-app.md#running-your-app).

## Destructuring assignment

You can use
[destructuring assignment][destructuring-assignment] to make it easier to use
built-in modules.

```javascript
const {
  QMainWindow,
  QWidget,
  QLabel,
  FlexLayout,
  StyleSheet
} = require("@nodegui/nodegui");

const win = new QMainWindow();

const centralWidget = new QWidget();
centralWidget.setObjectName("myroot");
const rootLayout = new FlexLayout();
centralWidget.setLayout(rootLayout);

const label = new QLabel();
label.setObjectName("mylabel");
label.setText("Hello World");

rootLayout.addWidget(label);
win.setCentralWidget(centralWidget);
win.setStyleSheet(
  StyleSheet.create(
    `
    #myroot {
      background-color: #009688;
    }
    #mylabel {
      font-size: 16px;
      font-weight: bold;
    }
  `
  )
);
win.show();

global.win = win;
```

[gui]: https://en.wikipedia.org/wiki/Graphical_user_interface
[destructuring-assignment]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment

repository: soonoo/nodegui

repo_name: soonoo/nodegui


text:
# Just Dance Is Raising Money For Alzheimer’s Research UK, And You Can Help For Free

Published at: **2019-11-07T15:00:00+00:00**

Author: **Ryan Craddock**

Original: [Nintendo Life](http://www.nintendolife.com/news/2019/11/just_dance_is_raising_money_for_alzheimerrs_research_uk_and_you_can_help_for_free)

With Just Dance 2020 launching this week on Nintendo Switch and Wii, the game's publisher Ubisoft has teamed up with Alzheimer’s Research UK, the UK’s leading dementia research charity, in a new crowdfunding campaign - and you can help.
The campaign is called Just Dance Memories and asks the public to share a specially created film on social media. It hopes to help raise awareness and funds for life-changing dementia research, and it's really easy to get involved.
Ubisoft will donate £1 to Alzheimer's Research UK for every retweet, Facebook share, and Instagram comment on the posts listed below up to a maximum of £30,000. At the time of writing, the campaign has raised £15,000, so we can still get that total even higher. Here are the posts in question:

        Twitter - retweet to raise £1:

license: Unlicense

repository: dsadlollioygjmzvcxv/tdc-exported

repo_name: dsadlollioygjmzvcxv/tdc-exported


text:
---
layout: post
title: Normalizing Flow Models
---

We continue our study over another type of likelihood based generative models. As before, we assume we are given access to a dataset $$\mathcal{D}$$ of $$n$$-dimensional datapoints $$\mathbf{x}$$. So far we have learned two types of likelihood based generative models:

1. Autoregressive Models: $$p_\theta(\mathbf{x}) = \prod_{i=1}^{N} p_\theta(x_i \vert \mathbf{x}_{<i})$$

2. Variational autoencoders: $$p_\theta(\mathbf{x}) = \int p_\theta(\mathbf{x}, \mathbf{z}) \text{d}\mathbf{z}$$

The two methods have relative strengths and weaknesses. Autoregressive models provide tractable likelihoods but no direct mechanism for learning features, whereas variational autoencoders can learn feature representations but have intractable marginal likelihoods.

In this section, we introduce normalizing flows a type of method that combines the best of both worlds, allowing both feature learning and tractable marginal likelihood estimation.

# Change of Variables Formula

In normalizing flows, we wish to map simple distributions (easy to sample and evaluate densities) to complex ones (learned via data). The change of variables formula describes how to evaluate densities of a random variable that is a deterministic transformation from another variable.

**Change of Variables**: $$Z$$ and $$X$$ be random variables which are related by a mapping $$f: \mathbb{R}^n \to \mathbb{R}^n$$ such that $$X = f(Z)$$ and $$Z = f^{-1}(X)$$. Then

{% math %}p_X(\mathbb{x}) = p_Z(f^{-1}(\mathbb{x})) \left\vert \text{det}\left(\frac{\partial f^{-1}(\mathbb{x})}{\partial \mathbb{x}}\right) \right\vert

{% endmath %}

There are several things to note here.

1. $$\mathbb{x}$$ and $$\mathbb{z}$$ need to be continuous and have the same dimension.

2. $$\frac{\partial f^{-1}(\mathbb{x})}{\partial \mathbb{x}}$$ is a matrix of dimension $$n \times n$$, where each entry at location $$(i, j)$$ is defined as $$\frac{\partial f^{-1}(\mathbb{x})_i}{\partial x_j}$$. This matrix is also known as the Jacobian matrix.

3. $$\text{det}(A)$$ denotes the determinant of a square matrix $$A$$.

4. For any invertible matrix $$A$$, $$\text{det}(A^{-1}) = \text{det}(A)^{-1}$$, so for $$\mathbb{z} = f^{-1}(\mathbb{x})$$ we have

   {% math %}

   p_X(\mathbb{x}) = p_Z(\mathbb{z}) \left\vert \text{det}\left(\frac{\partial f(\mathbb{z})}{\partial \mathbb{z}}\right) \right\vert^{-1}

   {% endmath %}

5. If $$\left \vert \text{det}\left(\frac{\partial f(\mathbb{z})}{\partial \mathbb{z}}\right) \right\vert = 1$$, then the mappings is volume preserving, which means that the transformed distribution $$p_X$$ will have the same “volume” compared to the original one $$p_Z$$.

# Normalizing Flow Models

We are ready to introduce normalizing flow models. Let us consider a directed, latent-variable model over observed variables $$X$$ and latent variables $$Z$$. In a **normalizing flow model**, the mapping between $$Z$$ and $$X$$, given by $$f_\theta: \mathbb{R}^n \to \mathbb{R}^n$$, is deterministic and invertible such that $$X = f_\theta(Z)$$ and $$Z  = f_\theta^{-1}(X)$$[^nf].

![](flow-graphical.png)

Using a change of variables, the marginal likelihood $$p(x)$$ is given by

{% math %}

p_X(\mathbb{x}; \theta) = p_Z(f_\theta^{-1}(\mathbb{x})) \left\vert \text{det}\left(\frac{\partial f^{-1}_\theta(\mathbb{x})}{\partial \mathbb{x}}\right) \right\vert

{% endmath %}

The name “normalizing flow” can be interpreted as the following:

1. “Normalizing” means that the change of variables gives a normalized density after applying an invertible transformation.
2. “Flow” means that the invertible transformations can be composed with each other to create more complex invertible transformations.

Different from autoregressive models and variational autoencoders, deep normalizing flow models require specific architectural structures.

1. The input and output dimensions must be the same.
2. The transformation must be invertible.
3. Computing the determinant of the Jacobian needs to be efficient (and differentiable).

Next, we introduce several popular forms of flow models that satisfy these properties.

The Planar Flow introduces the following invertible transformation

{% math %}
\mathbf{x} = f_\theta(z) = \mathbf{z} + \mathbf{u} h(\mathbf{w}^\top \mathbf{z} + b)
{% endmath %}

where $$\mathbf{u}, \mathbf{w}, b$$ are parameters.

The absolute value of the determinant of the Jacobian is given by

{% math %}
\left\vert \text{det}\left(\frac{\partial f(\mathbb{z})}{\partial \mathbb{z}}\right) \right\vert = \left\vert 1 + h'(\mathbf{w}^\top \mathbf{z} + b) \mathbf{u}^\top \mathbf{w} \right\vert
{% endmath %}

However,  $$\mathbf{u}, \mathbf{w}, b, h(\cdot)$$ need to be restricted in order to be invertible. For example, $$h = \tanh$$ and $$h'(\mathbf{w}^\top \mathbf{z} + b) \mathbf{u}^\top \mathbf{w} \geq -1$$. Note that while $$f_\theta(\mathbf{z})$$ is invertible, computing $$f_\theta^{-1}(\mathbf{z})$$ could be difficult analytically.  The following models address this problem, where both $$f_\theta$$ and $$f_\theta^{-1}$$ have simple analytical forms.

The Nonlinear Independent Components Estimation (NICE) model and Real Non-Volume Preserving (RealNVP) model composes two kinds of invertible transformations: additive coupling layers and rescaling layers. The coupling layer in NICE partitions a variable $$\mathbf{z}$$ into two disjoints subsets, say $$\mathbf{z}_1$$ and $$\mathbf{z}_2$$. Then it applies the following transformation:

Forward mapping $$\mathbf{z} \to \mathbf{x}$$
1. $$\mathbf{x}_1 = \mathbf{z}_1$$, which is an identity mapping.

2. $$\mathbf{x}_2 = \mathbf{z}_2 + m_\theta(\mathbf{z_1})$$, where $$m_\theta$$ is a neural network.

Inverse mapping $$\mathbf{x} \to \mathbf{z}$$:
1. $$\mathbf{z}_1 = \mathbf{x}_1$$, which is an identity mapping.

2. $$\mathbf{z}_2 = \mathbf{x}_2 - m_\theta(\mathbf{x_1})$$, which is the inverse of the forward transformation.

Therefore, the Jacobian of the forward mapping is lower triangular, whose determinant is simply the product of the elements on the diagonal, which is 1. Therefore, this defines a volume preserving transformation. RealNVP adds scaling factors to the transformation:

{% math %}

\mathbf{x}_2 = \exp(s_\theta(\mathbb{z}_1)) \odot \mathbf{z}_2 + m_\theta(\mathbf{z_1})

{% endmath %}

where $$\odot$$ denotes elementwise product. This results in a non-volume preserving transformation.

Some autoregressive models can also be interpreted as flow models. For a Gaussian autoregressive model, one receives some Gaussian noise for each dimension of $$\mathbb{x}$$, which can be treated as the latent variables $$\mathbf{z}$$. Such transformations are also invertible, meaning that given $$\mathbf{x}$$ and the model parameters, we can obtain $$\mathbf{z}$$ exactly.

Masked Autoregressive Flow (MAF) uses this interpretation, where the forward mapping is an autoregressive model. However, sampling is sequential and slow, in $$O(n)$$ time where $$n$$ is the dimension of the samples.

![](maf.png)

To address the sampling problem, the Inverse Autoregressive Flow (IAF) inverts the generating process. In this case, generating $$\mathbf{x}$$ from the noise can be parallelized, but computing the likelihood of new data points is slow. However, for generated points, the likelihood can be computed efficiently (since the noise is already obtained).

![](iaf.png)

Parallel WaveNet combines the best of both worlds for IAF and MAF where it uses an IAF student model to retrieve samples and a MAF teacher model to compute likelihood. The teacher model can be efficiently trained via maximum likelihood, and the student model is trained by minimizing the KL divergence between itself and the teacher model. Since computing the IAF likelihood for an IAF sample is efficient, this process is efficient.

# Footnotes

[^nf]: Recall the conditions for the change of variable formula.

repository: acganesh/notes

repo_name: acganesh/notes


text:
# DNC TensorFlow

This is a TensorFlow implementation of DeepMind's Differentiable Neural Computer (DNC) architecture introduced in their recent Nature paper:
> [Graves, Alex, et al. "Hybrid computing using a neural network with dynamic external memory." Nature 538.7626 (2016): 471-476.](http://www.nature.com/articles/nature20101.epdf?author_access_token=ImTXBI8aWbYxYQ51Plys8NRgN0jAjWel9jnR3ZoTv0MggmpDmwljGswxVdeocYSurJ3hxupzWuRNeGvvXnoO8o4jTJcnAyhGuZzXJ1GEaD-Z7E6X_a9R-xqJ9TfJWBqz)

This implementation doesn't include all the tasks that was described in the paper, but it's focused on exploring and re-producing the general task-independent key characteristics of the architecture. However, the implementation was designed with extensibility in mind, so it's fairly simple to adapt it to further tasks.

## Local Environment Specification

Copy experiments and tests ran on a machine with:
- An Intel Core i5 2410M CPU @ 2.30GHz (2 physical cores, with hyper-threading enabled)
- 4GB SO-DIMM DDR3 RAM @ 1333MHz
- No GPU.
- Ubuntu 14.04 LTS
- TensorFlow r0.11
- Python 2.7

bAbI experiment and tests ran on an AWS P2 instance on 1 Tesla K80 GPU.

## Experiments

### Dynamic Memory Mechanisms

This experiment is designed to demonstrate the various functionalities of the external memory access mechanisms such as in-order retrieval and allocation/deallocation.

A similar approach to that of the paper was followed by training a 2-layer feedforward model with only 10 memory locations on a copy task in which a series of 4 random binary sequences each of which is of size 6 (24 piece of information) was presented as input. Details about the training can be found [here](tasks/copy/).

The model was able to learn to copy the input successfully, and it indeed learned to use the mentioned memory mechanisms. The following figure (which resembles **Extended Data Figure 1** in the paper) illustrates that.

*You can re-generate similar figures in the [visualization notebook](tasks/copy/visualization.ipynb)*

![DNC-Memory-Mechanisms](/assets/DNC-dynamic-mem.png)

- In the **Memory Locations** part of the figure, it's apparent that the model is able to read the memory locations in the same order they were written into.

- In the **Free Gate** and the **Allocation Gate** portions of the figure, it's shown that the free gates are fully activated after a memory location is read and becomes obsolete, while being less activated in the writing phase. The opposite is true for the allocation gate. The **Memory Locations Usage** also demonstrates how memory locations are used, freed, and re-used again time after time.

*The figure differs a little from the one in the paper when it comes to the activation degrees of the gates. This could be due to the small size of the model and the relatively small training time. However, this doesn't affect the operation of the model.*

### Generalization and Memory Scalability

This experiment was designed to check:
- if the trained model has learned an implicit copying algorithm that can be generalized to larger input lengths.
- if the learned model is independent of the training memory size and can be scaled-up with memories of larger sizes.

To approach that, a 2-layer feedforward model with 15 memory locations was trained on a copy problem in which a single sequence of random binary vectors of lengths between 1 and 10 was presented as input. Details of the training process can be found [here](tasks/copy/).

The model was then tested on pairs of increasing sequence lengths and increasing memory sizes with re-training on any of these pairs of parameters, and the fraction of correctly copied sequences out of a batch of 100 was recorded. The model was indeed able to generalize and use the available memory locations effectively without retraining. This is depicted in the following figure which resembles **Extended Data Figure 2** from the paper.

*Similar figures can be re-generated in the [visualization notebook](tasks/copy/visualization.ipynb)*

![DNC-Scalability](/assets/DNC-scalable.png)

### bAbI Task

This experiment was designed to reproduce the paper's results on the bAbI 20QA task. By training a model with the same parameters as DNC1 described in the paper (Extended Data Table 2) on the **en-10k** dataset, the model resulted in error percentages that *mostly* fell within the 1 standard deviation of the means reported in the paper (Extended Data Table 1). The results, and their comparison to the paper's mean results, are shown in the following table. Details about training and reproduction can be found [here](tasks/babi/).

| Task Name | Results | Paper's Mean |
| --------- | ------- | ------------ |
| single supporting fact | 0.00%  | 9.0±12.6% |
| two supporting facts   | 11.88% | 39.2±20.5% |
| three supporting facts | 27.80% | 39.6±16.4% |
| two arg relations      | 1.40%  | 0.4±0.7% |
| three arg relations    | 1.70%  | 1.5±1.0% |
| yes no questions       | 0.50%  | 6.9±7.5% |
| counting               | 4.90%  | 9.8±7.0% |
| lists sets             | 2.10%  | 5.5±5.9% |
| simple negation        | 0.80%  | 7.7±8.3% |
| indefinite knowledge   | 1.70%  | 9.6±11.4% |
| basic coreference      | 0.10%  | 3.3±5.7% |
| conjunction            | 0.00%  | 5.0±6.3% |
| compound coreference   | 0.40%  | 3.1±3.6% |
| time reasoning         | 11.80% | 11.0±7.5% |
| basic deduction        | 45.44% | 27.2±20.1% |
| basic induction        | 56.43% | 53.6±1.9% |
| positional reasoning   | 39.02% | 32.4±8.0% |
| size reasoning         | 8.68%  | 4.2±1.8% |
| path finding           | 98.21% | 64.6±37.4% |
| agents motivations     | 2.71%  | 0.0±0.1% |
| **Mean Err.**          | 15.78% | 16.7±7.6% |
| **Failed (err. > 5%)** |  8     | 11.2±5.4 |

## Getting Involved

If you're interested in using the implementation for new tasks, you should first start by **[reading the structure and basic usage guide](docs/basic-usage.md)** to get comfortable with how the project is structured and how it can be extended to new tasks.

If you intend to work with the source code of the implementation itself, you should begin with looking at **[the data flow diagrams](docs/data-flow.md)** to get a high-level overview of how the data moves from the input to the output across the modules of the implementation. This would ease you into reading the source code, which is okay-documented.

You might also find the **[implementation notes](docs/implementation-notes.md)** helpful to clarify how some of the math is implemented.

## To-Do

- **Core:**
    - Sparse link matrix.
    - Variable sequence lengths across the same batch.
- **Tasks**:
    - ~~bAbI task.~~
    - Graph inference tasks.
    - Mini-SHRDLU task.
- **Utility**:
    - A task builder that abstracts away all details about iterations, learning rates, ... etc into configurable command-line arguments and leaves the user only with the worries of defining the computational graph.

## Author
Mostafa Samir

[mostafa.3210<EMAIL_ADDRESS>
## License
MIT

repository: galaxyh/DNC-tensorflow

repo_name: galaxyh/DNC-tensorflow


text:
Fastify API in a remote container

[![License](https://img.shields.io/github/license/stripe/stripe-react-native)](https://github.com/Invoxio/node-fastify-container-api-framework/blob/main/LICENSE)

The goal was to have a simple base framework for developing multiple node api applications.

## Use

## Requirements

- Node code
- Fastify base
- VSCode remote container development

## VSCode

In remote container development, the vscode enviroment is also contained in the setup of the container. Including any extensions.

Installed extensions:

- Prettier: esbenp.prettier-vscode
- CobaltBlue Theme: wesbos.theme-cobalt2
- Eslint: dbaeumer.vscode-eslint
- Prettier Eslint: rvest.vs-code-prettier-eslint
- Markdown Preview Enhancer: shd101wyy.markdown-preview-enhanced

## Contributing

Pull requests and issues (either real issues or just suggestions) are more than welcome. No pride in ownership here!

repository: Invoxio/node-fastify-container-api

branch_name: refs/heads/main

gha_language: JavaScript

repo_name: Invoxio/node-fastify-container-api


text:
#### Integrations
##### Palo Alto Networks Cortex XDR - Investigation and Response
- Added support for the **get-modified-remote-data** command which returns a list of modified incidents since the last update.
The incomming mirror command, **get-remote-data**, will run only on the modified incidents identified by this command.
For more information, see [our documentation](https://xsoar.pan.dev/docs/integrations/mirroring_integration).
- Upgraded the Docker image to demisto/python3:<IP_ADDRESS>58.

repository: demisto/content

gha_language: Python

repo_name: demisto/content


text:
nginx-letsencrypt
=================

An ansible role for requesting ssl certificates through acme-tiny and nginx.

Role Variables
--------------

Only available role variable is letsencrypt\_fqdn. It should be a list of strings
of fqdns for which you want to request a certificate.

Example Playbook
----------------

Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:

```
    - hosts: servers
      roles:
         - { role: acme-tiny, lets_encrypt_fqdn: ['www.foo.bar'] }
```

License
-------

BSD


text:
---
layout: page
title: Community Detection within Social Networks
permalink: /seminars/community-detection/
---

## Community Detection within Social Networks

### Speaker:

[Eslam Hussein]()

### Abstract:

Community detection in networks has raised an important research topic in recent years. Finding a community in social network is to identify a set of nodes such that they interact with each other frequently than with those nodes outside the group. Also community detection can ease other social computing tasks that can be applied to several real world applications, community detection also can be used to compress large networks producing smaller ones, which make it much easier to visualize and understand.

The problem of detecting communities can be modeled as an optimization problem where a quality objective function that captures the intuition of a community as a set of nodes with better internal connectivity than external connectivity is selected to be optimized.

A lot of optimization methods have been used to solve the community detection problem. Over the previous years a lot of quality measures of communities have been introduced as objective functions in the optimization process such as the Modularity measure. Starting from this point of view we investigate some of the popular nature inspired optimization algorithms, in order to optimize different quality measures used widely in the literature.

repository: dsqcri/old-ds-website

repo_name: dsqcri/old-ds-website


text:
# 1.5.1 / FIX ME

  * Most important changes are in default ruby skeleton, see its own CHANGELOG
  * Added a --silent option to 'noe prepare' that removes the "what's next"
    message

# 1.5.0 / 2011-08-20

  * Most important changes are in default ruby skeleton, see its own CHANGELOG

# 1.4.0 / 2011-07-29

* Enhancements

  * Added an ignore entry in manifest that allows completely ignoring a file or
    directory.
  * Moved to quickl 0.3.0
  * Most important changes are in default ruby skeleton, see its own CHANGELOG

# 1.3.0 / 2011-02-03

* Bug fixes

  * Fixed a bug in Hash merging when overriding boolean values
  * Fixed .gitignore of default ruby template not bundled with noe's gem, leading to incomplete templates
    instantiations

* Default ruby skeleton

  * Enhanced the way library version is handled. A !{upper}::Version module is now generated from
    the noespec (and is kept safe-overridable by default). !{upper}::VERSION is kept and is set by
    that module to the correct value. As a side effect, the .gemspec can now be built even if
    dependencies are not met.
  * Added the ability of the template to be tested with rubygems-test
  * spec/spec_helper.rb is not safe-override by default anymore
  * Fixed a bug that led 'rake -T' to ignore debug_mail

# 1.2.0 / 2011-01-17

* Broken things

  * Arrays are not union-merged anymore during YAML merging between .noespec and template's noespec.yaml.
    This may introduce small problems on existing projects that use the default ruby skeleton while
    specifying additional dependencies. Users have to copy default dependencies in their own .noespec
    file.
  * Noe does not contain its loader anymore. As a side effect, it does not require rubygems anymore
    and 'noe' binary relies on the gem installer to meet its dependencies.

* Minor enhancements

  * Fixed 'noe --backtrace go', which didn't print the ruby backtrace.

* Bug fixes

  * A nil value on right of YAML merging (.noespec) correctly overrides the value specified on left
    (typically template's noespec.yaml)

* Default ruby skeleton

  * A 'description' variable is introduced in .noespec and made mandatory to avoid weird results
    on rubygems.org when using the whole README.md file for project description.
  * Enhanced 'rake package/gem' to be configurable from .noespec under variables/rake_tasks/gem
  * Enhanced 'rake unit_test' to be configurable from .noespec under variables/rake_tasks/unit_test
  * Enhanced 'rake spec_test' to be configurable from .noespec under variables/rake_tasks/spec_test
  * Enhanced 'rake yard' to be configurable from .noespec under variables/rake_tasks/yard
  * Added 'rake debug_mail' which is configurable from .noespec under variables/rake_tasks/debug_mail
  * lib/__lower__/loader.rb only use plain requires instead of a more complex algorithm. This follows
    the discussion with Luis Lavena on ruby-talk (http://bit.ly/gqukPw)
  * Added a proposal dependency (wlang ~> 0.10.1) required by the debug_mail task
  * Fixed tasks/unit_test.rake under 1.9.2 (raised 'no such file to load -- []' with options=[] instead
    of nil)

# 1.1.0 / 2011-01-14

* Template specification/instantiation enhancements

  * Introduced a manifest entry in template-info
  * Introduced an auto detection of the wlang dialect to use based on file extensions.
    The dialect may also be specified under template-info/manifest/a_file_name/wlang-dialect
    entry
  * All hashes found in .noespec variables are methodized before being passed to template
  * Templates are now instantiated on a specification being the result of YAML merging
    between the user's .noespec file and the template noespec.yaml file.

* Command enhancements

  * Removed 'noe create', which is replaced by an extended version named 'noe prepare'
  * 'noe go' now supports --interactive and --safe-override additional options to control conflict strategy
  * Added a 'noe show-spec' command that shows the complete specification used by 'noe go'
    See 'noe help show-spec' for details
  * 'noe COMMAND --help' is now an alias for 'noe help COMMAND'
  * A wlang backtrace is now displayed when an instantation error occurs on 'noe go'

* Other changes

  * Bumped wlang version to 0.10.0 to gain inclusion features on wlang/ruby and wlang/yaml
  * Ruby skeleton largely enhanced (see it's own CHANGELOG.md)
  * Noe code is now managed by Noe itself

# 1.0.0 / 2011-01-10

* Enhancements

  * Birthday!

repository: eregon/noe

repo_name: eregon/noe


text:
# bulletin-board
A digital bulletin-board where you can post sticky notes

![preview](preview.png "Preview")

## How to View Project
To view this project, clone this repo and run `npm i`.
Then run `npm start`.

repository: MosesSupposes/bulletin-board

repo_name: MosesSupposes/bulletin-board


text:
---
layout: default
title: Data Store "Packages" in OrgCheck
permalink: /technical/datastores/packages/
---

# Data Store "Packages"

## Approach

Currently, the information about **Packages** is retrieved from two sources.

One source is the installed packages (using the **Tooling API**).

Another source is the current namespace setup in the org (using the **REST API**).
Most of the time, the namespace of the org is empty, unless you specifically set it.

## Step 1: List of Installed Packages

Get the list of all Installed Packages in the org from the Tooling API:

```SQL
SELECT Id, SubscriberPackage.NamespacePrefix, SubscriberPackage.Name
FROM InstalledSubscriberPackage
```

## Step 2: Get the namespace of the local Organization

Get the global namespace used in the organization from the REST API -- this information can be empty:

```SQL
SELECT NamespacePrefix
FROM Organization
```

## Step 3: Mapping

| Step # | Extract                           | Transformation         | Load       |
| :-----:| --------------------------------- | ---------------------- | ---------- |
|   1    | Id                                |                        | id         |
|   1    | SubscriberPackage.Name            |                        | name       |
|   1    | SubscriberPackage.NamespacePrefix |                        | namespace  |
|   1    |                                   | ="Installed"           | type       |
|   2    | NamespacePrefix                   |                        | id         |
|   2    | NamespacePrefix                   |                        | name       |
|   2    | NamespacePrefix                   |                        | namespace  |
|   2    |                                   | ="Local"               | type       |


text:
---
hrs_structure:
  division: '1'
  volume: '5'
  title: '15'
  chapter: '269'
  section: 269-25
type: hrs_section
tags:
  - Government
menu:
  hrs:
    identifier: HRS_0269-0025
    parent: HRS0269
    name: 269-25 Valuations
weight: 22245
title: Valuations
full_title: 269-25 Valuations
---
**§269-25 Valuations.** The public utilities commission may either upon its own motion or upon application by any utility for any order where the commission deems it advisable and to the best interest of the public and the utility cause a valuation to be made to ascertain for any purpose specified in this chapter the value of the property of any public utility and every fact and element of value which in its judgment may or does have any bearing on such value. The commission may make revaluations and ascertain the value of all additions, betterments, extensions, and acquisitions of property of any public utility. [L 1933, c 169, pt of §4; RL 1935, §7960; RL 1945, §4721; RL 1955, §104-22; [HRS §269-25](/title-15/chapter-269/section-269-25/)]

repository: SamMade/BlueAndKrabby

repo_name: SamMade/BlueAndKrabby


text:
#Newgrounds Gamerscore Leaderboard

### What is it?

This is an application used to automate the process of generating the newgrounds.com Gamerscore Leaderboard forum posts. When provided with Xbox GamerTags, the application will retreive the gamer's current amount of Gamerscore by pulling the data from the associated xbox.com profile page. This information is then sorted and used to generate an updated leaderboard, which can easily be copied to the user's clipboard and pasted as a forum post.

### Current state?

Currently the application should be functional, however there are still numerous upgrades and fixes that need to be implimented.

### Requirements

This application makes use of the jsoup library to parse HTML. A copy of jsoup 1.7.2 is included in the /libs directory.

### License

The MIT License (MIT)

Copyright (c) 2013 Dean Thomson

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

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

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


text:
<img src="https://github.com/mora-lab/mora-lab.github.io/blob/master/picture/MORALAB_Banner.png">

# Educational Material

Our resources to learn Gene Set Analysis.

## Animated Lessons --GSAMAT 2020

**GSA1:** : Biological annotation databases [Download here](https://github.com/gsa-central/animations/blob/main/GSAMAT2020/GSA1.mp4)

**GSA2:** : Pathway databases [Download here](https://github.com/gsa-central/animations/tree/main/GSAMAT2020/GSA2.mp4)

**GSA3:** : Gene ontology and gene set databases [Download here](https://github.com/gsa-central/animations/tree/main/GSAMAT2020/GSA3.mp4)

**GSA4:** : What is gene set analysis? [Download here](https://github.com/gsa-central/animations/tree/main/GSAMAT2020/GSA4.mp4)

**GSA5:** : Over-representation analysis [Download here](https://github.com/gsa-central/animations/tree/main/GSAMAT2020/GSA5.mp4)

**GSA6:** : Functional-class scoring [Download here](https://github.com/gsa-central/animations/tree/main/GSAMAT2020/GSA6.mp4)

**GSA7:** : Gene set analysis software tools [Download here](https://github.com/gsa-central/gsa-central.github.io/blob/main/education/GSA7_2.mp4)

**GSA8:** : Acknowledgements [Download here](https://github.com/gsa-central/animations/tree/main/GSAMAT2020/GSA8.mp4)

*Last updated: May 9th, 2022*

gha_language: CSS


text:
# gogo text search

Simple library for searching text in strings using expressions like "foo and bar and not (blub or blob)"
and for searching large texts fast.

[![Maven Central](https://maven-badges.herokuapp.com/maven-central/nl.gogognome/gogotextsearch/badge.svg?style=plastic)](https://maven-badges.herokuapp.com/maven-central/nl.gogognome/gogotextsearch)

## String search

The package `nl.gogognome.textsearch.string` contains classes to search strings. There are two different
searches implemented:

1. Search the first index of a search string within a string
2. Check whether a search criterion matches with a string

Both kind of searches can be case-sensitive or case-insensitive. Use the `StringSearchFactory` to create an instance
of the search or matcher class that you need.

### Search for the first index of a search string

If you are looking for an implementation of `String.indexOf()` that is case-insensitive,
you can do this:

    StringSearch stringSearch = new StringSearchFactory().caseInsensitiveStringSearch();
    int index = stringSearch.indexOf("Barefoot is a movie directed by Andrew Flemming.", "Foot");
    // index == 4

The `StringSearch` interface also offers methods to start searching from a specific index in the text onwards, and
a method to find all indexes where the pattern occurs in the text.

    List<Integer> indexes = stringSearch.indexesOf("Barefoot is a movie directed by Andrew Flemming.", "re");
    // indexes == [2, 22, 35]

For a case-sensitive implementation of `StringSearch` use `new StringSearchFactory().caseSensitiveStringSearch()`
instead. Under the hood the implementation for case-sensitive search uses `String.indexOf()`.
It is still useful to have both case-sensitive and case-insensitive implementations, because both are used by
the criterion matcher for case-sensitive and case-insensitive matching of search criteria.

### Search for indexes of a pattern using Boyer Moore

To search large texts, a faster algorithm to use is the Boyer Moore algorithm. This algorithm
requires a little time to initialize a few arrays based on the pattern. After that, searching is many times faster
than `String.indexOf()`.

    BoyerMoore boyerMoore = new BoyerMoore("Foot", CaseSensitivity.INSENSITIVE);
    int index = boyerMoore.indexIn("Barefoot is a movie directed by Andrew Flemming.");
    // index == 4

The class `BoyerMoore` also offers methods to start searching from a specific index in the text onwards, and a method
to find all indexes where the pattern occurs in the text.

    BoyerMoore boyerMoore = new BoyerMoore("re", CaseSensitivity.INSENSITIVE);
    List<Integer> indexes = boyerMoore.indexesIn("Barefoot is a movie directed by Andrew Flemming.");
    // indexes == [2, 22, 35]

The StringSearch implementation returned by the `StringSearchFactory` wil actually switch from `String.indexOf()`
to Boyer-Moore if the text is larger than a certain threshold.

### Search for indexes of a pattern using Suffix Arrays

If you want to find the index of different string literals in one string again and again the for large strings,
it is more efficient to use a _suffix array_ than the search string solutions of the previous section.
A suffix array is a technique to quickly generate a kind of lookup table for the
string using very little extra memory. You can use it like this:

    SuffixArray suffixArray = new SuffixArray("Barefoot is a movie directed by Andrew Flemming.", CaseSensitivity.INSENSITIVE);
    int index = suffixArray.indexOf("Foot");
    // index == 4

Once you have a `SuffixArray` instance created you can search as often as you want for any search string.

The class `SuffixArray` also offers a method to find all indexes where the pattern occurs in the text.

    List<Integer> indexes = suffixArray.indexesOf("re");
    // indexes == [2, 22, 35]

## Searching with search criterion

The sections above describe how to search efficiently for occurrences of a pattern in a text. Sometimes
you want to search using a _search criterion_ like `(foo AND bar) AND NOT (foobar)`.
A search criterion can be a literal text or one or more search criteria combined using AND, OR and NOT operators.

### Examples

`foo` matches any line containing the literal text `foo`.

`foo AND bar` matches any line containing both literals `foo` and `bar`. The order in which `foo` and `bar` are
present in the matching line is unimportant.

The keyword AND is optional: `foo bar` is equivalent too `foo AND bar`.

To match the exact literal `foo bar` put it between single or double quotes: both `'foo bar'` and `"foo bar"` match
any line containing the exact literal `foo bar`.

`foo OR bar` matches any line containing at least one of the literals `foo` and `bar`.

`NOT foo` matches any line that does not contain `foo`.

Use brackets to group parts of the criterion: `(foo OR bar) AND (blob OR blub)`.

The keywords `AND`, `OR` and `NOT` are case-insensitive.

### The Criterion interface and Parser class

The package `nl.gogognome.textsearch.criteria` contains the `Criterion` interface and classes implementing
this interface:

* `StringLiteral`
* `And`
* `Or`
* `Not`

You can use these classes to build search criteria:

    Criterion searchCriterion = new And(new StringLiteral("foo"), new StringLiteral("bar"));

But the easiest way is to use the `Parser` class:

    Criterion criterion = new Parser().parse("foo AND bar");

### Check whether a string matches a criterion

Once you have created a `Criterion` instance you can use it to check whether a string matches this criterion:

    Criterion criterion = new Parser().parse("foo AND bar");
    CriterionMatcher matcher = new StringSearchFactory().caseInsensitiveCriterionMatcher(criterion);
    boolean matches = matcher.matches("Barefoot is a movie directed by Andrew Flemming.");
    // matches == true

A special use case is that the `Criterion` must be matched against a number of attributes of an object.
This could be implemented by joining these attributes' values to a single string, separated by a character
that does not occur in the `Criterion`, and then matching
the `Criterion` against this resulting string. This approach however would require a lot of string copying,
which is time-consuming and produces a lot of garbage on the heap. To overcome this problem
the method `matches()` accepts a varargs string argument.
The strings passed to the method are treated as if they were all joined together to a single string, separated
by a character that does not occur in the {@link Criterion}.

    Criterion criterion = new Parser().parse("foo AND bar");
    CriterionMatcher matcher = new StringSearchFactory().caseInsensitiveCriterionMatcher(criterion);
    boolean matches1 = matcher.matches("Bart", "food");
    // matches1 == true
    boolean matches2 = matcher.matches("ba", "rt food");
    // matches2 == false because "bar" is not found

## Text file search

The package `nl.gogognome.textsearch.textfile` contains the interface `TextFileSearch`. This interface specifies
a method to get an `Iterator` that returns lines of a text file that match a search criterion.

Currently, two implementations are available for this interface: `OneOffTextFileSearch` and `SuffixArrayTextFileSearch`.

These two implementations are used by the classes `CachedSearchableTextFile` and `NonCachedSearchableTextFile`,
which make it easier to search a file multiple times and get the matches in a list instead as an `Iterator`.

### OneOffTextFileSearch

This class is intended for searching a file just once. Its constructor expects an input stream to the file contents
and a `StringSearch` instance for matching a line with a criterion. Finally, you ask for the `Iterator` that returns
all lines matching a specific criterion. The `Iterator` returns each matching line of the text file.
`OneOffTextFileSearch` does not close the input stream.

    // InputStream inputStream = ...
    Criterion searchCriterion = new Parser().parse("foo AND bar");
    Charset charset = StandardCharsets.UTF_8;
    CriterionMatcher.Builder criterionMatcherBuilder = new StringSearchFactory().caseInsensitiveCriterionMatcherBuilder();
    Iterator<String> iter = new OneOffTextFileSearch(inputStream, charset, criterionMatcherBuilder).matchesIterator(searchCriterion);
    while (iter.hasNext()) {
        String nextLine = iter.next();
        // use nextLine
    }
    inputStream.close();

You are only allowed to ask for an iterator once, because the input stream is only read once. This library makes
no assumptions about the capabilities of the input stream, whether its position can be reset or not. If you need to search
the file again with a different criterion, either create a new `OneOffTextFileSearch`
or use the `SuffixArrayTextFileSearch` which is optimized for multiple searches on the same file.

### SuffixArrayTextFileSearch

This class is intended for searching a file multiple times. Its constructor expects a String of the file's contents.
Next call `matchesIterator()` with a `Criterion` as often as you want to find matches.

    SuffixArrayTextFileSearch fileSearch = new SuffixArrayTextFileSearch("Some huge file's contents here...");
    Iterator<String> iter1 = fileSearch.matchesIterator(new Parser().parse("foo AND bar"));
    // Iterate until iter1 has no more elements
    Iterator<String> iter2 = fileSearch.matchesIterator(new Parser().parse("'something else'"));
    // Iterate until iter2 has no more elements

### CachedSearchableTextFile and NonCachedSearchableTextFile

These two classes offer the same methods. Their constructors expect a `File` and a `Charset`.
`NonCachedSearchableTextFile` takes care of opening and closing the `InputStream` for
the underlying `OneOffTextFileSearch` and `CachedSearchableTextFile` reads the file and creates the underlying
`SuffixArrayTextFileSearch` with the file's contents.

Typical usage:

    CachedSearchableTextFile searchableTextFile = new CachedSearchableTextFile(file, Charset.forName("UTF-8"));
    List<String> matches1 = searchableTextFile.getAllLinesMatching(new Parser().parse("foo AND bar"));

    // Get matches 100 up to 200 (i.e., skip 100 and next take 200-100 matches)
    List<String> matches2 = searchableTextFile.getLinesMatching(new Parser().parse("'something else'"), 100, 200);

### Releases

| Date             | Release | Description                                                                                |
|------------------|:-------:|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| August 10, 2016  |  1.0.0  | Initial release.                                                                                |
| October 19, 2016 |  1.0.1  | Fixed precedence of NOT operator. Now it has highest precedence.                                                                                |
| October 27, 2016 |  1.0.2  | Added a StringSearch implementation that only matches if the search text equals the text to be searched.                                                                    |
| October 8, 2017  |  2.0.0  | Redesigned the API of the `nl.gogognome.textsearch.string` completely. Added Boyer-Moore algorithm. Made initialization of Suffix Array faster (O(n) instead of O(n*log(n)) |
| January 7, 2022 |  2.0.1  | Make mockito-all a test dependency of this library instead of a compile time dependency.                                                                                |

repository: gogognome/gogotextsearch

repo_name: gogognome/gogotextsearch


text:
# Change Log

All notable changes to the extension will be documented in this file.

## [1.6.0] - 2020-12-29

- Updated settings.

## [1.5.0] - 2020-12-28

- Added `css.validation` setting.

## [1.4.5] - 2020-12-28

- Update documentation.

## [1.4.4] - 2020-12-27

- Fixed regex.

## [1.4.3] - 2020-12-27

- Fixed regex.

## [1.4.2] - 2020-12-26

- Update documentation.

## [1.4.1] - 2020-12-26

- Validates startup and newly opened documents.

## [1.4.0] - 2020-12-26

- Added validation.
- Added @extends('base') tag for inheritance.
- Added integration test.

## [1.3.3] - 2020-12-22

- Fixed watcher bug.
- Fixed cleanup.

## [1.3.2] - 2020-12-22

- Update documentation.

## [1.3.1] - 2020-12-22

- Unified path handling.
- Fixed recursion bug for template inheritance.

## [1.3.0] - 2020-12-21

- Update documentation.
- Update to VS Code 1.52

## [1.2.5] - 2020-12-20

- Added initial template inheritance support for Twig and Mustache like template engines.

repository: CupeX/nextjs-course-demo

repo_name: CupeX/nextjs-course-demo


text:
# Agency theme

This is a port of the [agency](https://github.com/digitalcraftsman/hugo-agency-theme) theme for Styx.

Originally made by [digitalcraftsman](https://github.com/digitalcraftsman).

[Original theme](https://github.com/digitalcraftsman/hugo-agency-theme)

> Agency Theme is a one page portfolio for companies and freelancers based on the original Bootstrap theme by David Miller. This Hugo theme features several content sections, a responsive portfolio grid with hover effects, full page portfolio item modals, a timeline, and a contact form.

---

## Acknowledgements

Thanks to

- [David Miller](https://github.com/davidtmiller) for creating this theme
- [digitalcraftsman](https://github.com/digitalcraftsman) for porting the theme to hugo

## Preview

![Preview](/screen.png)

repository: styx-static/styx

gha_language: Nix

repo_name: styx-static/styx


text:
About
=====

This is the base cppdev docker image (forked from [kernsuite-docker/base](https://github.com/kernsuite-docker/base)).

This Docker image is:
* Based on Ubuntu 18.10
* Has few cpp libraries needed for other projects.
* Has Universe, Multiverse and Restricted repo's enabled
* Has a docker-apt-install script which can be used
  to install debian package while keeping the Docker image
  clean and tiny.

You can manually build this image with `make build `or download it
from the docker hub with the name uclrits/cppdev:

usage: `$ docker run uclrits/base <cmd>`

repository: UCL-RITS/docker-ubuntu-devel

gha_language: Dockerfile

repo_name: UCL-RITS/docker-ubuntu-devel


text:
# Nono (the small discord bot)

![Nono](image.png)

Nono is a Python discord bot message functions and reaction tracking.
This project is mostly a test to mess around with the discord.py library and some python features. It's somewhat broken so you shouldn't try to use it.
It might be somewhat devent as a template for future projects tho.

The project follows the [gazr](https://gazr.io) specs. To launch it, make sure you have docker and docker-compose installed and just do `make run`.


text:
---
layout: page
title: Death of Maurice
---

This is my retelling of Beauty and the Beast. Not the classic one meant to scare children but the Disney one. I don't have anything against it really, but it has some plot holes and things that just don't fit my schema. So I wrote my own. Based on experience, if you like Beauty and the Beast, you probably won't like this one.

With those warnings in place, enjoy.

---

- [Dr Moreau](/story/2017/07/18/dr-moreau)
- [Upon arrival](/story/2017/07/19/upon-arrival)
- [Collette](/story/2017/07/24/collette)
- [Belle](/story/2017/07/25/belle)
- [Cogsworth](/story/2017/07/26/cogsworth)
- [Growing up](/story/2017/08/02/growing-up)
- [Chip](/story/2017/08/11/chip)
- [The witch](/story/2017/08/11/the-witch)
- [Gaston](/story/2017/09/01/gaston)
- [The known story](/story/2017/09/04/the-known-story)
- [Finishing the machine](/story/2017/09/05/finishing-the-machine)
- [Justince](/story/2017/09/06/justice)
- [Roux lost](/story/2017/09/07/roux-lost)
- [The victor](/story/2017/09/08/the-victor)
- [The end](/story/2017/09/09/the-end)


text:
# How to install Mac OS El Capitan 10.11.04 on Lenovo Z50-70

Hit the **Star** button if you love this project ⭐

## I. Installation

### 1. Download OSX El Capitan

You can download Mac OS El Capitan 10.11.04 via torrent, the link is here Download via Torrent.txt. Then, extract the zip file and copy `Install OS X El Capitan` to Applications folder.

### 2. Prepare Bootable USB Drive

* For creating Bootable USB, you can follow this guide (Using UniBeast to Make OSX El Capitan Bootable USB). **Read STEP 2 only!**

* The keyboard may not work on boot, you need to copy `ApplePS2SmartTouchPad.kext` from `Kexts` folder to USB's Clover kexts folder `EFI/CLOVER/kexts/10.11`.

### 3. Install OS X El Capitan

For installing OS X El Capitan, please follow STEP 3: Recommended BIOS Settings & STEP 4: Install OS X El Capitan.

## II. Post Installation

Download Tools, Patchs, Kexts, Clover, ... here (hackintosh-lenono-z5070).

`cd ~/Downloads/hackintosh-lenono-z5070`

### 1. Install Kexts

`Patchs/install_kexts`

### 2. Install Clover Bootloader

`sudo Patchs/mount_efi.sh`

`sudo rm -rf /Volumes/EFI/EFI & sudo cp -R Clover/EFI /Volumes/EFI/`

### 3. Disable Hibernation

`sudo pmset -a hibernatemode 0`

`sudo rm /var/vm/sleepimage`

`sudo mkdir /var/vm/sleepimage`

### 4. Remap Home End Keys

`Patchs/fix_keys.sh`

### 5. Some Tweaks

* Disable App Store Update.
* Disable Bluetooth
* Tweak Mouse & Trackpad
* Lock Screen
* Install Homebrew

## III. What Works

* UEFI booting via Clover
* built-in keyboard (with special function keys)
* built-in trackpad (basic gestures)
* HDMI video/audio with hotplug
* AirPlay mirroring to AppleTV
* native WiFi via BCM943602BAED
* Bluetooth (with handoff) using BCM943602BAED
* native USB3 with AppleUSBXHCI (USB2 works also)
* native audio with AppleHDA, including headphone
* built-in mic
* built-in camera
* native power management
* battery status
* backlight controls with smooth transitions, save/restore across restart
* accelerated graphics for HD4400 including OpenCL
* wired Ethernet
* Mac App Store working
* screen works without flicker

## IV. Reference

* DSDT patch repository for Lenovo Z50-70 laptop
* [Guide] Lenovo Z50-70/Z40-70 using Clover UEFI (10.11)
* UniBeast: Install OS X El Capitan on Any Supported Intel-based PC
* Extended Driver Package > Compatibility & Bootpacks
* Mac OS X Virtual Machine for VMware Player in Windows

gha_language: Shell


text:
# Amplify Template

An easy way to add custom CloudFormation templates to your Amplify Project

![Demo](.images/demoTemplate.gif)

## Installation

This plugin assumes that the Amplify CLI is already installed. For installation help, please see step 2 of the [getting-started docs](https://aws-amplify.github.io/docs/).

To install, simply enter the following command in your terminal:

`npm i -g amplify-category-template`

## Usage

| Command                      | Description |
| ---------------------------- | ----------- |
| `amplify add template`       | Adds an existing CloudFormation template that you select to your project. Today this only supports root templates ending in `yaml`, `json` or `yml`|
| `amplify remove template`    | Removes a specified template from your project. |

repository: wizage/amplify-category-template

repo_name: wizage/amplify-category-template


text:
##Pan-Pacific PyLadies Conference Website

We are an international mentorship group with a focus on helping more women become active participants and leaders in the Python open-source community. Our mission is to promote, educate and advance a diverse Python community through outreach, education, conferences, events and social gatherings.

PyLadies also aims to provide a friendly support network for women and a bridge to the larger Python world. Anyone with an interest in Python is encouraged to participate!

This repository is for developing and maintaining the PPPC website. The document Fix_It_List.md contains the list of items we need to work on. If you would like to contribute to the PPPC website please use this list as a means for determining what needs to be worked on or adding to the list with problems you come across. Thank you!

###Documents

- Fix_It_List.md, the list of items that need work (please review)
- LICENSE.md contains our MIT license, please be advised this is an open-source project
- index.html, our primary website html
- error.html, the html displayed if index.html does not load (such as its missing)
- css/style.css, style sheet for personalizations

###Working on the website
1. e-mail<EMAIL_ADDRESS>and ask to be added as a collaborator
2. fork the PanPacificPyLadiesConf/PPPCwebsite repository
3. clone the forked repository to your local computer
4. work locally (if you double click on index.html it will open in your internet browser and show what the site currently looks and behaves)
5. commit and changes you make locally and then push them to your github account
6. to merge your changes with the primary repository click on new pull request
7. comment on what you changed and why, we will accept appropriate changes
8. if you have any comments, questions, or concerns, e-mail us panpacificpyladiesconf@gmail.com

repository: Mariatta/PPPCwebsite

repo_name: Mariatta/PPPCwebsite


text:
# Pong-Game

Python Game with Turtle Library
![alt](./Graphical-Pong/ref/Screenshot.png)

---

## Installation

in Python3.\*

```language
pip install -r requirements.txt
```

---

## Dependencies

if you have a this Error
: ImportError \_tkinter as TK # If this fails your Python may not be configured for Tk

for fix install TKinter lib

### Arch Linux

```language
sudo pacman -S tk
```

### Debian/Ubuntu

```language
sudo apt-get update
sudo apt-get install python3-tk
```

---

## Run Game

```language
➜  Graphical-Pong python Pong\ Game.py
```

---

## Contribution

All contributions are assumed to be dual-licensed under MIT/Apache-2.

repository: Mr-Wrecker/Pong-Game

repo_name: Mr-Wrecker/Pong-Game


text:
# MarcoPolo - `create_record()`

This method create a record on the database, using the given data.

## Creating Records

When you want to create new records, you can build [`Document`](MarcoPolo-Document.md) instances within your Elixir application code and pass it to this method to add it to the database.

### Syntax

```
create_record(<conn>, <cluster-id>, <data>, <opts>)
```

- **`<conn>`** Defines the database connection.
- **`<cluster-id>`** Defines the Cluster you want to use.
- **`<data>`** Defines the data to use in the record.
- **`<opts>`** Defines optional options to pass to the function.  For more information on the available options, see [Options](#options) below.

#### Options

This function takes the following options:

- **`:no_response`** Defines whether the function should wait on a response from the OrientDB Server.  If set `false`, it returns `:ok` regardless of whether or not the operation was successful.

- **`:timeout`** Defines the timeout value in milliseconds.  In the event that the query takes longer than the alloted time, MarcoPolo sends an exit signal to the calling process.

#### Return Values

When the function is successful, it returns the tuple `{:ok, record_info}`.  The `record_info` value is a tuple containing the Record ID and record version.  In the event that the record creation fails, it returns `{:error, term}`.  The `term` variable provides the error message.

### Example

For instance, consider the use case of a web application.  You might want a function to streamline adding new blog entries to the database.

```elixir
@doc """Takes given data and add new blog entry to database"""
def add_blog(conn, author, title, text) do

	# Log Operation
	IO.puts("Adding Blog for User: #{author}")

	# Build Document
	record = %MarcoPolo.Document{class: "BlogEntry",
		fields: %{
			"title" => title,
			"author" => author,
			"text": => text}}

	# Create Record
	case MarcoPolo.create_record(conn, 15, record) do
		{:ok, {record_id, version}} -> IO.puts("Record Created")
		{:error, reason} -> IO.puts("Error: #{reason}")

	end
end
```

repository: orientechnologies/orientdb-docs

repo_name: orientechnologies/orientdb-docs


text:
---
title: Christ in Song - 301-310
metadata:
    description: |
        Christ in Song - 301-310
    keywords:  |
        Christ in Song, adventhymnals, advent hymnals, 301-310
    author: Brian Onang'o
---

#### Advent Hymnals
## Christ in Song - 301-310

# Index of Titles
# | Title
-- |-------------
301|[I Love Thee Better, Lord](/christ-in-song/301-400/301-310/I-Love-Thee-Better,-Lord)
302|[No Other Name](/christ-in-song/301-400/301-310/No-Other-Name)
303|[Only Thee](/christ-in-song/301-400/301-310/Only-Thee)
304|[Wondrous Love](/christ-in-song/301-400/301-310/Wondrous-Love)
305|[I Remember Calvary](/christ-in-song/301-400/301-310/I-Remember-Calvary)
306|[Jesus Is Mine](/christ-in-song/301-400/301-310/Jesus-Is-Mine)
307|[Our Surest Stay](/christ-in-song/301-400/301-310/Our-Surest-Stay)
308|[Fill Me Now](/christ-in-song/301-400/301-310/Fill-Me-Now)
309|[Good and Great](/christ-in-song/301-400/301-310/Good-and-Great)
310|[All For Jesus](/christ-in-song/301-400/301-310/All-For-Jesus)

repository: GospelSounders/adventhymnals

repo_name: GospelSounders/adventhymnals


text:
Sends incident details to pagerduty.

## Script Data
---

| **Name** | **Description** |
| --- | --- |
| Script Type | javascript |
| Tags | pagerduty, communication |

## Dependencies
---
This script uses the following commands and scripts.
* PagerDuty-submit-event

## Inputs
---

| **Argument Name** | **Description** |
| --- | --- |
| author | The email address of the user to be alerted about the incident. |

## Outputs
---
There are no outputs for this script.


text:
This is complete library set for generating nicknames basing on Russian memes of different times.

We have three dictionaries: `adjectives`, `nouns` and `details`.
We recommend that you use two of them for one nickname since using three renders nicknames very big — up to seven words, which is not always suitable.

Usage example:

```
import { UNN_RU } from 'unitedNickNames';
// or const { UNN_RU } = require('unitedNickNames');

// Now you have UNN_RU object with following content,
// you can generate nicknames from:
// {
//   adjectives: { male: string[], female: string[] }
//   nouns: ...,
//   details: ...
// }

```

You're welcome to participate with adding new words, phrases or languages!

license: ISC

repository: andreyselin/unitedNickNames

gha_language: TypeScript

gha_license_id: ISC

repo_name: andreyselin/unitedNickNames


text:
# Changelog
All notable changes to this project will be documented in this file.
The format is based on
[Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [6.0.0](https://www.github.com/terraform-google-modules/terraform-google-vault/compare/v5.3.0...v6.0.0) (2021-07-11)

### ⚠ BREAKING CHANGES

* Minimum Terraform version increased to 0.13.

### Features

* add Terraform 0.13 constraint and module attribution ([#128](https://www.github.com/terraform-google-modules/terraform-google-vault/issues/128)) ([008ef77](https://www.github.com/terraform-google-modules/terraform-google-vault/commit/008ef77fe09d1e6cf31f565ef91bdec86f7e671f))

## [5.3.0](https://www.github.com/terraform-google-modules/terraform-google-vault/compare/v5.2.0...v5.3.0) (2021-02-15)

### Features

* add vault_update_policy_type parameter ([#125](https://www.github.com/terraform-google-modules/terraform-google-vault/issues/125)) ([d25ae6a](https://www.github.com/terraform-google-modules/terraform-google-vault/commit/d25ae6a1ab8f4f1c64acfe1af198663ea17b5a12))

## [5.2.0](https://www.github.com/terraform-google-modules/terraform-google-vault/compare/v5.1.0...v5.2.0) (2020-11-16)

### Features

* enable auto-healing, update to Debian 10 ([#119](https://www.github.com/terraform-google-modules/terraform-google-vault/issues/119)) ([1d0b5db](https://www.github.com/terraform-google-modules/terraform-google-vault/commit/1d0b5db7f310dc6a47af3130a97e5373d9cdaddf))

## [5.1.0](https://www.github.com/terraform-google-modules/terraform-google-vault/compare/v5.0.1...v5.1.0) (2020-08-20)

### Features

* Support service_label for internal load balancer ([#106](https://www.github.com/terraform-google-modules/terraform-google-vault/issues/106)) ([07c0e89](https://www.github.com/terraform-google-modules/terraform-google-vault/commit/07c0e896181ddf68fa22d646447932bd938569af))

### [5.0.1](https://www.github.com/terraform-google-modules/terraform-google-vault/compare/v5.0.0...v5.0.1) (2020-07-29)

### Bug Fixes

* fixed outputs wrong vault_lb_addr ([#102](https://www.github.com/terraform-google-modules/terraform-google-vault/issues/102)) ([5afdbc7](https://www.github.com/terraform-google-modules/terraform-google-vault/commit/5afdbc785b54c567f4180c75fce0874ff6700004))

## [5.0.0](https://www.github.com/terraform-google-modules/terraform-google-vault/compare/4.2.0...v5.0.0) (2020-07-21)

### ⚠ BREAKING CHANGES

* Pulled Vault core into a separate submodule (#99)

### Features

* Pulled Vault core into a separate submodule ([#99](https://www.github.com/terraform-google-modules/terraform-google-vault/issues/99)) ([b4b39ab](https://www.github.com/terraform-google-modules/terraform-google-vault/commit/b4b39ab4ebf69dfdb3479c3da321808d767981ce))

## [v4.2.0](https://www.github.com/terraform-google-modules/terraform-google-vault/compare/4.1.0...4.2.0) (2020-06-18)

## [v4.1.0](https://www.github.com/terraform-google-modules/terraform-google-vault/compare/4.0.0...4.1.0) (2020-05-28)

## [v4.0.0](https://www.github.com/terraform-google-modules/terraform-google-vault/compare/3.1.3...4.0.0) (2020-04-02)

## [v3.1.3](https://www.github.com/terraform-google-modules/terraform-google-vault/compare/3.1.2...3.1.3) (2020-01-13)

## [v3.1.2](https://www.github.com/terraform-google-modules/terraform-google-vault/compare/3.1.1...3.1.2) (2019-12-26)

## [v3.1.1](https://www.github.com/terraform-google-modules/terraform-google-vault/compare/3.1.0...3.1.1) (2019-12-11)

## [v3.1.0](https://www.github.com/terraform-google-modules/terraform-google-vault/compare/3.0.3...3.1.0) (2019-12-09)

## [v3.0.3](https://www.github.com/terraform-google-modules/terraform-google-vault/compare/3.0.2...3.0.3) (2019-10-01)

## [v3.0.2](https://www.github.com/terraform-google-modules/terraform-google-vault/compare/3.0.1...3.0.2) (2019-09-16)

## [v3.0.1](https://www.github.com/terraform-google-modules/terraform-google-vault/compare/3.0.0...3.0.1) (2019-09-16)

## [v3.0.0](https://www.github.com/terraform-google-modules/terraform-google-vault/compare/2.1.0...3.0.0) (2019-08-15)

## [v2.1.0](https://www.github.com/terraform-google-modules/terraform-google-vault/compare/2.0.2...2.1.0) (2019-05-24)

## [v2.0.2](https://www.github.com/terraform-google-modules/terraform-google-vault/compare/2.0.1...2.0.2) (2019-03-21)

## [v2.0.1](https://www.github.com/terraform-google-modules/terraform-google-vault/compare/2.0.0...2.0.1) (2019-03-07)

## [v2.0.0](https://www.github.com/terraform-google-modules/terraform-google-vault/compare/1.0.0...2.0.0) (2019-03-04)

repository: mvcaaa/terraform-google-vault

repo_name: mvcaaa/terraform-google-vault


text:
Problem
-------

Make the browser display "Hello world !"

Solution
--------

    <html>
    <head>
    <script src="brython.js"></script>
    </head>
    <body onload="brython()">

    <script type="text/python">
    from browser import document as doc
    doc <= "Hello world !"
    </script>

    </body>
    </html>

`document` is a word defined in module **browser** that represents the document (the content of the web page). It supports the operation `<=` meaning "add content". Here the content is a simple Python string

repository: olliewalsh/brython

repo_name: olliewalsh/brython


text:
# Petitions

## What Is It?

* Make Government Responsive
* The White House petition site has transformed the way constituents are heard by their elected officials.
* Redeploy petitions technology for Hampton Roads.
* We the People is a new, easy way for Americans to make their voice heard in our government.
* If a petition gathers enough signatures, it will be reviewed by White House staff and receive an official response. We the People helps the White House understand the views of the American people and have a focused and civil conversation with them.
* Individuals can create and sign petitions that call for action by local government on a range of issues facing our region and cities.

## Current Apps

### We The People

* [App](https://petitions.whitehouse.gov/)
* [Code](https://github.com/WhiteHouse/petitions)

## Partners

* Change.org

branch_name: refs/heads/gh-pages


text:
# github-generateDeployKey

## About

Unlike [Bitbucket.org](https://support.atlassian.com/bitbucket-cloud/docs/add-access-keys/), [Github does not allow](https://docs.github.com/en/developers/overview/managing-deploy-keys#using-multiple-repositories-on-one-server) you to use the same public key from a server with multiple repositories. This can be inconvenient when working with multiple repositories on the same server. Creating a new user is too much of a hassel and has some limitations when making access read-only (typical access for a production server). The manual process to create and use multiple keys on the same server is also error prone.

This script addresses the last problem by:

- generating a ssh key for a single repository
- adding a custom configuration to the users (not global) ssh config file
- outputs the public key for you to copy and paste as the repo deploy key
- outputs the url for you to clone the repo to the machine

## Usage

1. Download the script to your server and save under the user that your apps interact with `git` under
2. Make the script executable with this command: `chmod u+x generateDeployKey.sh`
4. Generate the deploy key with this command: `./generateDeployKey.sh REPO_OWNER_NAME REPO_NAME`

## Example Usage

`./generateDeployKey.sh yourname hello_world`

## Notes

- Tested on Ubuntu Linux servers.
- If you make a mistake with what you pass in (wrong repo name or project name), you can remove the change from your `~/.ssh/config` file by deleting the most recent data in the file corresponding to "New Key Generated on...." and deleting the related .pub and private keys which will be named after whatever you passed in as parameters when you executed the script (Example: `id_rsa.hello_world` and `id_rsa.hello_world.pub`).


text:
# Signage Carousel

Change the digital signage URL on your device periodically.

![Signage carousel illustration](carousel.png)

**Author: Tore Bjolseth**

## Description

Instead of showing a fixed page as signage, swap between several different ones with a fixed time interval.

Note: Works best with passive signage. If the signage is interactive, you might risk that the signage switches while you are in the middle of something.

TIP: Use the [Office Hours settings](https://roomos.cisco.com/xapi/search?search=officehour) to run signage only during the times that people are in the office. Running signage 24/7 can reduce the life time of certain screens.

## Requirements

* CE 9.1 or greater
* Web engine enabled

## Usage

* Install the macro
* Edit the macros and add the URLs you want to show

repository: CiscoDevNet/roomdevices-macros-samples

path: /Signage Carousel/README.md

repo_name: CiscoDevNet/roomdevices-macros-samples


text:
---
layout: post
title: Job posts in Hindustan Insecticides Limited  last date 14th Jan-2016
date: 2015-12-27 04:29
comments: true
tags:  Analyst ContractJob Engineer ITI-Apprentice Maharashtra Mechanic Medical Officer Operator Public-Sector Special Drive Trainee
archive: false
---
Applications are invited for the following posts in Hindustan Insecticides Limited  Rasayani unit:

- Welfare Officer : 01 post
- Special Recruitment Drive for PWD candidates

- Mechanical Engineer : 01 post
- Safety Supervisor : 01 post
- Analyst (Trainee) : 02 posts
- Boiler cum Fitter Gr. III : 01 post

Posts on Contract basis

- Medical Officer : 01 post
- Instrument Mechanic : 02 posts
- Boiler Operator : 02 posts

**How to Apply** : Application in the prescribed format should be send on or before 14/01/2016 to Deputy General Manager (P&A),  Hindustan  Insecticides  Limited,  Post – Rasayani,  Taluka – Panvel,  Dist – Raigad,  410 207,  Maharashtra

Please visit  Home > Careers > Current Openings at HIL website <http://www.hil.gov.in>  to see details and application form.

repository: anchalrani/getopportunity

repo_name: anchalrani/getopportunity


text:
# DecrypterExe

a simple hacknet-inspired encryption and decryption system (with passwords, headers, etc)

# Usage

here's a small example of how you can use this:
```js
const Decrypter = require('decrypterexe')

Decrypter.encryptString('noone can see this haha', 'header', '<IP_ADDRESS>', 'password', '.txt')
```
this will return an encrypted string that can only be decrypted with `Decrypter.decryptString()`

# Documentation

`Decrypter.encryptString(data, header, ipLink, (password), (fileextension))` - encrypts a string into a proper dec-encrypted file

`Decrypter.decryptString(data, (password))` - decrypts a string encrypted with encryptString

`Decrypter.validData(data)` - checks if encrypted data is valid

`Decrypter.validPassword(data, pass)` - checks if encrypted data's password is valid

`Decrypter.getHeaders(data)` - gets headers from encrypted data without a password

`Decrypter.getPassCode(string)` - a small utility function that "hashes" a string password into a number

repository: oatmealine/decrypt

repo_name: oatmealine/decrypt


text:
:ru: Russian version can be found [here](https://github.com/macik/cot-package_connector/blob/master/README_ru.md)

PackageConnector
============

Plugin for CMF Cotonti.
Provide smooth integration with packages installed to project with
[Composer](https://getcomposer.org/) (Dependency Manager for PHP).

Description
--------

First of all Package Connector allow to use autoloader for all Composer installed packages.
That is practical way to use installed PHP package without a headache with manual adding `require` / `include` directive with proper library paths.

Beside this it has interface to installed package info. Using it you can get info about package version, requirements (and other info provided by Composer package).

Features
-----------

* Support and use Composer generated autoloader
* Getting complete info about installed package (version, requirements, etc.)

Requirements
----------

Current version 0.2.1 works with Cotonti Siena v0.9.18. (can work in older versions but not tested)

For use it needs at least `composer.json` located in base folder of working project (base folder with Cotonti install).

For getting info about installed packages there should be `composer.lock` file (normally generated by Composer itself after package installation):
```
composer install
```
or adding certain package to the project:
```
composer require "vendor/package"
```

### Comments

Plugin works out right after had been installed and not require any addition settings.

### How extension works

Inspite of PackageConnector class can be easily integrated right into the core
it distributed now as a extension Plugin [«package_connector»](https://github.com/macik/cot-package_connector).

Plugin utilizes main routines (see file
`package_connector.input.php`) that serve class usage, like class initialization and data caching.

Plugin defines in a global scope variable `$cot_packages`  — instance of `PackageConnector` class:
```php
$cot_packages = new PackageConnector();
```
Class instance with necessary data are cached:
```php
$cache && $cache->db->store('cot_packages', $cot_packages, 'system');
```

To eliminate needless initialization (with loading and parsing files data)
class had `stateChanged()` method to check state of composer files.
If state had changed you can reinitialize (setup) Connector once more:

```php
if ($cot_packages->stateChanged()) $cot_packages->setup();
```

More detailed info for Class can be found on library repo
[«Package Connector»](https://github.com/macik/PackageConnector)

Install
---------

* Unpack, copy files to root folder of your site.
* Install via Admin → Extensions menu (`Administration panel → Extensions`)

**Pay attention:** file `PackageConnector.php` with library classes for `PackageConnector` should be located in system class folder `system\classes`.

Licence
----------------------------------

Distributed under BSD license.

Author
---------

[Andrey Matsovkin](https://github.com/macik/)

References
------

* [Cotonti.com](http://Cotonti.com/) -- Home of Cotonti CMF
* [package_connector на GitHub](https://github.com/macik/cot-package_connector) -- Latest version on GitHub


text:
---
title: "The Next Station Will Be ... Volume 7"
modified: 2013-06-09
categories: curiosities
excerpt: "Contents of the book "The Next Station Will Be ... Volume 7: Erie: Port Jervis—Susquehanna—Scranton.""

---

This is the first of two books I’ve recently acquired from the series “The Next Station Will Be … ".  The other was [Volume 5](/curiosities/the-next-station-will-be-volume-5/), covering the New York, Susquehanna & Western railroad and its Wilkes-Barre & Eastern extension.

Huge thanks go to my friend and colleague Elaine, who snatched this book out of the donations box at the library.  She knew I would love it.

The Next Station Will Be ... Volume 7

I decided to list the contents of each book because many times over the course of my hiking, exploring, and survey mark hunting adventures, I've come across books online that *might* hold the historical images I need to solve a particular mystery, but there is no way to tell without purchasing the book. I'm thinking the lists might help someone else who wonders if a particular book contains an image they are seeking. If you would like a scan of a particular image for research purposes, please feel free to contact me!

Like the others in the series, this book showcases photographs taken in 1910 of railroad stations, accompanied by brief descriptions. This volume covers the Erie Railroad's Delaware Division (Port Jervis to Lanesboro, and the Honesdale branch [Lackawaxen to Honesdale]), Wyoming Division (the Saco branch [West Hawley to Saco] and the main line [Saco to Plains Jct.]), and Jefferson Division (Susquehanna to Carbondale).  The book also contains short historical notes about each division, track maps and track elevation profile diagrams for each division, and 1911 timetables. Some of the mile post numbers are out of order and seem a bit suspect, which may be due to the various junctions and spurs along the lines.  The numbers were copied exactly from the book, but if you have a verifiable correction, please leave a comment.

Stations/attractions shown are the following (with mile post numbers):

## Delaware Division

* M.P. 87.3: Port Jervis
* M.P. 98.4: Pond Eddy
* M.P. 102.2: Parker's Glen
* M.P. 106.1: Shohola
* M.P. 110.1: Lackawaxen
* M.P. 115.4: Masthope
* M.P. 121.4: Narrowsburg
* M.P. 129.9: Cochecton
* M.P. 135.1: Callicoon
* M.P. 142.0: Hankins
* M.P. 146.3: Long Eddy
* M.P. 152.6: Lordville
    * M.P. 163.0: Hancock
* M.P. 171.1: Hale's Eddy
* M.P. 176.0: Deposit
    * M.P. 183.1: Gulf Summit
* M.P. 139.8: Starrucca Viaduct
* M.P. 191.6: Susquehanna

## Wyoming Division

* M.P. 5 from the main line: Rowlands
* M.P. 7.52: Glen Eyre
* M.P. 11.69: Kimbles
* M.P. 15.1: Hawley
* M.P. 15.69: West Hawley
* M.P. 3.72: White Mills
* M.P. 9: Honesdale
* M.P. 6.84: Hoadley's
* M.P. 13.25: Gravity
* M.P. 15.62: Lake Ariel
* M.P. 18.33: Maplewood
* M.P. 22.02: Wimmers
    * M.P. 26.95: Elmhurst
* M.P. 1.93: Dunmore
* M.P. 3.72: Scranton
    * M.P. 42.18: Avoca
* M.P. 1.06 from No. 7 jct.: Pittston

## Jefferson Division

* M.P. 4.23 from Susquehanna: Brandt
* M.P. 10.47: Starrucca
* M.P. 14.19: Thompson
* M.P. 19: Ararat
* M.P. 23.72: Herrick Center
* M.P. 27.51: Uniondale
* M.P. 32.7: Forest City
* M.P. 39: Carbondale

Also depicted are the American Hotel at Hancock, an early Erie & Wyoming Valley locomotive (#35, later #301 and then #741) and the dining room of the Susquehanna station.

> **The Next Station Will Be ... An Album of Photographs of Railroad Depots in 1910, Volume 7: Erie: Port Jervis—Susquehanna—Scranton**. Livingston, NJ: Railroadians of America, 1982.


text:
# detox reset-lock-file

```bash
detox reset-lock-file
```

Resets all Detox lock files. The lock files contains information about busy and free devices, and this way we can
ensure no device can be used simultaneously by multiple test workers.

By default, [`detox test`](test.md) command always deletes the shared lock files on start,
assuming it had been left from the previous, already finished test session.

However, when you want to run multiple `detox test` commands in parallel, you might want to disable the automatic
deletion via [`--keepLockFile`](test.md) CLI argument or [`behavior.init.keepLockFile`](../config/behavior.mdx#behaviorinitkeeplockfile-boolean)
property in the config file and reset the lock files explicitly, e.g.:

```bash
detox reset-lock-file & \
detox test -c iphone.release --keepLockFile & \
detox test -c ipad.release --keepLockFile & \
detox test -c android.phone.release --keepLockFile & \
detox test -c android.tablet.release --keepLockFile & \
wait;
```