text:
---
layout: post
title: "Changes to the Readium.js API"
date: 2013-06-27 14:45
comments: true
categories:
author: Justin Hume
---

With some recent additions to Readium.js, the "structure" of the API has been framed out. Since the next step in the evolution of the API will be to elicit feedback, I think it's a good time to talk about the structure of the Readium.js API, recent changes, and future directions.

## The Readium.js API

### API Structure
Readium.js enables the embedding of an EPUB content viewer in a variety of different web applications. As you might expect, the surrounding application will need to call methods on the viewer directly, listen for interesting events triggered by changes in the viewer's state, and customize visual aspects of the viewer and EPUB content.

When I talk about the _structure_ of the API, I mean that the API has three major structural components that allow users to:

* Listen for events and bind callbacks to them (Event API)
* Customize visual elements (Custom Style API)
* Call methods to interact with the EPUB viewer (Method API)

As I'll describe shortly, the structure of the API should - and is - designed to evolve as functionality, events, and customizability are added to the Readium.js feature set.

## Recent Changes
The previous version (0.0.1) of Readium.js implemented the method API, provided two events, and did not implement the Custom Style API. Version 0.0.2 of Readium.js now provides a more complete API structure. There have been major changes to the Event API and the Custom Style API has been added.

### Event API

Readium.js now provides a set of events that users can bind callbacks to, using the "on" method:

{% codeblock Event API lang:javascript %}
    readiumJs.on("atNextPage", function () {

        // Do something when the viewer has rendered the next page
        //  in the reading order
    }, this);

    readiumJs.on("atLastPage", function () {

        // Do something when the viewer has rendered the last page
        //  in the EPUB publication
    }, this);
{% endcodeblock %}

Check out the [API documentation](http://readium.github.io/Readium-Web-Components/get-started/api.html) for the set of events currently provided by different Readium.js modules.

My expectation is that as Readium.js evolves, more and more events can and will be provided. For example:

* Events that are triggered before and after Readium.js fetches EPUB content from the web
* Events for style changes etc.
* Events for specific content being displayed (images etc.)
* Many more..

Feedback on the types of events you'd like to see is encouraged (justinh@evidentpoint.com).

### Custom Style API

Readium.js now provides a method to set the visual characteristics of the EPUB viewer and content. This part of the API also provides a set of defaults that can be used out of the box. The "customize" method provides the mechanism for setting styles:

{% codeblock Custom Style API lang:javascript %}

    // Set a custom style with a default
    readiumJs.customize("page-border", "box-shadow");

    // Set a custom style with your own CSS
    readiumJs.customize("page-border", {
        "border-style" : "solid",
        "border-color" : "red",
        "border-width" : "10px"
    });

    // Chain custom styles
    readiumJs
        .customize("page-border", "box-shadow")
        .customize("spine-divider", "box-shadow")
        ...;

{% endcodeblock %}

Check out the [API documentation](http://readium.github.io/Readium-Web-Components/get-started/api.html) for the set of customizable elements and defaults provided by Readium.js modules. The customize method, like the "on" method, is implemented such that new custom styles can be added in the future, without disrupting current users of the API.

For example, page transitions and loading animations will likely be provided at some point:

{% codeblock add a page transition lang:javascript %}
    readiumJs
        .customize("page-transition", "slide")
        .customize("loading-animation", "spinning-wheel");
{% endcodeblock %}

## Evolution of the API

Now that the structure of the API has now been established, I think it's time to get some feedback on how the API should evolve. The project is very open to changes in the API at the moment. To get you started, I think there are a number of things to consider in this regard.

### Methods, events, custom style defaults
First, suggestions for additional methods and events are welcome. This is fairly straightforward. Also, if you have some design chops, helping out with some custom style defaults would be great.

### Experiment with the Custom Style API
The Custom Style API is fairly experimental at the moment. In particular, the API allows users to provide their own CSS to style specific elements in the viewer. While I feel fairly certain that providing a set of defaults is going to be useful, I'm not sure that the ability to set custom CSS will work.

There are few restrictions on the CSS that you can provide to the "customize" method, but I'm sure there are lot of ways to break the viewer. It may also be difficult for users to reason about their own custom styles, given that the elements they're styling in Readium.js are in somewhat of a black box.

That being said, it may make sense to drop the ability to provide custom CSS, provide a white-list or black-list of CSS that can be applied, or just leave it as a free-for-all. Once again, feedback would be greatly appreciated.

If you'd like to provide feedback of any kind, either email me<EMAIL_ADDRESS>or add an issue to the Github [issue tracker](https://github.com/readium/Readium-Web-Components/issues?state=open).

repository: justinHume/web-components-site

extension: markdown

repo_name: justinHume/web-components-site


text:
## Contribution Guidelines

* Follow the format: `[Author: **Title**](http://www.link.com) [duration] [language]`

Thank you for the suggestions!

license: MIT

repository: lsgoulart/js-talks

branch_name: refs/heads/master

extension: md

license_type: permissive

repo_name: lsgoulart/js-talks


text:
# pygame-core2d
Base game library for easy starting playing

A *definitive* way to start pygame to _2d games_

A declarative way to jump from configuration to fun with pygame

Start code:
```python
from core2d import Game, Player, Sprite, Enemy, Stage

class IntroStage(Stage):
    def setup(self):
        self.set_options({
            'background-color': (30, 70, 140)
        })

class EpicDungeon(Sprite):
    def setup(self, stage, enemies):
        self.enemies = SpaceEnemyFactory(enemies)

class GameStage(Stage):
     def setup(self):
        self.set_options({
            'background-color': (90, 170, 240)
        })
        self.spacePlayer = SpacePlayer(self._game)
        self.add_player(self.spacePlayer)
        self._dungeon = EpicDungeon(self, (SpaceBasiceEnemy))
        self.add_node(self._dungeon)

class GameOverStage(Stage):
    def setup(self):
        self.set_options({
            'background-color': (150, 210, 254)
        })

class SpaceGame(Game):
    def get_stages(self):
        return (
            IntroStage,
            GameStage,
            GameOverStage,
        )
```


text:
# 03 May 2023 Rollout Summaries

## arcade-services

|              Metric              |   Value  |  Target  |   Score   |
|:--------------------------------:|:--------:|:--------:|:---------:|
| Time to Rollout                  | 02:03:56 | 06:00:00 |     0     |
| Critical/blocking issues created |     0    |    0     |     0     |
| Hotfixes                         |     0    |    0     |     0     |
| Rollbacks                        |     0    |    0     |     0     |
| Service downtime                 | 00:00:00 | 00:00:00 |     0     |
| Failed to rollout                |   FALSE  |   FALSE  |     0     |
| Total                            |          |          |   **0**   |

## dotnet-helix-service

|              Metric              |   Value  |  Target  |   Score   |
|:--------------------------------:|:--------:|:--------:|:---------:|
| Time to Rollout                  | 03:59:25 | 06:00:00 |     0     |
| Critical/blocking issues created |     0    |    0     |     0     |
| Hotfixes                         |     0    |    0     |     0     |
| Rollbacks                        |     1    |    0     |     10     |
| Service downtime                 | 00:00:00 | 00:00:00 |     0     |
| Failed to rollout                |   TRUE  |   FALSE  |     50     |
| Total                            |          |          |   **60**   |

## dotnet-helix-machines

|              Metric              |   Value  |  Target  |   Score   |
|:--------------------------------:|:--------:|:--------:|:---------:|
| Time to Rollout                  | 04:21:50 | 06:00:00 |     0     |
| Critical/blocking issues created |     0    |    0     |     0     |
| Hotfixes                         |     0    |    0     |     0     |
| Rollbacks                        |     0    |    0     |     0     |
| Service downtime                 | 00:00:00 | 00:00:00 |     0     |
| Failed to rollout                |   FALSE  |   FALSE  |     0     |
| Total                            |          |          |   **0**   |

# Itemized Scorecard

## arcade-services

| Metric | [20230503.3](https://dev.azure.com/dnceng/7ea9116e-9fac-403d-b258-b31fcf1bb293/_build/results?buildId=2172754) |
|:-----:|:-----:|
| Time to Rollout | 02:03:56 |
| Critical/blocking issues created | 0 |
| Hotfixes | 0 |
| Rollbacks | 0 |
| Service downtime | 00:00:00 |

## dotnet-helix-service

| Metric | [2023050301](https://dev.azure.com/dnceng/7ea9116e-9fac-403d-b258-b31fcf1bb293/_build/results?buildId=2172779) | [2023050302](https://dev.azure.com/dnceng/7ea9116e-9fac-403d-b258-b31fcf1bb293/_build/results?buildId=2173059) |
|:-----:|:-----:|:-----:|
| Time to Rollout | 02:03:52 | 01:55:33 |
| Critical/blocking issues created | 0 | 0 |
| Hotfixes | 0 | 0 |
| Rollbacks | 0 | 1 |
| Service downtime | 00:00:00 | 00:00:00 |

## dotnet-helix-machines

| Metric | [20230503.02](https://dev.azure.com/dnceng/7ea9116e-9fac-403d-b258-b31fcf1bb293/_build/results?buildId=2172777) |
|:-----:|:-----:|
| Time to Rollout | 04:21:50 |
| Critical/blocking issues created | 0 |
| Hotfixes | 0 |
| Rollbacks | 0 |
| Service downtime | 00:00:00 |

repository: dotnet/arcade

branch_name: refs/heads/main

gha_language: C#

gha_license_id: MIT

repo_name: dotnet/arcade


text:
---
layout: post
title: Machine Learning Notes (2)
categories: [data science]
tags: [machine learning, Coursera]
description: Multiple variables linear regression using the gradient descent / feature scaling / several trick for the debugging

---
Having studied the univariable linear regression, we are going to extend the dimension from 1 to n. n is the number of the features that result in an output.

## Multiple variables
For a multivatiate linear regression, we take

\\[x =  \begin{vmatrix}
x_0 \\\
x_1 \\\
x_2 \\\
. \\\
. \\\
. \\\
x_n
\end{vmatrix} \quad \text{where } x_0=1 \\]

\\[\theta^T =  \begin{vmatrix}
\theta_0 &  \theta_1 & \theta_2 & ... & \theta_n
\end{vmatrix} \\]

The hypothesis function is

$$ h_{\theta}(x)=\theta^Tx $$

Given the cost function

\\[ J(\theta_0, \theta_1)=\frac{1}{2m}\sum\_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)}))^2 \\]

we could deduce the gradient descent

\\[
 \theta_j:=\theta_j-\alpha\frac{\partial J}{\partial \theta_j} = \theta_j-\alpha \frac{1}{m}\sum\_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})x_j^{(i)})
\\]

## Feature scaling
The goal of feature scaling is to make sure the features are on a similar scale. It could accelerate the convergence
**Mean normalization**

  \\[
  x_j:=\frac{x_j-\mu_j}{(max - min)}\quad \text{or}\quad  x_j:=\frac{x_j-\mu_j}{\sigma}
  \\]

## Tricks for the debugging
- To make sure the gradient descent working correctly, with an increasing number of iteration, the J should decrease
- Choose the learning rate 0.001 -> 0.003 -> 0.01 -> 0.03 -> 0.1 -> 0.3 -> 1
- Polynomial regression
  $$ h_{\theta}(x)=\theta_0+\theta_1x+\theta_2x^2=\theta_0+\theta_1x_1+\theta_2x_2 $$
  In this case, the feature scale becomes more important.
  However, the square function will finally decrease with a great x. To avoid that, we could choose another model

  $$ h_{\theta}(x)=\theta_0+\theta_1x+\theta_2\sqrt{x} $$


text:
# run-wasm

Run WASM based code executions in the browser easily

https://user-images.githubusercontent.com/22961671/134069014-7f9beba4-8e10-431a-92a3-6cc0bf35d811.mov

## Goal of the project

The goal of this project is to build an easy way to execute various programming languages in React via WebAssembly.

People should be able to use this project to embed executable code snippets on their websites easily!

We're building this as new component to be used inside the [Slip](https://www.slip.so) authoring tool.

## Development

After cloning to your local machine, you can run a few steps to work on this project.

Run `yarn` in the root directory.

Run `yarn build` in the root directory. This will build the `run-wasm` package in the `lib` folder and allow you to import it in the `example` project.

In the `example` project, run `yarn`

Run `yarn start`. You should see the component being at `localhost:3000`

repository: sureshdsk/run-wasm

repo_name: sureshdsk/run-wasm


text:
# Vim Commands that are helpful

## Insert Mode

### Copy Word in insert mode

    <C-x><C-p>

### Copy Line in insert mode

    <C-x><C-l>

### File completion

    <C-x><C-f>

## Normal Mode

**Jump to Definition in a javascript file**

    gd and gD

**Jump Back to previous area**

    go

**Specifies Split size**

    :10winc "+ - < >"

## Visual Mode

repository: chattes/Notes

repo_name: chattes/Notes


text:
# Intro to Docker
## Semana 3

## Docker Compose

### Required Docker software

Prepare for this workshop by following the [installation instructions](https://docs.docker.com/engine/installation/) for Docker Engine.

Make sure you can run the following commands, showing version numbers higher than or equal to the following:

```
$ docker --version
Docker version 17.03.0-ce, build 60ccb22

$ docker-compose --version
docker-compose version 1.11.2, build dfed245

$ docker-machine --version
docker-machine version 0.10.0, build 76ed2a6
```

### VirtualBox
> (En caso de no contar con linux nativo, o tener problemas con Docker en la plataforma de desarrollo)

Make sure you have [VirtualBox](https://www.virtualbox.org/) installed on your machine. Next, create a virtual machine that we can use to run Docker containers on by running the following command:

```
docker-machine create --driver virtualbox demo-server
```

To save resources, you can stop and start this machine any time you like by running

```
docker-machine stop demo-server

docker-machine start demo-server
```

gha_language: JavaScript


text:
---
layout: post
title:  "Leaky abstractions and Loneliness"
date:   2022-09-25 13:00:00 -0600
last_edited_on:   2022-09-25 20:00:00 -0600
categories: writing
tags: writing life love time existential-crisis introspection suffering loneliness
subtitle: "Relationship grows stronger wit leakier abstractions..."
comments: true
header-img: "img/post-headers/2022-09-25-abstraction-loneliness.png"
image: "img/post-headers/2022-09-25-abstraction-loneliness.png"
bigimg: "img/post-headers/2022-09-25-abstraction-loneliness.png"

---

![lonely monologue]({{site.baseurl}}/img/post-headers/2022-09-25-abstraction-loneliness.png){:class="paradox-center"}
*lonely monolgue*
<hr/>

---

Everyone sees an abstract version of the people they interact with daily. Not everyone can open that abstraction easily. And relationships get stronger if the abstraction keeps on getting leakier.

...But sometimes the people that know the raw/core version of you aren't around anymore. They know how you've changed and metamorphosed throughout the timely tests.

And I think that "not around anymore" gets to you so much so that your solitude mutates slowly into a lonely state. I used to believe that I could enjoy solitude (and being alone).

But as I grow older (28M here speaking), I realize that it's not the case anymore. Days become months. Months become seasons. Loneliness still persists.

Even in the social setting, where you interact with people on daily basis -- back to the point number (1) -- feels more tiresome.
You need some time to recharge yourself.
You are a lonely soul in midst of the crowd.
That's kinda sad.

This gets catalyzed strongly with a strong sense of existential angsts;
the existential crisis creeps on you.
Something that makes you feel that nothing in hindsight matters.
Nothing matters.
That life is inconsequential.
Nothing matters.

And the yearning for romanticism grows stronger. (Speaking from experience with my previous interactions of such kinds... :) ).

>*"Solitude is pleasant. Loneliness is not."* – as [[Anna Neagle]] puts it.

[coping mechanism]({{site.baseurl}}/writing/coping-mechanisms.html)

I believe a sense of strong [coping mechanism]({{site.baseurl}}/writing/coping-mechanisms.html) (an escapism) to all these feelings is to be more and more introspective. But what of it? introspection in hindsight has resulted in more miseries, especially during troubled times (in family specifically).

Life seems to a big **"suffering-optimization algorithm"**.
So, what are you suffering for? What am I suffering for?
How do I achieve inner peace?
Can I get into a more *"happy state"*?

---

### More absurd thought processes

- [You will never do anything remarkable](https://www.youtube.com/watch?v=vmIUvp0e1bw&t=61s)
- [Bits-and-Paradoxes-34: Coping mechanisms, Escapism](https://bitsandparadoxes.substack.com/p/bits-and-paradoxes-34)
- [Pursuit of wonder: The desire for sadness](https://www.youtube.com/watch?v=m7Y_R9BGyGA)
- [A guide to worrying](https://www.youtube.com/watch?v=k5RH3BdXDOY)
- [Linkin Park - Leave out all the rest](https://www.youtube.com/watch?v=yZIummTz9mM)

https://twitter.com/nishparadox/status/1574186625802051584

gha_language: HTML

gha_license_id: NOASSERTION


text:
# File

This provide a simple api to read and write files

[![Build Status](https://secure.travis-ci.org/desarrolla2/File.png)](http://travis-ci.org/desarrolla2/File) [![Latest Stable Version](https://poser.pugx.org/desarrolla2/file/v/stable.png)](https://packagist.org/packages/desarrolla2/file) [![Total Downloads](https://poser.pugx.org/desarrolla2/file/downloads.png)](https://packagist.org/packages/desarrolla2/file)

## Installation

### With Composer

It is best installed it through [packagist](http://packagist.org/packages/desarrolla2/file)
by including `desarrolla2/file` in your project composer.json require:

``` json
    "require": {
        // ...
        "desarrolla2/file":  "*"
    }
```

### Without Composer

You can also download it from [Github] (https://github.com/desarrolla2/File),  but no autoloader is provided so
you'll need to register it with your own PSR-4  compatible autoloader.

## Usage

``` php
<?php
require __DIR__ . '/../vendor/autoload.php';

use Desarrolla2\File\File;

// Simple api to write file

File::write($fileName,$data);

// Simple api to read file

File::read($fileName);

```

## Formats

Current supported formats are:

- File: raw data
- Json: encode arrays to json files.

## Contact

You can contact with me on [@desarrolla2](https://twitter.com/desarrolla2).

gha_language: PHP


text:
# Changelog

## Version 4.0.0 - 2021-10-22

- Removed apiKey from Credentials

## Version 3.0.0 - 2021-10-14

- Removed all support for batches. Use datasets instead.
- Added UpdateDocumentOptions to updateDocument
- Added datasetId, groundTruth and retentionInDays to UpdateDocumentOptions

## Version 2.0.0 - 2021-08-31

- Bugfixes for List and Delete Options
- Added argument datasetId to ListDocumentsOptions
- Added argument datasetId to DeleteDocumentsOptions
- Removed toList function from Options

## Version 1.2.0 - 2021-05-21

- Added createModel (POST /models)
- Added getModel (GET /models/:id)
- Added updateModel (PATCH /models/:id)
- Added updateBatch (PATCH /batches/:id)
- Added updateAppClient (PATCH /appClients/:id)

## Version 1.1.0 - 2021-05-04

- Added createAppClient (POST /appClients)
- Added listAppClients (GET /appClients)
- Added deleteAppClient (DELETE /appClients/:id)
- Added deleteAsset (DELETE /assets/:id)
- Added listBatches (GET /batches)
- Added deleteBatch (DELETE /batches/:id)
- Updated deleteDocuments (DELETE /documents) to use options including batchId, consentId, maxResults and nextToken
- Added listLogs (GET /logs)
- Added deleteSecret (DELETE /secrets/:id)
- Updated CreateTransitionOptions to use dedicated types for DockerTransitionParameters and ManualTransitionParameters
- Added completedConfig to CreateWorkflowOptions
- Updated CreateWorkflowOptions to use dedicated types for WorkflowErrorConfig and WorkflowCompletedConfig

repository: LucidtechAI/las-sdk-java

gha_language: Java

repo_name: LucidtechAI/las-sdk-java


text:
# Changelog

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

### [6.3.1](https://github.com/medikoo/log/compare/v6.3.0...v6.3.1) (2021-10-08)

### Bug Fixes

- Ensure emitter is also shared across different instances ([3a315ac](https://github.com/medikoo/log/commit/3a315ac37a3aa95b0e9fb558b0cbbad4c97188b5)), closes [#11](https://github.com/medikoo/log/issues/11)

## [6.3.0](https://github.com/medikoo/log/compare/v6.2.0...v6.3.0) (2021-10-06)

### Features

- Ensure mutlitple package instances share same master logger ([685ec84](https://github.com/medikoo/log/commit/685ec84823bb423aea1097e32194502b2fafb423)), closes [#11](https://github.com/medikoo/log/issues/11)

## [6.2.0](https://github.com/medikoo/log/compare/v6.1.0...v6.2.0) (2021-09-10)

### Features

- **Log:** Allow to inject undecorated new lines ([140ddfe](https://github.com/medikoo/log/commit/140ddfe42446eec75727c5ca0cdf68eae29838ea))

### Maintenance Improvements

- Bump dependencies ([4415866](https://github.com/medikoo/log/commit/4415866b43ff5ffadfbcea0b8d87f923d075d1a9))

## [6.1.0](https://github.com/medikoo/log/compare/v6.0.0...v6.1.0) (2021-09-02)

### Features

- **Writer:** Allow to customize logger applicability ([8d2a4e6](https://github.com/medikoo/log/commit/8d2a4e65b7ef32df2b401a894e6c2eb85ee96f13))

### Maintenance Improvements

- Upgrade `ncjsm` to v4 ([44f1f9a](https://github.com/medikoo/log/commit/44f1f9adca909009796506614420d69c52dbcf02))
- Upgrade `type` to v2 ([e3d4aae](https://github.com/medikoo/log/commit/e3d4aaec4756b78fc678635dd5ec6f47c8d65c68))

# [6.0.0](https://github.com/medikoo/log/compare/v5.1.0...v6.0.0) (2019-04-10)

### Features

- rename lib/writer to lib/abstract-writer ([60388cb](https://github.com/medikoo/log/commit/60388cb))
- replace registerMaster with getMasterWriter ([432b73e](https://github.com/medikoo/log/commit/432b73e))

### BREAKING CHANGES

- lib/register-master was removed in favor of
  lib/get-master-writer
  Writer should be registered using 'register' function
  as returned by get-master-writer
- Writer base class was moved from lib/writer to lib/abstract-writer

# [5.1.0](https://github.com/medikoo/log/compare/v5.0.0...v5.1.0) (2019-04-08)

### Features

- lib/writer ([7cd4bf1](https://github.com/medikoo/log/commit/7cd4bf1))

# [5.0.0](https://github.com/medikoo/log/compare/v4.0.1...v5.0.0) (2019-03-19)

### Features

- reverse levels order ([d13c91e](https://github.com/medikoo/log/commit/d13c91e)), closes [#12](https://github.com/medikoo/log/issues/12)

### BREAKING CHANGES

- Level indexes were reversed to match RFC 5424.
  Now `error` level has `0` index , and `debug` `4`

## [4.0.1](https://github.com/medikoo/log/compare/v4.0.0...v4.0.1) (2019-03-18)

# [4.0.0](https://github.com/medikoo/log/compare/v3.2.0...v4.0.0) (2019-03-18)

### Code Refactoring

- move writer-utils to lib ([429aec5](https://github.com/medikoo/log/commit/429aec5))

### Features

- LOG_TIME recommendation and utils ([6af9400](https://github.com/medikoo/log/commit/6af9400)), closes [#9](https://github.com/medikoo/log/issues/9)
- make 'info' level default ([4a1fa53](https://github.com/medikoo/log/commit/4a1fa53))
- not applicable syslog levels ([57c879a](https://github.com/medikoo/log/commit/57c879a))
- upgrade linter ([eba6bb4](https://github.com/medikoo/log/commit/eba6bb4))

### BREAKING CHANGES

- 'critical', 'alert' and 'emergency' levels were dropped as seem to
  not serve a use case in context of JS apps
- Default level was changed from 'debug' to 'info'
- Or writer-utils were moved to lib

# [3.2.0](https://github.com/medikoo/log/compare/v3.1.0...v3.2.0) (2018-11-29)

### Features

- rename log4 to log ([84cd31a](https://github.com/medikoo/log/commit/84cd31a))

# [3.1.0](https://github.com/medikoo/log4/compare/v3.0.1...v3.1.0) (2018-09-21)

### Features

- support default namespace concept ([3c99624](https://github.com/medikoo/log4/commit/3c99624))
- validate namespace token when setting as default ([62862c1](https://github.com/medikoo/log4/commit/62862c1))

## [3.0.1](https://github.com/medikoo/log4/compare/v3.0.0...v3.0.1) (2018-06-01)

### Bug Fixes

- put default level threshold to notice ([e994285](https://github.com/medikoo/log4/commit/e994285))

# [3.0.0](https://github.com/medikoo/log4/compare/v2.0.0...v3.0.0) (2018-06-01)

### BREAKING CHANGES

- Predefined levels are no longer accessible at `logger.predefinedLevels` property.
  Instead they should be required from `log4/levels`
- For simplicity and to avoid compliance issues,
  only predefined levels are allowed (it's no
  longer possible to create custom named levels)
- `enable()` and `disable()` methods no logger return own logger.
  Instead they return plain object with `restore` function, that allows to restore to previous state
- `getNs` method has been renamed to
  `get`
- `ns` property has been renamed to
  `namespace`
- `nsTokens` property has been renamed to
  `namespaceTokens`
- Emitter is not longer accessible at logger.emiter
  Instead it should be required from `log4/emitter`
- `getAllLevels` method has been renamed to
  `getAllInitializedLevels`
- `hasLevel` method has been renamed to
  `isLevelInitialized`
- `hasNs` method has been renamed to
  `isNamespaceInitialized`
- New setupVisibility accepts:

  - `levelThreshold` - on its basis it's decided logs for which levels are
    enabled by default

  - `debugNamespaceToken` - List of namespaces to be exposed for
    levels below threshold

- `getLevel` method was removed. Use direct property names:
  `log.error` instead of `log.getLevel("error")`
- `getAllNs` method has been renamed to
  `getAllInitializedNamespaces`

### Features

- Default symbols to represent levels ([dc2487b](https://github.com/medikoo/log4/commit/dc2487b))
- Expose levelIndex on level ([aa480ee](https://github.com/medikoo/log4/commit/aa480ee))
- Introduce `logger.levelRoot` property ([d1b61c1](https://github.com/medikoo/log4/commit/d1b61c1))
- `isLogger` and `ensureLogger` utils ([30d7ab6](https://github.com/medikoo/log4/commit/30d7ab6))
- `registerMaster` log writer util ([7a36ad8](https://github.com/medikoo/log4/commit/7a36ad8))

# [2.0.0](https://github.com/medikoo/log4/compare/v1.2.0...v2.0.0) (2018-03-22)

### Features

- remove date from log event ([7f2903a](https://github.com/medikoo/log4/commit/7f2903a))
- remove node env handler ([20450ad](https://github.com/medikoo/log4/commit/20450ad))
- remove obsolete event emit ([9499b37](https://github.com/medikoo/log4/commit/9499b37))

* feat: emit events also if logger disabled ([6eb338d](https://github.com/medikoo/log4/commit/6eb338d))

### BREAKING CHANGES

- logs for disabled loggers will also be emitted.
  Handler should check `logger.enabled` to confirm on whether
  intetion is to have log visible
- remove 'event.date` property
- log:before event was removed
- Node env handler was moved to outer package,
  it'll have to be initialized as:

require('log4-node')

# [1.2.0](https://github.com/medikoo/log4/compare/v1.1.0...v1.2.0) (2017-09-22)

### Features

- allow direct setting of isEnabled ([1245e21](https://github.com/medikoo/log4/commit/1245e21))
- **filter:** support nested catch all ([93f390c](https://github.com/medikoo/log4/commit/93f390c))

# [1.1.0](https://github.com/medikoo/log4/compare/v1.0.0...v1.1.0) (2017-09-07)

### Features

- expose 'warn' alias as predefined property ([e8bf927](https://github.com/medikoo/log4/commit/e8bf927))

# 1.0.0 (2017-09-07)

### Bug Fixes

- take back exposure of nsChildren ([1784c1a](https://github.com/medikoo/log4/commit/1784c1a))

### Features

- do not force sort on getAllLevels ([8489362](https://github.com/medikoo/log4/commit/8489362))
- ensure emitted messageTokens are array ([28bea04](https://github.com/medikoo/log4/commit/28bea04))
- ensure enable/disable return target logger ([76228c0](https://github.com/medikoo/log4/commit/76228c0))
- expose array of predefined levels ([354db58](https://github.com/medikoo/log4/commit/354db58))
- expose levels at named properties ([91ab1c4](https://github.com/medikoo/log4/commit/91ab1c4))
- getLevels method ([8f36cfe](https://github.com/medikoo/log4/commit/8f36cfe))
- introduce getAllNs method ([e7eabee](https://github.com/medikoo/log4/commit/e7eabee))
- introduce hasLevel and hasNs ([2887a80](https://github.com/medikoo/log4/commit/2887a80))
- make \_children public as nsChildren ([0729be7](https://github.com/medikoo/log4/commit/0729be7))
- node.js env logger ([2582afe](https://github.com/medikoo/log4/commit/2582afe))
- predefined log levels ([ad23c30](https://github.com/medikoo/log4/commit/ad23c30))
- replace getLevels with getAllLevels ([03478fc](https://github.com/medikoo/log4/commit/03478fc))
- setupEnv functionality ([a873045](https://github.com/medikoo/log4/commit/a873045))
- tolerate whitespace noise in visibility conf ([14953be](https://github.com/medikoo/log4/commit/14953be))

license: MIT,ISC

detected_licenses: MIT ISC


text:
# First-Repo-Misc

Unsurprisingly, my first 'misc' Repo. There will be tests.
So.. yeah.

Notes:
HyperText Markup Language (html) is a standard on the internet, hypertext is text that links to other text.
Github uses GitHub Flavored Markdown (GML - https://help.github.com/articles/github-flavored-markdown/ ), a modified version of Standard Markdown.
```java
// This is a code syntax test
  System.out.printline("Hello World!");

```

repository: Tzukiyo/First-Repo-Misc

repo_name: Tzukiyo/First-Repo-Misc


text:
---
layout: post
title: Twine 2 - introduction
subtitle: An introduction to Twine 2
tags:
  - Twine
  - Harlowe
  - Snowman
  - Sugarcube
  - tutorials
published: true
---
Twine is an open-source tool for creating interactive, nonlinear fiction.

Twine does not need any code to create a story, but it is very flexible. With Twine, authors can turn stories into games using variables, conditional logic, images, CSS, and JavaScript. It works really well for prototipying too.

Thanks to its gentle learning curve, Twine makes development accessible.

Twine saves stories as html files that work in a browser, and it is easy for authors and developers to share their work with the World.

Before


text:
# Automated Popular Pre-Launch Experiment (A.P.P.L.E.)

DESCRIPTION

A small mod to eleviate some of the more monotonous tasks in KSP:

- auto turn on SAS for vessels that you usually turn it on for
- auto setting of lower/left UI to maneuver node mode to see ap/pe info rather than attitude
- auto apply brakes to rovers and planes so stop them rolling away on start
- auto toggle active vessel lights depending on whether it is light or dark
- auto toggle Kerbal helmet lights depending on whether it is light or dark
- auto toggle Kerbal visor (up/down) depending on whether it is light or dark
- auto remove/add Kerbal helmet if safe to remove / unsafe to be off
- auto SAS mode to "Node" when you create a maneauver node
- auto landing gear deployment/retraction; altitudes vary per vessel type
- warp lead time changed from 30 secs to 10 secs

NOTES

- Options are configurable to be on/off in the Game Settings menu should you not require certain options
- Vessel lights currently only trigger when vessel is active, to save resources.

LICENCE

MIT Licence


text:
---
hrs_structure:
  division: '1'
  volume: '5'
  title: '18'
  chapter: 302A
  section: 302A-1136
type: hrs_section
tags:
  - Government
menu:
  hrs:
    identifier: HRS_0302A-1136
    parent: HRS0302A
    name: 302A-1136 Enforcement
weight: 64985
title: Enforcement
full_title: 302A-1136 Enforcement
---
**[§302A-1136] Enforcement.** The department shall be charged with the enforcement of sections 302A-1132 to 302A-1135\. Nothing in this section shall relieve any chief of police or police officer of the chief's or officer's responsibility for the enforcement of these sections, but their enforcement shall be subject to the plans and policies of the department. [L 1996, c 89, pt of §2]

repository: SamMade/BlueAndKrabby

repo_name: SamMade/BlueAndKrabby


text:
# Live Reload

One option that can boost productivity when building Ionic apps is **Live Reload** (or **live-reload**). When active, Live Reload will reload the browser or [Web View](../core-concepts/webview.md) when changes in the app are detected. This is particularly useful for developing using hardware devices.

## Terms

Live Reload is a conflated term. With `ionic serve`, Live Reload just refers to reloading the browser when changes are made. Live Reload can also be used with Capacitor and Cordova to provide the same experience on virtual and hardware devices, which eliminates the need for re-deploying a native binary.

## Usage

Since live-reload requires the Web View to load your app from a URL hosted by your computer instead of just reading files on the device, setting up live-reload for hardware devices can be tricky.

As with regular device deploys, you will need a cable to connect your device to your computer. The difference is the Ionic CLI configures the Web View to load your app from the dev server on your computer.

### Capacitor

To use Live Reload with Capacitor, make sure you're either using a virtual device or a hardware device connected to the same Wi-Fi network as your computer. Then, you'll need to specify that you want to use an external address for the dev server using the `--external` flag.

```shell
$ ionic capacitor run ios -l --external
$ ionic capacitor run android -l --external
```

:::note
Remember, with the `--external` option, others on your Wi-Fi network will be able to access your app.
:::

### Cordova

#### Android

For Android devices, the Ionic CLI will automatically forward the dev server port. This means you can use a `localhost` address and it will refer to your computer when loaded in the Web View, not the device.

The following all-in-one command will start a live-reload server on `localhost` and deploy the app to an Android device using Cordova:

```shell
ionic cordova run android -l
```

#### iOS

For iOS devices, port forwarding is not yet an option. This means you'll need to connect your device to the same Wi-Fi network as your computer and use an external address for the dev server.

:::note
You can track [this issue](https://github.com/ionic-team/native-run/issues/20) for progress on iOS port forwarding with Ionic.
:::

In some cases, the Ionic CLI won't know the address with which to configure the Web View, so you may be prompted to select one. Be sure to select the address of your computer on your Wi-Fi network.

The following all-in-one command will start a live-reload server on **all addresses** and deploy the app to an iOS device using Cordova:

```shell
ionic cordova run ios -l --external
```

:::note
Remember, with the `--external` option, others on your Wi-Fi network will be able to access your app.
:::

## Tips

- With Cordova, use the `--device`, `--emulator`, and `--target` options to narrow down target devices. Use the `--list` option to list all targets. See usage in the [command docs](commands/cordova-run.md).
- You can separate the dev server process and the deploy process by using `ionic serve` and the `--livereload-url` option of `ionic cordova run` or `ionic capacitor run`.
- For Android, it is possible to configure [adb](https://developer.android.com/studio/command-line/adb) to always forward ports while the adb server is running (see `adb reverse`). With port forwarding set up, an external address would no longer be required. You can also setup the adb bridge over TCP such that subsequent deploys no longer need a USB cable.

repository: ionic-team/ionic-docs

repo_name: ionic-team/ionic-docs


text:
# SAPUI5 Runtime
A package which downloads the official SAPUI5 runtime from [https://tools.hana.ondemand.com/](https://tools.hana.ondemand.com/#sapui5) for local development.

## Installation
By using this npm package you agree to the EULA from SAP: [https://tools.hana.ondemand.com/developer-license-3_1.txt/](https://tools.hana.ondemand.com/developer-license-3_1.txt/)
```bash
npm install -D sapui5-runtime
```
or
```bash
yarn add -D sapui5-runtime
```
This will download and unzip the latest SAPUI5 runtime.

### Proxy support
It is possible to use this package behind a proxy by setting the environment variables `HTTP_PROXY` and `HTTPS_PROXY`.

###### Linux / macOS
```bash
export HTTP_PROXY http://hostname:port
export HTTPS_PROXY https://hostname:port
```

###### Windows
```bash
set HTTP_PROXY=http://hostname:port
set HTTPS_PROXY=https://hostname:port
```

> It is also possible to use proxy servers which require authentication: https://username:password@hostname:port

### Installing a specific version
In case you need a specific version of SAPUI5 you can specify it in your `package.json`.
Add the following line to your `package.json`:
```json
"sapui5-runtime": {
  "version": "X.Y.Z"
}
```
You need to replace `X.Y.Z` with a valid version from [https://tools.hana.ondemand.com/](https://tools.hana.ondemand.com/#sapui5).

**If you already added sapui5-runtime to your dependencies** you need to run `npm rebuild` after setting a specified version. If you added this setting to your `package.json` **before** installing the package, you can just install sapui5-runtime as usual.

## Get started
After a successful installation you can use a server to serve the runtime as static files.

### [Express](https://github.com/expressjs/express) example
```javascript
const express = require('express')
const sapui5 = require('sapui5-runtime')
const app = express()

app.use('/resources', express.static(sapui5))

app.listen(3000)
```

### [Hapi](https://github.com/hapijs/hapi) example
```javascript
const Hapi = require('hapi')
const inert = require('inert')
const sapui5 = require('sapui5-runtime')

const server = Hapi.server({
    port: 3000,
    host: 'localhost'
})

const init = async () => {
    await server.register(inert)
    server.route({
        method: 'GET',
        path: '/resources/{param*}',
        handler: {
            directory: {
                path: sapui5
            }
        }
    });
    await server.start()
}

init()
```

### [UI5 Tooling](https://github.com/SAP/ui5-tooling/) example
Add the custom UI5 middleware to serve static resources:
```bash
npm install -D ui5-middleware-servestatic
```
or
```bash
yarn add -D ui5-middleware-servestatic
```

Add the UI5 dependency declaration to `package.json`:
```json
"ui5": {
  "dependencies": [
    "ui5-middleware-servestatic"
  ]
}
```

Add the custom middleware configuration to `ui5.yaml`
```yaml
server:
  customMiddleware:
  - name: ui5-middleware-servestatic
    afterMiddleware: compression
    mountPath: /resources
    configuration:
      rootPath: "./node_modules/sapui5-runtime/lib/resources"
```

### [Grunt OpenUI5](https://github.com/SAP/grunt-openui5) example
```javascript
const sapui5 = require('sapui5-runtime')

module.exports = function (grunt) {
  grunt.initConfig({
    connect: {
      options: {
        port: 3000,
        hostname: '*'
      },
      src: {},
      dist: {}
    },
    openui5_connect: {
      options: {
        resources: [sapui5],
        cors: {
          origin: '*'
        }
      },
      src: {
        options: {
          appresources: 'webapp'
        }
      },
      dist: {
        options: {
          appresources: 'dist'
        }
      }
    },
    openui5_preload: {
      component: {
        options: {
          resources: {
            cwd: 'webapp',
            prefix: 'sap/ui/demo/todo',
            src: [
              '**/*.js',
              '**/*.fragment.html',
              '**/*.fragment.json',
              '**/*.fragment.xml',
              '**/*.view.html',
              '**/*.view.json',
              '**/*.view.xml',
              '**/*.properties',
              'manifest.json',
              '!test/**'
            ]
          },
          dest: 'dist'
        },
        components: true
      }
    },
    clean: {
      dist: 'dist',
    },
    copy: {
      dist: {
        files: [{
          expand: true,
          cwd: 'webapp',
          src: [
            '**',
            '!test/**'
          ],
          dest: 'dist'
        }]
      }
    },
  })

  grunt.loadNpmTasks('grunt-contrib-connect')
  grunt.loadNpmTasks('grunt-contrib-clean')
  grunt.loadNpmTasks('grunt-contrib-copy')
  grunt.loadNpmTasks('grunt-openui5')

  grunt.registerTask('serve', function (target) {
    grunt.task.run('openui5_connect:' + (target || 'src') + ':keepalive')
  })
  grunt.registerTask('build', ['clean:dist', 'openui5_preload', 'copy'])
  grunt.registerTask('default', ['serve'])
}
```

## Contribution
I'm happy to accept Pull Requests! Please note that this project is released with a [Contributor Code of Conduct](https://github.com/bastilimbach/sapui5-downloader/blob/master/CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.

## Credits
This project was heavily inspired by [openui5.runtime.downloader](https://github.com/maugenst/openui5.runtime.downloader) by [Marius Augenstein](https://github.com/maugenst).

## License
[MIT](https://github.com/bastilimbach/sapui5-downloader/blob/master/packages/sapui5-runtime/LICENSE) :heart:


text:
---
# Documentation: https://sourcethemes.com/academic/docs/managing-content/

title: "GOES-R Series Multilingual Training Resources"
subtitle: ""
summary: ""
authors: ["admin"]
tags: ["GOES-R", "Outreach"]
categories: ["Projects"]
date: 2019-06-02T22:20:25-03:00
lastmod: 2019-06-02T22:20:25-03:00
featured: false
draft: false

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

# Projects (optional).
#   Associate this post with one or more of your projects.
#   Simply enter your project's folder or file name without extension.
#   E.g. `projects = ["internal-project"]` references `content/project/deep-learning/index.md`.
#   Otherwise, set `projects = []`.
projects: []
---

This site provides training materials for GOES-R series satellites in multiple languages, including [Portuguese](https://www.meted.ucar.edu/satmet/goes_resources/index_pt.html), which I help to translate. Requires a [MetEd](https://www.meted.ucar.edu/index.php) account to access.

repository: cclopes/academic-kickstart

repo_name: cclopes/academic-kickstart


text:
# SmartConnect-PCB
This contains the Gerber and Altium files for the SmartConnect PCB for attaching a Smart.IO module to a ST-Nucleo board

For more information on Smart.IO, see here: https://imagecraft.com/smartio/
SmartConnect is a low cost PCB that connects a Smart.IO module to a ST-Nucleo. These are the Gerber files for making your own.

repository: richardman/SmartConnect-PCB

repo_name: richardman/SmartConnect-PCB


text:
# Tighten Lint for VSCode

A VScode linter for [Tighten Lint](https://github.com/tightenco/tlint)

![Example](./images/sample.png "Example")

## Installation

* `CTRL` + `SHIFT` + `X` (`View: show extensions`)
* Search for tighten lint and click install

## Features

* Customisable linter severities
* Customise executed linters
* Supports tlint.json configuration file

## Requirements

You must install the linter executable as per the [tlint](https://github.com/tightenco/tlint#install-requires-php71) install instructions. The minimum supported version is [v3.0.12](https://github.com/tightenco/tlint/releases/tag/v3.0.12)

## Extension Settings

| setting                        | default | description                                                                                |
|--------------------------------|---------|-------------------------------------------------------------------------------------------------------|
| `tighten-lint.exec`            | `tlint` | The `tlint` executable path                                                                           |
| `tighten-lint.defaultSeverity` | `error` | The default violation severity (error, warning, info, hint)                                           |
| `tighten-lint.severities`      | `{}`    | Override default severity for specific [linter](https://github.com/tightenco/tlint#available-linters) |
| `tighten-lint.only`            | `[]`    | A list of the specific linters to run                                                                 |

### Example Configuration

```json
"tighten-lint.exec": "/usr/bin/tlint",
    "tighten-lint.defaultSeverity": "warning",
    "tighten-lint.only": [
        "AlphabeticalImports",
        "NoInlineVarDocs",
        "ImportFacades"
    ],
    "tighten-lint.severities": {
        "NoInlineVarDocs": "info"
    },
```

### tlintUsing a configuration file

If you wish to use a [configuration file](https://github.com/tightenco/tlint#configuration) you should place the `tlint.json` file in the root of your project folder in the required format e.g.

![Explorer](./images/explorer.png "Explorer")

The extension will then use this configuration when linting in combination with the other settings.

## Known Limitations

* Linting is limited to local files and will not work on uri schemes other the `file` e.g. `ssh`

## Contributing

See the [contributing](CONTRIBUTING.md) guide and [Code of Conduct](CODE_OF_CONDUCT.md)

gha_language: TypeScript


text:
# Chainlink Defi Pulse Index Adapter

The adapter combines real-time DPI allocation data from on-chain with off-chain price sources in order to calculate an accurate price for the DPI.
## NOTICE

As explained before, this adapter makes use of some onchain data. The current implementation is fetching data directly from SetToken contracts (https://etherscan.io/address/0x78733fa5e70e3ab61dc49d93921b289e4b667093#code). Note that this implementation won't work in other networks unless we deploy a copy of the contract.

The correct implementation should use SetProtocol.js typed library instead to fetch data directly from the SetToken contract directly.
The ChainlinkAdapter.getAllocations(ISetToken _setToken) should be reimplemented in JS in order to use it.

[Go to current Implementation](./src/index-allocations/index.ts)

## Configuration

The adapter takes the following environment variables:

- `RPC_URL`: Blockchain RPC endpoint to get the needed on-chain data
- `DATA_PROVIDER`: Data provider to use. Options (Notes):
  - amberdata (Doesn't support crypto quotes)
  - coinapi
  - coingecko
  - coinmarketcap
  - coinpaprika
  - cryptocompare
  - kaiko
  - nomics
- `API_KEY`: For those data providers who need an api key
- `DEFAULT_QUOTE` (Optional): Currency that the price will be fetched by default. `USD` used by default

## Input Params

- `address`: Address of the SetToken (required)
- `adapter`: Address of the adapter contract (required)
- `name`: Index Name (optional)
- `asset`: Asset name (optional)
- `quote` (optional). Currency we want the price on. `DEFAULT_QUOTE` by default

## Output
```json
{
  "jobRunID": "1",
  "data": {
    "sources": [],
    "payload": {
      "YFI": {
        "quote": {
          "USD": {
            "price": "30728.51152684"
          }
        }
      },
      "COMP": {
        "quote": {
          "USD": {
            "price": "198.21970609"
          }
        }
      },
      "SNX": {
        "quote": {
          "USD": {
            "price": "13.51407837"
          }
        }
      },
      "MKR": {
        "quote": {
          "USD": {
            "price": "1226.46551940"
          }
        }
      },
      "REN": {
        "quote": {
          "USD": {
            "price": "0.64199191"
          }
        }
      },
      "KNC": {
        "quote": {
          "USD": {
            "price": "1.35595208"
          }
        }
      },
      "LRC": {
        "quote": {
          "USD": {
            "price": "0.38664748"
          }
        }
      },
      "BAL": {
        "quote": {
          "USD": {
            "price": "19.04491399"
          }
        }
      },
      "UNI": {
        "quote": {
          "USD": {
            "price": "8.19034913"
          }
        }
      },
      "AAVE": {
        "quote": {
          "USD": {
            "price": "183.52498799"
          }
        }
      }
    },
    "result":<PHONE_NUMBER>23407
  },
  "result":<PHONE_NUMBER>23407,
  "statusCode": 200
}
```


text:
# mongo-swift

## About

mongo-swift is a client library written in Swift for MongoDB, using the [mongodb/mongo-c-driver](https://github.com/mongodb/mongo-c-driver) code as a basis.

It therefore has the same dependencies as `mongodb/mongo-c-driver`.

repository: bbqsrc/mongo-swift

repo_name: bbqsrc/mongo-swift


text:
Using the Dynamic Routing ALgorithm proposed in the paper as is:
![Using the Dynamic Routing ALgorithm proposed in the paper as is:](https://github.com/Utkarsh87/Capsule-Networks/blob/master/mnist/images/Dynamic%20Routing.PNG)

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Current progress:

|Version| Conv layers before primary caps | Kernels | Kernel sizes | Epochs | Routing iterations | Val accuracy | Val loss | Changes | Comments |
| ------------- | ------------- | ------------- | ------------- | ------------- | ------------- | ------------- | ------------- | ------------- | ------------- |
| 1.0.1  | 1  |  256 |  9  |  10  |  3   |  99.33%   |  0.0076  | - | first result |
| 1.0.2  | 2  |  256 |  9  |  15  |  3   |  99.42%   |  0.0052  | increased conv layer before primary caps | not much help, not the motive |
| 1.0.3  | 1  |  256 |  9  |  10  |  3   |  99.24%   |  0.0081  | increased digit caps dimensions(16->32) | training time almost 2x, good trend, promising |

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Model architecture in use(version 1.0.1):
![Model architecture in use:](https://github.com/Utkarsh87/Capsule-Networks/blob/master/mnist/images/model1.png)

repository: asmital/Capsule-Networks

repo_name: asmital/Capsule-Networks


text:
# patatap-clone
A fun Web App where you can hit keys on your keyboard, and each key corresponds to a sound that is played along with a little animation.

## Installation
This project requires [Yarn](https://yarnpkg.com/en/).

After you've installed Yarn, you need to run
`yarn install`

repository: iAlgebra/patatap-clone

repo_name: iAlgebra/patatap-clone


text:
---
morea_id: reading-text-1
morea_type: reading
title: "Text: Ch. 1, The Mental Landscape"
published: True
morea_start_date: "2016-08-25T00:00:00"
morea_summary: "Introduction to Computers, Languages and Java"
morea_labels:
  - "Textbook"
---

### Text: Ch. 1, The Mental Landscape

Read Chapter 1, The Mental Landscape of [Introduction to Programming Using Java, Seventh Edition]({{ site.baseurl }}/javanotes7.0.1-web-site/c1/index.html)

**1.1 Machine Language**

**1.2 Asynchronous Events**

**1.3 The Java Virtual Machine**

**1.4 Building Blocks of Programs**

**1.5 Object-oriented Programming**

**1.6 The Modern User Interface**

**1.7 The Internet and Beyond**

repository: cammoore/MoreaNextSemester

repo_name: cammoore/MoreaNextSemester


text:
## Intro

### Namespace

You can run this in a `development` namespace. But, to do that you must create the namespace.

```bash
cd minikube_common_commands/namespace
kubectl apply -f develop.json

```

Switch to the namespace, or make sure you're in the correct namespace.

```bash
kubens development
```

You'll also need to make sure secrets are active in the `development` namespace.

```bash
kubectl create secret docker-registry gcr-json-key \
--docker-server=us.gcr.io \
--docker-username=_json_key \
--docker-password="$(cat ~/.pullK/mchirico-gcrpull2.json)" \
<EMAIL_ADDRESS>

```

```bash
kubectl patch serviceaccount default \
-p '{"imagePullSecrets": [{"name": "gcr-json-key"}]}'
```

### Deployment

In the directory `minikube_common_commands/docker/grpc`

```bash
kubectl apply -f deployment-development.json

```

### Port forward

```bash
kubectl -n development port-forward grpc-server-8ddcc8c67-bcfm6 8087:8082
```

### Test

```bash
curl -X POST \
   http://localhost:8087/rpc \
   -H 'cache-control: no-cache' \
   -H 'content-type: application/json' \
   -d '{
   "method": "JSONServer.GiveBookDetail",
   "params": [{
   "Id": "1234"
   }],
   "id": "1"
}'

```

You should get back the following:

```bash
{"result":{"Id":"1234","Name":"In the sunburned country","Author":"Bill Bryson"},"error":null,"id":"1"}
```


text:
# D2 Trade Tools - Logger

Currently you must modify your bot application to log the items it keeps to a log file. That file must conform to this format:

```
{"timestamp": 9999, "details": "Item 1|Item Description||Attribute 1|Attribute 2|Attribute 3"}
{"timestamp": 9999, "details": "Item 2|Item Description||Attribute 1|Attribute 2|Attribute 3"}
```

Example:

```
{"timestamp":<PHONE_NUMBER>957, "details": "#c8Gul Rune#c0|Can be Inserted into Socketed Items||Weapons: 20% Bonus to Attack Rating|Armor: +5% to Maximum Poison Resist|Helms: +5% to Maximum Poison Resist|Shields: +5% to Maximum Poison Resist|#c0|Required Level: 53"}
{"timestamp":<PHONE_NUMBER>873, "details": "#c3Kenshi's Circlet of Speed#c0|Defense: 30#c0|Durability: 20 of 35#c0|Required Level: 45#c3|+3 to Martial Arts (Assassin Only)|+30% Faster Run/Walk"}
```

Here is a script that has been successfully placed into the D2NT `NTTown.ntl` file, right before the `NTC_ItemToCursor` call.

```
var _hfile;

_hfile = FileOpen("log.txt", 2);

if(_hfile)
{
	var _log = new Array();

	while(line = _hfile.ReadLine())
		_log.push(line);

	_hfile.Close();

	_hfile = FileOpen("log.txt", 1);

	if(_hfile)
	{
		var _entry = '';

		var _desc = _items[i].itemdesc.split("\n").reverse();

		while(_desc.length > 1 && _entry.length < 400)
		{
			_entry += _desc.pop() + "|";
		}

		_entry += _desc.pop();

		_log.push('{"timestamp": ' + new Date().getTime() + ', "details": "' + _entry.replace(/ÿ/g, "#") + '"}');

		_log = _log.slice(_log.length - 20);

		for(var j = 0, k = _log.length; j < k; ++j)
			_hfile.WriteLine(_log[j]);

		_hfile.Close();
	}
}
```


text:
---
title: Introducing Jordan Peterson
layout: post
share: true
header:
      image: http://www.keithbuhler.com/images/banner-buhler-report.svg
share: true
comments: true
tags: [politics]
categories: [Politics]
excerpt_separator: <!--more-->
permalink: /jbp
---

![header](https://spectator.imgix.net/content/uploads/2018/01/jordanpeterson.jpg?auto=compress,enhance,format&crop=faces,entropy,edges&fit=crop&w=820&h=550)

If you're just hearing about JBP, don't let anyone define him into a box for you, too quickly. Get to know him.

His critics like to use their one (and only?) trusty tool of slander and guilt-by-association.

In reality, Peterson is a clinical and academic psychologist. He has spent years in clinical practice and published widely influential research on religion, mythology, and psychology.

More recently (as in 2-3 years ago), he became YouTube content creator and political commentator.

I've been enjoying Peterson's YouTube content for a while now. There's a lot of it, far more than I have seen. He's more than just a pundit on sexual politics. For example, [he explains why your path to enlightenment goes down through the darkest parts of you, the places you least want to see, acknowledge, and tackle.](https://www.youtube.com/watch?v=fesSvXKxYd0&feature=youtu.be)

Some other JBP to explore:

- [His website](https://jordanbpeterson.com/)
- [His YouTube Channel](https://www.youtube.com/c/jordanpetersonvideos)
- [The Self-Authoring Suite](https://www.selfauthoring.com/)
- [His first book: Maps of Meaning](https://jordanbpeterson.com/maps-of-meaning/)
- [JBP's latest book: 12 Rules for Life](https://jordanbpeterson.com/12-rules-for-life/)
- Peterson just did a [Prager U video on fixing yourself.](https://www.youtube.com/watch?v=o73pqQ9Gzt4)
- [Peterson summarizes his "12 Rules Book" at the "How To Academy" in London](https://www.youtube.com/watch?v=PWasTAtR6Ns)

---

## Some Interviews and Articles

- [An interview with Jocko on walking away from family](https://www.youtube.com/watch?v=L2riylnf0SM)
- [Slavoj Zizek explains how both poles of the political spectrum are wrong... for some reason](http://www.independent.co.uk/voices/jordan-peterson-clinical-psychologist-canada-popularity-convincing-why-left-wing-alt-right-cathy-a8208301.html)
- [Even Pewdie Pie (the internet's most widely subscribed YouTuber and also, just a bizarre person)](https://www.youtube.com/watch?v=y0JmGp92cYo) likes JBP
- [Russel Brand asks Peterson about Job (and then just is Russel Brand)](https://www.youtube.com/watch?v=muWVKUnRdaE)
- [Here's the unedited longer version of the VICE interview](https://www.youtube.com/watch?v=DZrSrZpX5l8)

repository: keithbuhler/jasper

repo_name: keithbuhler/jasper


text:
# N26 - Transaction API [![Build Status](https://travis-ci.org/jordanabderrachid/n26.svg?branch=master)](https://travis-ci.org/jordanabderrachid/n26)
**DISCLAIMER: This is not a [n26](https://n26.com/) official software**

The purpose of this project is to create a RESTfull API the get and create transactions. A transaction has an _id_, an _amount_, a _type_ and an optional *parent_id*. Transactions can be linked to each others using the optional *parent_id* field.

The API exposes 4 endpoints :
  1. `GET /transactionservice/transaction/{transaction_id}`
  2. `PUT /transactionservice/transaction/{transaction_id}`
  3. `GET /transactionservice/types/{type}`
  4. `GET /transactionservice/sum/{transaction_id}`

1. Get a transaction by its transaction id
2. Create a transaction
3. Get a list of transactions ids of the given type
4. Compute the sum of the amount of the parent transaction and all its child transactions.


text:
## Coding Challenge - String Calculator
Based on the [String Calculator TDD Kata](https://osherove.com/tdd-kata-1) by Roy Osherove.

### Rules
- Try not to skip ahead.
- Do one step at a time. The trick is to practice working incrementally.
- The tests are defined and you should only implement the necessary code to make one test pass at any given time.
- The tests will run the `add` function defined in the `src/calculator.ts` file. You should use that function as the wrapper for your code.
- The test runner will stop running when it detects 1 failing test. Every time you implement some code you should run the tests again to check your progress.
- Focus on straight forward cases, don't mind edge cases and invalid inputs.
- Run the tests using the `npm test` command. Read the failing test message and implement the necessary functionality to make the failing test pass. Rinse and repeat.

### Challenge Steps

We're creating a simple string calculator that exports a `add` function. This function receives a string as its input and return an integer representing the result of the operation.

1. This function should return the value `0` every time it receives an empty string as its input. (`add("")` should return `0`)

2. When receiving a string with only one number, it should return the number. (`add("1")` should return `1`)

3. When receiving a string with 2 comma separated values it should return the sum of them. (`add("1,2")`should return `3`)

4. Now allow the `add` function to handle an unknown amount of comma separated numbers.

5. Allow the `add` funtion to also handle new lines between numbers and not just commas. (`add("1,2\n3")`should return `6`)

6. Add support to different delimiters
    - To change a delimiter, the beginning of the string will contain a separate line that looks like this: `"//(delimiter)\n(numbers…)"` for example `"//;\n1;2"` should return 3 where the default delimiter is `";"`.
    - The first line is optional.
    - All existing scenarios should still be supported

7. Calling `add` with a negative number will throw an error `"negatives not allowed"` - and the negative number that was passed.
    - for example `add("1,-2") -> "negatives not allowed: -2"`
    - If there are multiple negatives, show all of them in the error message.

8. Numbers greater than 1000 should be ignored, so adding 2 + 1001 = 2.

9. Delimiters can be of any length with the following format: `"//[delimiter]\n"` for example: `"//[***]\n1***2***3"` should return `6`.
    - Words are not allowed as delimiters

10. Allow multiple delimiters like this: `"//[delim1][delim2]\n"` for example `"//[*][%]\n1*2%3"` should return `6`.

11. Make sure you can also handle multiple delimiters with length longer than one char
    - Words are still not allowed as delimiters


text:
SEMMEDDB staging data load process
==================================

Background
----------
This is the SEMMEDDB staging data load process.

The source data file is available as a mySQL database dump file for download at the following website:

[SEMMEDDB website](https://ii.nlm.nih.gov/SemRep_SemMedDB_SKR/SemMedDB/SemMedDB_download.shtml)

To run the job you need to point the script to the url where it can find the latest version of this db.

Table(s) loaded
---------------
staging_semmeddb tables

Dependencies
------------

1. MySQL database
2. pgloader (the script will install it for you if it is not present)

Instructions
------------

1. Check you have your MySQL variables configured in the secret.config file
2. Update the DOWNLOAD_URL variable in the load_semmed.sh script to point to the most recent version of the SemMedDB
3. Run the `load_semmed.sh` script.

Notes
---------
The SemMedDB is approxiamtly 20GB in size, downloading, loading into mysql, and porting to postgres will take some time.
The script does not take care of removing the MySQL db or the downloaded source file, you might want to clean these up
after the process has run successfully. (TODO: Write a script that will do this with a single command)

repository: mi-erasmusmc/CommonEvidenceModel

repo_name: mi-erasmusmc/CommonEvidenceModel


text:
### Why?
* 🤔 Because making of even **a basic Three.js application requires at least ~20 lines of code** (see [this tutorial](https://threejs.org/docs/index.html#manual/introduction/Creating-a-scene))
  - **Three.js:** you will need to setup: _scene, renderer, camera_, make an `animate()` function before making the actual app.
  - **Whitestorm.js:** There are modules that helps you easily setup them:

    ```javascript
    const app = new WHS.App([
      new WHS.ElementModule(), // attach to DOM
      new WHS.SceneModule(), // creates THREE.Scene instance
      new WHS.DefineModule('camera', new WHS.PerspectiveCamera()), // creates PerspectiveCamera instance
      new WHS.RenderingModule() // creates WebGLRenderer instance
    ]);

    app.start(); // run animation
    ```

    See [more about modules](https://medium.com/whitestormjs-framework/migrating-to-whitestormjs-v2-beta-module-system-2eeaeda08a80#.qqdn2mhct)

* 💣 **Adding physics is hard.**
  - **Three.js:** To make your app run with physics you need to make a second world with same 3d objects and apply their transform (position & rotation) to your rendered scene objects (`THREE.Scene` for example) in every frame.
  - **Whitestorm.js:** Can be done with modules in a few lines:

    ```javascript
    const app = new WHS.App([
      // Other modules...
      new PHYSICS.WorldModule()
    ]);

    const sphere = new WHS.Sphere({
      geometry: {
        radius: 3
      },

      modules: [
        new PHYSICS.SphereModule({
          mass: 10
        })
      ],

      material: new THREE.MeshBasicMaterial({color: 0xff0000}) // red material
    });

    app.start(); // run animation
    ```

    Use [physics-module-ammonext](https://github.com/WhitestormJS/physics-module-ammonext) as your physics module.

    Try with **physics** on [**Codepen**](http://codepen.io/sasha240100/pen/wgEXwN):

* 🔌 **Components & plugins**
  - **Three.js:** You can create meshes with geometry and material.
  - **Whitestorm.js:** You can create components with advanced custom functionality.

    ```javascript
    export class BasicComponent extends WHS.MeshComponent {
      build() {
        return new THREE.Mesh(
          new THREE.IcosahedronGeometry(3, 5),
          new THREE.MeshBasicMaterial({color: 0xffffff})
        )
      }

      randomize() { // Additional function
        this.position.set(Math.random() * 10, Math.random() * 10, Math.random() * 10);
      }
    }
    ```

  - See [Component system in interactive 3D of<EMAIL_ADDRESS>article for more info.

branch_name: refs/heads/dev


text:
# Atom JS Minifier [![Build Status](https://travis-ci.org/mananshah99/atom-minjs.svg)](https://travis-ci.org/mananshah99/atom-minjs)

`minjs` automatically minifies any javascript file on save and stores the minified file as `[filename].min.js`.

To activate the minification, either press the key combination `ctrl + alt + m` or simply save the file you're working on.


text:
# About
This Extension can automatically process GaoFen optical imageries taken by GF1-WFV/PMS, GF2-PMS, GF4-PMS and GF6-WFV/PMS.

The process of image(s) mainly contains orthorectification, registration(if PAN is included), spatialSubset(if a shapefile is provided), calibration, fusion(if PAN is included) and QUAC.

# Install
[```Surf_Ref.task```](https://github.com/desertstsung/Project_JiaoTang/releases/download/V19.05.08/Surf_Ref.task) -> 'xx\Exelis\ENVI53\custom_code'

[```jiaotang.sav```](https://github.com/desertstsung/Project_JiaoTang/releases/download/V19.05.08/jiaotang.sav) -> 'xx\Exelis\ENVI53\extensions'

You'll find this extension at 'Toolbox\Extensions\Optical GaoFen Auto Process' when you restart ENVI

# Usage
```TGZ Files(required)```:original tgz file(s) with name like 'GF6_WFV_E115.9_N38.0_20190407_L1A1119865144.tar.gz'

```DEM```:Digital Elevation Model used to RPCOrthorectification(*default: '\Exelis\ENVI53\data\GMTED2010.jp2'*)

```Shapefile```:shapefile(s) used to subset and mask the imagery(*default: !NULL*)

```Registration```:whether do registration based on PAN(*default: false*)

```Fusion Method```:imagery fusion method(*default: NNDiffusePanSharpening*)

```QUAC```:whether do QUick Atmospheric Correction(*default: true*)

```Divide 10k```:whether divide 10000 on the outcome of QUAC(*default: false*)

```Display Result```:whether diplay result on screen(*default: CIR*)

```Output(required)```:output file(s) in ENVI format

# Notice
+ **IDL85/ENVI53** or later is required
+ One-output for one-input or multi-output for identity amount input
+ One-shapefile for Multi/one-input or multi-shapefile for identity amount input

# Egg
Update check is available by choose 'Divide 10k' without 'QUAC'

# CSDN Blog
https://blog.csdn.net/desertsTsung/article/details/84679969


text:
# Foxhole for Starling Examples

A series of example applications built with [Foxhole for Starling](https://github.com/joshtynjala/foxhole-starling).

## Kitchen Sink

Demonstrates each of the UI controls in Foxhole, with live previews of many of the most-used properties.

* [Web Demo](http://flashtoolbox.com/foxhole-starling/examples/kitchen-sink/)
* [Source Code](https://github.com/joshtynjala/foxhole-starling-examples/tree/master/KitchenSink)

## Layout Explorer

Demonstrates the various layout modes available to the `List` and `ScrollContainer` classes.

* [Web Demo](http://flashtoolbox.com/foxhole-starling/examples/layout-explorer/)
* [Source Code](https://github.com/joshtynjala/foxhole-starling-examples/tree/master/LayoutExplorer)

## Display Object Explorer

Demonstrates the resizing behavior of `Scale9Image`, `Scale3Image`, and `TiledImage` classes.

* [Web Demo](http://flashtoolbox.com/foxhole-starling/examples/display-object-explorer/)
* [Source Code](https://github.com/joshtynjala/foxhole-starling-examples/tree/master/DisplayObjectExplorer)

# Foxhole for Starling Themes

The following themes demonstrate how Foxhole for Starling UI controls may be skinned.

## Azure

This theme places a bold blue color over a dark background with light text.

* [Source Code](https://github.com/joshtynjala/foxhole-starling-examples/tree/master/AzureTheme)

## Minimal

This theme combines simple gray colors with a retro pixel aesthetic.

* [Source Code](https://github.com/joshtynjala/foxhole-starling-examples/tree/master/MinimalTheme)

repository: bburbank/foxhole-starling-examples

repo_name: bburbank/foxhole-starling-examples


text:
# Use Tekton Pipelines with Prow

Kyma Prow instance supports defining and using Tekton Pipelines as a workload. This gives the developer the ability to use Kubernetes-native implementation of CI/CD pipelines, where every task is a self-contained set of commands.

**DISCLAIMER: This document is not complete documentation of Tekton's functionality. This guide is meant only to let you start using Tekton with Prow. For complete information about Tekton's features, read [Tekton official documentation](https://tekton.dev/docs/).**

Tekton can't trigger pipelines natively without an external hook. Prow acts as such a trigger and executes pipeline definition when it receives a webhook event from GitHub, just like ProwJob execution does.

## Defining a PipelineRun in ProwJob

ProwJob's API defines a [`TektonPipelineRunSpec`](https://github.com/kubernetes/test-infra/blob/24e9f4faa85b8504dc8d30b11534a21547159c1e/prow/apis/prowjobs/v1/types.go#L201) specification which is compatible with `v1beta1` API version of Tekton PipelineRunSpec.

> **NOTE:** API `v1beta1` is a relatively new addition to Prow. Some bugs and missing features are expected! Raise an issue with the `kind/bug` label if some functionality is not working.

To get further understanding, see the defined simple presubmit ProwJob that uses Tekton Pipelines as an agent:
```yaml
presubmits:
  kyma-project/kyma:
    - name: pull-ci-tekton-run
      decorate: false
      agent: tekton-pipeline
      cluster: tekton-pipelines
      always_run: true
      tekton_pipeline_run_spec:
        v1beta1:
            pipelineSpec:
              description: "Hello world!"
              tasks:
              - name: hello
                taskSpec:
                  steps:
                  - name: echo
                    image: alpine:edge
                    script: |
                      #!/bin/sh
                      echo "Hello World"
            workspaces:
              - name: artifacts
                emptyDir: {}
```

As you can see, there are some differences between usual ProwJob, and this one. Every Tekton-based ProwJob has to define the following values as a requirement:
```yaml
decorate: false # Decoration config only applies to Kubernetes-based ProwJobs
agent: tekton-pipeline # It's a requirement to tell Prow to use Tekton as an agent
cluster: tekton # Name of the cluster, where Tekton is working
```

Then you must define a PipelineRun spec using `pipeline_run_spec`. For the information on which fields you can define in this spec, see the [Godoc of `PipelineRunSpec`](https://pkg.go.dev/github.com/tektoncd/pipeline@v0.44.0/pkg/apis/pipeline/v1beta1#PipelineRunSpec).

According to the documentation, you must define a PipelineRunSpec. Dynamically defined `PipelineSpec`, as supported by Tekton's API, is used here:
```yaml
tekton_pipeline_run_spec:
  v1beta1:
      pipelineSpec:
        description: "Hello world!"
        tasks:
          - name: hello
            taskSpec:
              steps:
                - name: echo
                  image: alpine:edge
                  script: |
                    #!/bin/sh
                    echo "Hello World"
          - name: bye
            taskSpec:
              steps:
                - name: echo
                  image: alpine:edge
                  script: |
                    #!/bin/sh
                    echo "Bye!"
```

The full ProwJob definition looks like this:
```yaml
presubmits:
  kyma-project/kyma:
    - name: pull-ci-tekton-run
      decorate: false
      agent: tekton-pipeline
      cluster: tekton-pipelines
      always_run: true
      tekton_pipeline_run_spec:
        v1beta1:
          params:
            - name: some-param
              value: "Prow+Tekton"
          pipelineSpec:
            description: "Hello world!"
            tasks:
              - name: hello
                taskSpec:
                  steps:
                    - name: echo
                      image: alpine:edge
                      script: |
                        #!/bin/sh
                        echo "Hello World"
              - name: bye
                taskSpec:
                  steps:
                    - name: echo
                      image: alpine:edge
                      script: |
                        #!/bin/sh
                        echo "Bye, $(params.some-param)!"
```

## Reusability of tasks and pipelines

Kyma's Tekton tasks are under [`task` directory](../../task). You can reuse any of the tasks in your own ProwJob definition.

### Reusing tasks

Task defined below would return a "Hello World from task!" to the results field:
```yaml
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: echo
spec:
  results:
    - name: result
      description: Task result
  steps:
    - name: print-hello-world
      image: bash:latest
      script: |
        #!/usr/bin/env bash
        echo "Hello World from task!" | tee $(results.result.path)
```

Tekton supports reusing tasks in Pipelines using the special field `taskRef`. This field is mutually exclusive with `taskSpec`.

Look at the example below that reuses this task. Firstly, the Pipeline will execute the referenced task. Secondly, it will fetch the result of the previous task and print it to the stdout:
```yaml
presubmits:
  kyma-project/kyma:
    - name: pull-ci-tekton-run
      decorate: false
      agent: tekton-pipeline
      cluster: tekton-pipelines
      always_run: true
      tekton_pipeline_run_spec:
        v1beta1:
          pipelineSpec:
            description: "Hello world from external task!"
            tasks:
              - name: hello
                taskRef:
                  name: echo
```

With this, you can use any pre-defined tasks as many times as you want without defining steps for each one all over again.

### Reusing pipelines

Following the example above, let's define a simple pipeline that returns "Hello world!" and reuses previously defined Task:
```yaml
apiVersion: tekton.dev/v1beta1
kind: Pipeline
metadata:
  name: echo-pipeline
spec:
  description: "Hello world as a Pipeline"
  tasks:
    - name: hello
      taskRef:
        name: echo
    - name: bye
      taskSpec:
        steps:
          - name: echo
            image: alpine:edge
            script: |
              #!/bin/sh
              echo "Buh-Bye!"
```

Then, create a ProwJob that reuses the Pipeline above. To reuse this pipeline, you must use the `pipelineRef` field, which is mutually exclusive to the `pipelineSpec` field.
This field works the same way as `taskRef`:

```yaml
presubmits:
  kyma-project/kyma:
    - name: pull-ci-tekton-run-pipeline
      decorate: false
      agent: tekton-pipeline
      cluster: tekton-pipelines
      always_run: true
      tekton_pipeline_run_spec:
        v1beta1:
          pipelineRef:
            name: echo-pipeline
```

This uses a pre-defined pipeline that is in the Tekton cluster.

## Get repository source in a Pipeline

When applying any Pipeline through Prow, a list of parameters will be propagated in `PipelineRun`.
This list contains fields commonly found in normal ProwJobs. You can check this list in [official Prow docs](https://docs.prow.k8s.io/docs/jobs/#job-environment-variables).

To get the source code, you can use a general purpose [`git-clone`](https://hub.tekton.dev/tekton/task/git-clone) task, or use a [`clone-refs`](https://github.com/kyma-project/test-infra/blob/main/task/clone-refs/0.1/clone-refs.yaml) task which is tailored to use with Prow.

You can reuse git-clone Task available in our [Tekton instance](https://tekton.build.kyma-project.io/#/namespaces/default/tasks/git-clone?view=overview).
Follow the official [Tekton documentation](https://tekton.dev/docs/how-to-guides/clone-repository/) to use it in your pipelines.

To learn how to use the clone-refs task check its [documentation](https://github.com/kyma-project/test-infra/blob/main/task/clone-refs/0.1/README.md) and sample usage in the [prowjob](https://github.com/kyma-project/test-infra/blob/main/task/clone-refs/0.1/samples/prowjob-cloning-repositories.yaml).

To access parameters, use the `$(params.{PARAM})` directive in your scripts or params, where `{PARAM}` is the name of Prow's standard fields from Prow docs.

## Known bugs

Here's a list of know bugs that are most likely to be fixable in upstream Prow.

* ~~Currently, it's impossible to define a custom list of parameters to the Tekton PipelineRun spec defined in a ProwJob. Prow uses this field to provide information about the Git reference on which the Pipeline has been run.~~
* ~~It's impossible to define params in inline tasks. Prow's validation flow returns an incorrect error `Invalid value: "string": val in body must be of type object: "string"`.~~
* When creating a ProwJob with a Tekton agent and extra_refs defined, it's required to specify a Tekton pipeline resource for each extra_ref. Otherwise, the pipeline will fail validation with the following error: `invalid presubmit job tekton-demo: extra_refs[0] is not used; some resource must reference PROW_EXTRA_GIT_REF_0`. As a workaround just add Tekton pipeline resources for each extra_ref in the pipelineRunSpec. The bug is reported to the kubernetes/test-infra [#29144](https://github.com/kubernetes/test-infra/issues/29144).

Bugs have been identified and are reported to the kubernetes/test-infra repository.
[#28679](https://github.com/kubernetes/test-infra/issues/28679) Currently, a workaround that disables Tekton's PipelineRun validation on ProwJob level has been applied on kyma-prow instance.

## Considerations

Although Tekton Pipelines provide a much more complex solution for building pipelines, it still has some drawbacks:

* As tasks work as separate Pods, this can generate an increased load on the Kubernetes cluster, thus increasing the cost in some scenarios.
* Pipelines can be marginally slower to build and define than simple ProwJobs.

If you want to build your pipeline with Tekton, consider the following:

* Does my workflow have to do some complex stuff?
* Can I cover my requirement with a quick Makefile step?

ProwJobs are best suited for simple tasks, whereas Tekton Pipelines are a great way to implement multitask scenarios or a complex release, or an E2E pipeline with reusable tasks.

repository: a-thaler/test-infra

repo_name: a-thaler/test-infra


text:
# Apple Photos

When exporting unmodified originals from Apple Photos the timestamps can be wrong.
Sometimes this information is still available within the photo EXIF data, but
sometimes you're not that lucky and the one and only date is wrong.

| Info Apple Photos  |  Info Finder |
| ------------- | ------------- |
|  |  |

---

This script fixes these cases by copying the time information from Apple Photos
into the photo EXIF data.

## Getting started

1. Clone the project to your Desktop
```
git clone https://github.com/mvgijssel/apple-photos-export-timestamp-fix.git ~/Desktop/photofix
```

2. Export unmodified originals from Apple Photos and save into `~/Desktop/photofix/images/apple`

3. Make sure to export photos to their **Moment Name** subfolder

4. Run this script
```
cd  ~/Desktop/photofix
./photofix apple ./images/apple --dest ./images/apple/final
```

> NOTE: assuming the iCloud Photos library is located at ~/Pictures/Photos Library.photoslibrary

# Google Photos
When exporting photos from Google Photos the timestamps are not preserved within the photo EXIF data, this data is provided in a "sidecar" json file.

## Fixing my timestamps

1. Clone the project, for example to your Desktop
```
git clone https://github.com/mvgijssel/apple-photos-export-timestamp-fix.git ~/Desktop/photofix
```

2. Navigate into the installation directory
```
cd ~/Desktop/photofix
```

3. Install all the dependencies
```
brew install exiftool
bundle install
```

4. Export Google Photos using https://takeout.google.com/settings/takeout

> Depending on the number of photos you have, the photos will need to be downloaded in
multiple archives. Try to make the archives as large as possible (50GB), smaller archives can
miss necessary json information.

5. Move all the .zip archives to a single folder: `~/Desktop/photofix/images/google`

6. Navigate to the images folder
```
cd ~/Desktop/photofix/images/google
```

7. Unzip all the archives using the following command

```
for file in $(ls); do; echo "Processing $file"; unzip $file -d "unzip-$file"; done
```

8. Merge all the unzipped folders
```
mkdir merged
for folder in $(ls | grep "unzip-"); do; echo "Merging $folder"; cp -lR $folder/Takeout/Google\ Foto_s/* merged/; done
```

9. Remove the unzipped folders
```
for folder in $(ls | grep "unzip-"); do; echo "Removing $folder"; rm -rf $folder; done
```

10. Navigate to the installation directory
```
cd ~/Desktop/photofix
```

11. Run script to fix google photo timestamps and export to `~/Desktop/photofix/final`
```
./photofix google ~/Desktop/photofix/images/google --dest ~/Desktop/photofix/google/final
```

# Remove duplicates

## dupeGuru
1. Install `dupeGuru` tool https://dupeguru.voltaicideas.net

# Cleanup

1. Remove some leftover empty folders

```
find ~/Desktop/images -type d -empty -print -delete
```

2. Delete photos from Google Photo using https://github.com/mrishab/google-photos-delete-tool

gha_language: Ruby


text:
# Salesforce Connected Service Exploratory Test Guide

This document is a testing guide for contributors to the Salesforce Connected Service components. It is meant as a testing aid in our joint effort to deliver high-quality experiences to end-user developers. Rather than a set of scripts to be strictly followed this document is meant as a checklist of areas to test. It is organized by scenarios so that contributors can understand the potential impact of their changes both in development and testing of their contributions. The checklist is based on the experiences in using the [Exploratory Testing](http://en.wikipedia.org/wiki/Exploratory_testing) methodology in testing the original contribution.

## Installation

- Appropriate EULA is shown on installation from the Extensions and Updates Gallery.
- The correct supported version(s) of Visual Studio is indicated.

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

## Service Selection

- Version corresponds to the assembly version of Salesforce.VisualStudio.Services.dll.
- Project type support
  - The Configure button is disabled for all unsupported project types.
  - Supported projects work for all scenarios else scenario is blocked.

![](./images/ServiceSelection.png)
## Configure

![](./images/Configure.png)
### User Experience and User Interface

- Tab sequence/Keyboard navigation follows the logical flow of controls and configuration sequence.
- Screen reader behavior - turn on Windows Narrator and validate that controls and labels are narrated.
- Visual Studio Theming compatibility (Dark, Blue, Light).
- Appropriate validation is in place for each wizard control - validation adorner, page validation, navigation block is blocked as appropriate.
- Appropriate Most-recently-used list/dropdown controls (MRUs) are in functional.
- UI not blocked by background logic.  Data is loaded in a background thread before the user needs it.
- Any exceptions are handled appropriately for the scenario. Unexpected exceptions should be logged in the VS output window and should not crash the wizard or Visual Studio.
- Guidance links go to appropriate web content.
- Resizing the dialog produces gd control flow.
- Wizard navigation behaviours
  - Jumping back and forth should retained entered information.
  - Click 'Finish' directly from the first page.

- Object Selection
  - Type ahead brings focus to the appropriate object.
  - Objects are sorted. In update mode, the pre-selected objects are alphabetically sorted at the top, then the unselected objects.
  - Tri-State on 'all objects' node works (checked, unchecked, sub-item checked).

### Handler

- Handles existing configured items - Connected App, web.config settings, scaffolded code/service folder.
- References and Nuget packages are added to specific project types and project flavours needs (eg. Web projects differ from console projects).
- Adding references and Nuget packages takes into account users could have removed and added references and packages to the existing project.
  - Are references and Nuget package dependencies checked for explicitly?

- Appropriate project compatibility is declared (this is used in the Service Selection project type support section).
- The progress indication bar should animate relatively smoothly. Minimize halting of the animation by performing long-running processing asynchronously.
- Supports multiple Salesforce instances per project.
- Performance - any lengthy process (e.g. service calls) do not block the UI thread and the UI remains responsive.
- Exceptions are handled appropriately.  Exceptions should not necessarily cause the handler to fail, in some cases reporting these as errors/warnings in the progress dialog and continuing on may provide the best end-user experience.
- Validate correct behaviour of source code and configuration files under source control.

### Code Scaffolding

- Code compiles in all runtime authentication configurations, with the exception of the #error line placed in the Service Account, Username/password strategy.
- End-user template customization are supported
  - Template changes are preserved in the user directory, while the vsix directory are replaced with the updated templates.
  - If custom templates are deleted the original templates laid down by the vsix are used in scafolding.
  - Template changes in the extension folder are ignored when scaffolding.

- Object code is scaffolded in the Models\[SalesforceInstance] folder.
- Objects are annotated consistently with Describe metadata from Salesforce.

### User Settings (ConnectedServices.json)

- Persisted upon wizard completion.
- Values are read when the wizard begins.
- Values are defaulted when the wizard begins, and the values don't exist in the ConnectedServices.json file.

### Design Time Authentication

- MRUs maintain a list of recently entered items.
- My Domain is validated as a well-formed url.
- After the user is prompted for the Salesforce credentials the Refresh Token is cached.
- Data re-read upon credential change (e.g. Objects - object selection is refreshed so to reflect the permissions of the new user) .
- Salesforce sign-in can be cancelled.
- Salesforce app authorization can be cancelled.
- When accessing Salesforce with an expired refresh token the Salesforce credentials dialog is shown so users can obtain a new refresh token.
- All three Salesforce Environments are validated (Production, Sandbox, Custom).

### Runtime Authentication

- If a custom domain was entered, the value appears in the combobox. If the developer checks the checkbox, the value entered in the designtime auth is selected.

### Getting Started Document

- Content including guidance, description, and code snippets reflect the change that are being made. When new versions are created, previous versions of the documents must be maintained to support users with different versions of the connected services extension.
- Walk through the getting started document, paste the sample code, make the namespace, etc.

## Update Salesforce Data Services

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

- ConnectedServices.json
  - Extended Data and its properties are not written if they are not used.
  - Extended Data is not required.  Logic that reads the data will default as appropriate if missing.  Consider Extended Data as a hint.
  - Extended Data values are validated and error cases are handled appropriately.  File can be edited by the end user.
  - Extended Data does not contain values that can be retrieved via other means (e.g. config, code, project settings) As a general Connected Services Principle, we model over the developers code, with possible hints placed in the .json file.

- Object Picker and authentication wizard pages correctly reflect the current configuration.
- Appropriate defaulting logic is run if configuration cannot be detected.
- Previously scaffolded objects are selected, alphabetically sorted, disabled, and placed at the top of the list.
- Runtime authentication settings are correct and disabled appropriately.

## End-to-End App Testing

- User code scaffolded has appropriate xml documentation.
- End-user scaffolded code is verified in a running app.
- Code compiles in all supported project flavors and for all runtime authentication configurations. (Not all projects have the same assembly references out of the box).
- Field validation behaviour is correct based on scaffolded Describe annotations.

### Runtime Authentication configurations end-to-end walkthroughs

- Web Server Flow
  - All scaffolded code paths are accessible using a refresh token.
  - Branded sign in page is accessible.

- User name password in service account app scenarios (eg. Console app, Web job) allow access to objects and protected resources.

- User permissions allow access to objects and object queries and conversely lack of permissions blocks access to objects and queries.

repository: FLMBM/visual-studio-tools

path: /docs/Testing Guide.md

filename: Testing Guide.md

repo_name: FLMBM/visual-studio-tools


text:
# Oscam Skyde Status
Read entitlements from Oscam and extend subscription of your V13 or V14

Requires a locally running V13 or V14. Does:
* Read and display expire date of card/tiers
* Read and display payload if card
* Read and display if your card has the F0 tier or not
* Read and display a list of unique EMMs from the correspondig log file if present
* Write selected EMM to Oscam web interface to extend subscription.

![Screen shot](https://cloud.githubusercontent.com/assets/15088943/19221762/b508337c-8e49-11e6-9651-bfbd1fba932e.jpg)

repository: rdamas/oscam-skyde-status

repo_name: rdamas/oscam-skyde-status


text:
# Yesoffice

## Installation

Add to your gemfile:

	gem 'yesoffice'

Execute:

	bundle install

Import the packages:

       rails generate yesoffice:install

## Included Packages:
+ Bootstrap
+ FontAwesome
+ Select2
+ jQuery Cookie

and more...

repository: catuss-a/yesoffice

repo_name: catuss-a/yesoffice


text:
- match text: **Git**
- captures: **[]**
- startIndex: **0**
- endIndex: **3**

```
**Git**Hub is a web-based hosting service for version control using git.
It is mostly used for computer code.
GitHub launched in 2018-04-10.

```

- match text: **git**
- captures: **[]**
- startIndex: **64**
- endIndex: **67**

```
GitHub is a web-based hosting service for version control using **git**.
It is mostly used for computer code.
GitHub launched in 2018-04-10.

```

- match text: **Git**
- captures: **[]**
- startIndex: **106**
- endIndex: **109**

```
GitHub is a web-based hosting service for version control using git.
It is mostly used for computer code.
**Git**Hub launched in 2018-04-10.

```

repository: textlint/regexp-string-matcher

repo_name: textlint/regexp-string-matcher


text:
# Redux Toolkit TypeScript Example

This example shows how to integrate Next.js with [Redux Toolkit](https://redux-toolkit.js.org).

The **Redux Toolkit** is a standardized way to write Redux logic (create actions and reducers, setup the store with some default middlewares like redux devtools extension). This example demonstrates each of these features with Next.js

## Deploy your own

Deploy the example using [Vercel](https://vercel.com?utm_source=github&utm_medium=readme&utm_campaign=next-example):

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/vercel/next.js/tree/canary/examples/with-redux&project-name=with-redux&repository-name=with-redux)

## How to use

Execute [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app) with [npm](https://docs.npmjs.com/cli/init), [Yarn](https://yarnpkg.com/lang/en/docs/cli/create/), or [pnpm](https://pnpm.io) to bootstrap the example:

```bash
npx create-next-app --example with-redux with-redux-app
```

```bash
yarn create next-app --example with-redux with-redux-app
```

```bash
pnpm create next-app --example with-redux with-redux-app
```

Deploy it to the cloud with [Vercel](https://vercel.com/new?utm_source=github&utm_medium=readme&utm_campaign=next-example) ([Documentation](https://nextjs.org/docs/deployment)).

branch_name: refs/heads/canary


text:
# Bolt connection module of the Neo4j Driver for JavaScript

> :warning: **This package is not intended to be used by end users, it contains the basic tools used by the `neo4j-driver` to connect to `Neo4j`.**

This is an internal package shared by the [neo4j-driver](https://www.npmjs.com/package/neo4j-driver) and the [neo4j-driver-lite](https://www.npmjs.com/package/neo4j-driver-lite) drivers. This package is responsible for implementing the [Bolt Protocol](https://7687.org/) using the `Connection` and `ConnectionProvider` interfaces defined by `neo4j-driver-core` package.

## Building

The build of this package is handled by the root package of this repository.

First it is needed to install the mono-repo dependencies by running `npm ci` in the root of the repository. Then:

* Build all could be performed with

```
npm run build
```
* Build only the Core could be performed with
Builind only Core:
```
npm run build -- --scope=neo4j-driver-bolt-connection

```

This produces a Node.js module version under `lib/`.

## Testing

The tests could be executed by running `npm test` in this package folder. For development, you can have the build tool rerun the tests each time you change the source code:

```
npm run test::watch
```


text:
# lab 08 Access Control

[Heroku link](https://class-08.herokuapp.com/).
[github link](https://github.com/Suhaib-Ersan/class-08/tree/main).

## Access points

### `/signup`

> `{"username": "suhaib","password": "pass", "role": "user"}`

will return an object with the user data + your jwt token.

### `/signin`

> Username: suhaib, Password pass

will return an object with the user data + your jwt token.

### `/users`

> needs a bearer token that you got in the signin or the signup, but will need an account with "delete" or "admin" capabilities

will return an object with the user data + your jwt token.

### .get('/clothes') or .get('/food')

will return an object with all the clothes/food data.

### .get('/clothes/1') or .get('/food/1')

will return an object with the clothes/food data with an id of "1".

### .post('/clothes') or .post('/food')

you have to send an object(body) with it.
will return an object with the created clothes/food data.

### .put('/clothes/1') or .put('/food/1')

you have to send an object(body) with it, to the update the clothes/food data with an id of "1".
will return an object with the updated clothes/food data.

### .delete('/clothes/1') or .delete('/food/1')

will delete the clothes/food object in the database with an id of "1".
will return a "null" as there is no object to return.


text:
# @mikilian/nest-rabbitmq

A wrapper of the [AMQP library](https://www.npmjs.com/package/amqplib) for [NestJS](https://nestjs.com)
to provide fast communication between services. The idea behind it is to provide possible ways of
communication with a message system without having to write a lot of code.

## Installation

> Consider adding `@types/amqplib` as development dependency when using TypeScript

```bash
# using yarn
yarn install @mikilian/nest-rabbitmq

# using npm
npm install --save @mikilian/nest-rabbitmq
```

## Usage

```ts
import { Module } from '@nestjs/common';
import { RabbitMQModule } from '@mikilian/nest-rabbitmq'

@Module({
    imports: [
        RabbitMQModule.forRoot({
            hostname: 'localhost',
            username: 'admin',
            password: 'pw'
        }),
    ]
})
export class AppModule {}
```

You can also use a factory to create the configuration file.

```ts
import { Module } from '@nestjs/common';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { RabbitMQModule } from '@mikilian/nest-rabbitmq'

@Module({
    imports: [
        RabbitMQModule.forRootAsync({
            imports: [ConfigModule],
            useFactory: (config: ConfigService) => ({
                hostname: config.get('ENV_FOR_HOSTNAME') as string,
                username: config.get('ENV_FOR_USERNAME') as string,
                password: config.get('ENV_FOR_PASSWORD') as string,
            }),
            inject: [ConfigService]
        })
    ]
})
export class AppModule {}
```

## Examples

To run the examples, a RabbitMQ server is required. Afterwards three environment
variables are needed, so it is recommended to export them in the terminal.

```sh
export AMQP_HOSTNAME=''
export AMQP_USERNAME=''
export AMQP_PASSWORD=''
```

Now any example can be executed using `yarn run example:<ID>`.
The code can be found in the `examples` directory.

repository: mikilian/nest-rabbitmq

repo_name: mikilian/nest-rabbitmq


text:
# gRPC Playground
This is a playground for gRPC Go which has several tutorials and sample implementations.

## Pre installed
```shell

# Install `protoc`
$ brew install protobuf

# Install protoc-gen-go which is a plugin for `protoc`
$ go get -u github.com/golang/protobuf/protoc-gen-go

# (May need) Add to $PATH
$ export $PATH=$GOHOME/bin:$PATH
```
* References
http://www.grpc.io/docs/quickstart/go.html

## Samples
* [helloworld](./helloworld) : gRPC Hello World.
* [basics](./basics) : gRPC Basic samples (simple / streaming).
* [grpc-gateway](./grpc-gateway) : a sample for gRPC Gateway.

repository: yoheiMune/grpc-playground

repo_name: yoheiMune/grpc-playground