text:
# [Ubuntu 18.04][resolv.conf]公共DNS设置

## 为什么要使用公共DNS

参考：[为什么要使用 Public DNS ？](https://www.dnspod.cn/Products/Public.DNS)

* 速度快
* 更稳定
* 无劫持

国内国外都有很多的厂商提供了免费的公共`DNS`，比如：

1. [DNSPod Public DNS](https://www.dnspod.cn/Products/Public.DNS)：`<IP_ADDRESS>`
2. [阿里云公共DNS](http://www.alidns.com/index.html?spm=a2chw.138149<IP_ADDRESS>ad1760TccxQ0)：`<IP_ADDRESS>/<IP_ADDRESS>`
3. [Google Public DNS](https://developers.google.com/speed/public-dns)：`<IP_ADDRESS>/<IP_ADDRESS>`

## /etc/resolv.conf

参考：[ resolv.conf](http://manpages.ubuntu.com/manpages/bionic/man5/resolv.conf.5.html)

`Ubuntu`系统通过读取`/etc/resolv.conf`中的`DNS`地址进行查询，默认`DNS`服务器`IP`是`<IP_ADDRESS>`

```
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# <IP_ADDRESS> is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.

nameserver <IP_ADDRESS>
```

该文件是一个软链接，其指向`/run/systemd/resolve/resolv.conf`

## 如何设置公告DNS

由于`/etc/resolv.conf`会被重写，所以关键问题在于如何在`/etc/resolv.conf`文件中添加新的`DNS`服务器地址

参考：

[ubuntu18.04 dsn 重启就会重置该怎么办？](https://segmentfault.com/q/1010000015091523)

[Ubuntu 18.04的DNS问题(已解决)](https://my.oschina.net/u/2306127/blog/1930116)

[ubuntu18.04直接更改/etc/resolv.conf修改nameserver重启被重置解决方法](https://blog.csdn.net/lengye7/article/details/88877867)

尝试了很多种方式，包括命令`resolvconf`和`netplan`，最后找到一种比较合理的方式

第一步：调整`/etc/resolv.conf`的软链接，使其指向文件`/run/systemd/resolve/resolv.conf`

```
$ cd /etc
$ rm resolv.conf
$ ln -s /run/systemd/resolve/resolv.conf resolv.conf
```

第二步：修改配置文件`/etc/systemd/resolved.conf`，添加新的`DNS`服务器`IP`

```
$ cat resolved.conf
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See resolved.conf(5) for details

[Resolve]
DNS=<IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS>
#DNS=
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
#DNSStubListener=yes
```

第三步：重启系统

完成后，可以查看新的`/etc/resolv.conf`配置

```
$ cat /etc/resolv.conf
# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients directly to
# all known uplink DNS servers. This file lists all configured search domains.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
# replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.

nameserver <IP_ADDRESS>
nameserver <IP_ADDRESS>
nameserver <IP_ADDRESS>
# Too many DNS servers configured, the following entries may be ignored.
nameserver <IP_ADDRESS>
nameserver <IP_ADDRESS>
```

使用命令`systemd-resolve --status`查询

```
$ systemd-resolve --status
Global
         DNS Servers: <IP_ADDRESS>
                      <IP_ADDRESS>
                      <IP_ADDRESS>
。。。
。。。
```

使用命令`nslookup`解析网址：

```
$ nslookup www.baidu.com
Server:		<IP_ADDRESS>
Address:	<IP_ADDRESS>#53

Non-authoritative answer:
www.baidu.com	canonical name = www.a.shifen.com.
Name:	www.a.shifen.com
Address: <IP_ADDRESS>
Name:	www.a.shifen.com
Address: <IP_ADDRESS>
```

repository: Document-Collection/network-guide

filename: [Ubuntu 18.04][resolv.conf]公共DNS设置.md

repo_name: Document-Collection/network-guide


text:
High-level description of some of the OSPRay Studio features.

Studio provides a thin wrapper on top of the OSPRay API, as such, the rendering
features are better described in the, excellent, OSPRay documentation
(https://www.ospray.org/documentation.html)

OBJ/MTL importer:

-   native triangle mesh and quad mesh primitives
-   basic OBJ materials, with extension for any OSPRay material via "type" keyword
-   texture and "texture transformations" supported on all OSPRay texturable material parameters via "map_" parameter prefix
-   support for UDIM texture tiles with common "*1001*" filenaming convention

glTF importer:

-   mesh and points primitives, vanilla materials, animation (including camera), skinning
-   KHR_lights_punctual: "directional", "point", "spot"; custom extension for OSPRay's "hdri" light type
-   INTEL_lights_sunsky
-   KHR_materials_emissive_strength: "intensity"
-   KHR_materials_pbrSpecularGlossiness: "diffuseFactor", "diffuseTexture", "specularFactor", "glossinessFactor"
-   KHR_materials_clearcoat: "clearcoatFactor", "clearcoatRoughnessFactor", "clearcoatTexture", "clearcoatRoughnessTexture", "clearcoatNormalTexture"
-   KHR_materials_transmission: "transmissionFactor", "transmissionTexture"
-   KHR_materials_sheen: "sheenColorFactor", "sheenColorTexture", "sheenRoughnessFactor", "sheenRoughnessTexture"
-   KHR_materials_ior: "ior"
-   KHR_materials_volume: "thicknessFactor", "thicknessTexture", "attenuationDistance", "attenuationColor"
-   KHR_materials_specular: "specularFactor", "specularTexture"
-   KHR_texture_transform: "offset", "rotation", "scale"
-   BIT_scene_background: "background-uri", "rotation"
-   BIT_asset_info: "title"
-   BIT_reference_link: "id", "title"
-   BIT_node_info: "id"
-   EXT_cameras_sensor, respecting
    -   "imageSensor": "pixels", "pixelSize"
    -   "lens": "focalLength", "apertureRadius", "focusDistance", "centerPointShift"
-   support for UDIM texture tiles with common "*1001*" filenaming convention

PCD importer:

-   file importer for common "Point Cloud Data" (https://pointclouds.org/) format

Volume rendering:

-   importers for raw structured, raw spherical, particle volumes, and OpenVDB file formats
-   scenegraph support to structure, unstructured, particle volumes, and vdb data formats
-   controls for transfer functions and implicit iso-surfaces, as supported by OSPRay and OpenVKL

Meta data export, using plugin "metadata" via `ospStudio batch -p metadata -m ...`:

-   in exr: id (instanceID), objectID, depth, worldPosition
-   ID maps in prefix.id.json and prefix.objectId.json
-   3D bounding boxes in prefix.bboxId.json

batch mode:

-   scriptable headless rendering for offline images
-   setting animation speed (fps)
-   selecting frames (sub-range) to be rendered
-   selecting camera (if multiple specified in glTF)
-   selecting scene configuration from command line
-   setting rendering parameters (maxContribution, accumLimit, variance)

python bindings:

-   the scene graph is exposed via pybind11 binding for full scriptable support

JSON scene file format:

-   the scenegraph state may loaded/saved to a JSON file

Extendable via plugins:

-   plugin mechanism allows extension of file importer, scene graph internals, and UI widgets/appearance
-   several of the plugins under development are featured on the website

branch_name: refs/heads/master

extension: md

license_type: permissive


text:
---
title: Supported Releases
description: The currently supported Istio releases.
weight: 35
icon: cadence
---

This page lists the status, timeline and policy for currently supported releases. Supported releases of Istio include releases that are in the active
maintenance window and are patched for security and bug fixes. Subsequent patch releases on a minor release do not contain backward incompatible
changes.

* [Support Policy](#support-policy)
* [Naming scheme](#naming-scheme)
* [Support status of Istio releases](#support-status-of-istio-releases)
* [Releases without known Common Vulnerabilities and Exposures (CVEs)](#releases-without-known-Common-Vulnerabilities-and Exposures)

## Support policy

We produce new builds of Istio for each commit. Around once a quarter, we build a minor release and
run through several additional tests as well as release qualification. We issue patch releases for issues found in minor
releases.

The different types represent a different product quality level and different level of support
from the Istio team. In this context, *support* means that we will produce patch releases for critical issues and
offer technical assistance. Separately, 3rd parties and partners may offer longer-term support solutions.

|Type              | Support Level                                                                                | Quality and Recommended Use
|------------------|-----------------------------------------------------------------------------------------------------------------------|----------------------------
|Development Build | No support                                                                                | Dangerous, may not be fully reliable. Useful to experiment with.
|Minor Release     | Support is provided until 3 months after the next minor release                                                       | Safe to deploy in production. Users are encouraged to upgrade to these releases as soon as possible.
|Patch             | Same as the corresponding Minor release                                                                               | Users are encouraged to adopt patch releases as soon as they are available for a given release.
|Security Patch    | Same as a Patch, however, it will not contain any additional code other than the security fix from the previous patch | Given the nature of security fixes, users are **strongly** encouraged to adopt security patches after release.

You can find available releases on the [releases page](https://github.com/istio/istio/releases),
and if you're the adventurous type, you can learn about our development builds on the [development builds wiki](https://github.com/istio/istio/wiki/Dev%20Builds).
You can find high-level releases notes for each LTS release [here](/news).

## Naming scheme

Our naming scheme is as follows:

{{< text plain >}}
<major>.<minor>.<patch>
{{< /text >}}

where `<minor>` is increased for each release, and `<patch>` counts the number of patches for the
current `<minor>` release. A patch is usually a small change relative to the `<minor>` release.

## Support status of Istio releases

| Version         | Currently Supported   | Release Date        | End of Life         | Supported Kubernetes Versions | Untested, but may work on Kubernetes Versions |
|-----------------|-----------------------|---------------------|---------------------|-------------------------------|-----------------------------------------------|
| master          | No, development only  |                     |                     |                               |                                               |
| 1.9             | N/A                   | ~Feb 2021(Expected) | ~Aug 2021(Expected) | 1.17, 1.18, 1.19, 1.20        | 1.15, 1.16                                    |
| 1.8             | Yes                   | November 10, 2020   | ~May 2021(Expected) | 1.16, 1.17, 1.18, 1.19        | 1.15                                          |
| 1.7             | Yes                   | August 21, 2020     | ~Feb 2021(Expected) | 1.16, 1.17, 1.18              | 1.15                                          |
| 1.6             | No                    | May 21, 2020        | November 23, 2020   | 1.15, 1.16, 1.17, 1.18        |                                               |
| 1.5 and earlier | No                    |                     |                     |                               |                                               |

## Releases without known Common Vulnerabilities and Exposures (CVEs)

| LTS Release                | Patched versions with no known CVEs  |
|----------------------------|--------------------------------------|
| 1.8.x                      | 1.8.1                                |
| 1.7.x                      | 1.7.3, 1.7.4, 1.7.5, 1.7.6           |
| 1.6.x                      | 1.6.11, 1.6.12, 1.6.13, 1.6.14       |
| 1.5 and earlier            | None                                 |


text:
rpi-device-lib
==============

Libraries supporting devices which can be hooked up to a raspberry pi Model B rev 2

* This project is developed on a ubuntu 13.10 Acer laptop.
* The tools in use is cloned from here: git://github.com/raspberrypi/tools.git
* To use a different compiler, edit the top level CMakeLists.txt file.

This project is at time of writing (2014-01-19) just established and as such a lot of things is unfinished, in particular
* l3gd20 is just sketched - I have not received my device yet, but will finish as soon as I does.
* ads1015 code need a propper way of calculating voltage (and possible more)
* mcp4725 need voltage calculation (and possible more)

license: MIT

repository: freepax/rpi-device-lib

repo_name: freepax/rpi-device-lib


text:
---
layout: post
title: "STAT453 HW4"
categories:
  - STAT453
tags:

last_modified_at: 2019-02-27
---

{% raw %}
  Let $$\overline{X}$$ denote the mean of a random sample of size 144 from a distribution that is $$\chi^2(32)$$. Compute an approxiamate value of $$P(31 < \overline{X} < 33)$$
 {% endraw %}

### Solution

We will use the central limit theorem. Recall:
{% raw %}
$$X_1 \dots X_n$$ are a random sample with $$E(x) = \mu$$ and $$Var(X) = \sigma^2 < \infty $$ (and the MGF exists). Then $$y = \sqrt{n}(\overline{X} - \mu)\frac{1}{\sigma} \rightarrow^L Z \sim N(0,1)$$
{% endraw %}

By properties of the chi-square distribution, we know that
{% raw %}
$$E(X_i) = k = 32$$ and $$Var(X_i) = \sigma^2 = 2k = 64.$$ Thus to approxiamate $$P(31 < \overline{X} < 33)$$ with the Central Limit Theorem, we must first "normalize" the original statement. We have $$ P [ \frac{ \sqrt(144)(31 -32)}{8} < z <  \frac{ \sqrt(144)(33 -32)}{8}] =  P [-1.5 < z < 1.5] \\ \implies \phi (1.5) - \phi(-1.5) = \phi (1.5) - (1 - \phi(1.5)) = .9332 - .0668 = 0.8664 $$
{% endraw %}


text:
# Comic Collection

## A database for comic book collectors

### [Live Demo](https://comic-collection-ogsbdukspp.now.sh/)

### Comic Collection is a simple way to keep inventory of your comic book collection.

## Install

Clone the repository, or download the [Latest Release](https://github.com/TechGladiator/comic-collection/releases). You will need [NodeJS](https://nodejs.org/) and [MongoDB](https://www.mongodb.com/) installed and running.

`cd` into the `comic-collection` directory, then:

```
$ npm install
```

then

```
$ mongod
```

and finally

```
$ npm start
```

By default, simply opening your browser and navigating to http://localhost:3000/ will open Comic Collection once it is running.
## Using Comic Collection

To add a new comic issue, click on the "Add New Comic" button.

Each issue added will be displayed in it's own "card" on the main page.

### Edit Mode

To edit or delete an issue, click on the "Edit Mode" button. This will show (or hide, if clicked again) the "Edit" and "Delete" buttons for each issue in your collection.

Clicking "Edit" will open the form to edit the issue's details.

Clicking "Delete" will cause a confirmation dialog to appear. Click "Cancel" if you don't want to delete the issue, and click "Ok" to proceed with deletion.

Deleting an issue will only "Soft" delete it from the page, but it will still remain in the database. In the future, you will be able to view deleted items and either restore them, or permenantly delete them. Once permenantly deleted, they will be unrecoverable.

## Future Plans

The database is in early stages at this time, and additional details such as cover image, publisher, summary, and creator details will be added in the future. More features are planned as well, so keep watching!

repository: TechGladiator/comic-collection

gha_language: JavaScript

gha_license_id: MIT

repo_name: TechGladiator/comic-collection


text:
High level design

![Photo of Sawtooth POET SGX]( Rust_CPP_SGX.jpg "Sawtooth POET SGX High Level Design")

This directory contains the sgx related code for PoET2 consensus engine.

* rust_sgxffi - Rust APIs for the SGX enclave
* rust_sgx_bridge - Rust-C++ SGX bridge code
* libpoet_bridge, poet_enclave_sgx - Enclave code (untrusted)
* libpoet_enclave - Enclave code (trusted)
* testEnclave - Unit test code for enclave
* libpoet_shared - Shared Utility functions

Below are the steps to build and run PoET2 SGX Enclave with SGX HW mode using docker

1. Make sure the host setup has enabled the SGX in BIOS configuration
2. Install below packages on the host setup.  Install SGX driver and libsgx-common deb package on the host setup
	1. wget https://download.01.org/intel-sgx/linux-2.3/ubuntu16.04-server/sgx_linux_x64_driver_4d69b9c.bin
	2. chmod +x sgx_linux_x64_driver_4d69b9c.bin
	3. sudo ./ sgx_linux_x64_driver_4d69b9c.bin

	4. wget https://download.01.org/intel-sgx/linux-2.3/ubuntu16.04-server/libsgx-enclave-common_<IP_ADDRESS>354-1_amd64.deb
	5. dpkg –I https://download.01.org/intel-sgx/linux-2.3/ubuntu16.04-server/libsgx-enclave-common_<IP_ADDRESS>354-1_amd64.deb

4. Make sure host machine has device mapping /dev/isgx (Execute the command ls -l /dev/isgx and check if /dev/isgx is present)
5. Run PoET using docker-compose -> sudo docker-compose -f docker-compose-sgx-hw.yaml up

Steps to build PoET2 SGX Enclave in standalone mode in SIMUATOR mode
NOTE: Below steps are not needed for docker builds. Only applicable for standalone development builds

1. Install SGX binaries
	1. Download SGX SDK binary from below link
	   https://download.01.org/intel-sgx/linux-2.3/ubuntu16.04-server/sgx_linux_x64_sdk_<IP_ADDRESS>354.bin
	2. assign exec permission to binary and execute
		* *chmod +x sgx_linux_x64_sdk_<IP_ADDRESS>354.bin*
		* *./sgx_linux_x64_sdk_<IP_ADDRESS>354.bin*
	3. set SGX SDK lib path
		* *chmod +x <SGX_bin_path>/sgxsdk/environment*
		* *source <SGX_bin_path>/sgxsdk/environment*

2.  Install libclang-dev and libjson-c-dev libraries
	* *apt-get install libclang-dev/libjson-c-dev*

3. Build SGX code
	1. Create build folder and build SGX code
	   * *mkdir <sawtooth-poet-home>/build*
	   * *cd  <sawtooth-poet-home>/build/*
	2. *cmake ../sgx*
	3. *make*

Steps to run Unit test
1. Set SGX binary path
	* *export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<sawtooth-poet-home>/build/bin*

2. Execute unit tests using cargo
	1. *cd <sawtooth-poet-home>/sawtooth-poet/sgx/rust_sgxffi*
	2. *cargo test -- --nocapture*

3. Execute C++ unit test cases
    1. *cd <sawtooth-poet-home>/build/bin*
    2. *./testEnclave*

repository: manojgop/sawtooth-poet

detected_licenses: Zlib MIT Apache-2.0

gha_language: Rust

repo_name: manojgop/sawtooth-poet


text:
# GoProxy middleware

Middleware for go modules proxy, inspired by https://github.com/goproxyio/goproxy

## Usage
How to set up a middleware:

1. Initiate router:
    ```go
    r, err := goproxy.NewRouter()
    ```
2. Add needed handlers via
    ```go
    err := r.AddRoute(plugin)
    ```
    for example:
    ```go
    regular, err := vcs.NewPlugin(cacheDir)
    if err != nil {
        log.Fatal(err)
    }
    if err := r.AddRoute("", regular); err != nil {
        log.Fatal(err)
    }
    ```
    this library currently supports `vcs` which is pretty much like regular `go get` (`regular` in the example), `gitlab` which works
    upon gitlab's v4 API and delegation to another go proxy, see `source/...`
3. Generate middleware:
    ```go
    var m http.Handler = goproxy.Middleware(r)
    ```
    Now you can  use it in your HTTP server
    See `examples/goproxy` for details

## Example
There's an example which supports regular `go get`-like module retrieval and gitlab.

1. Build it:
    ```bash
    go build ./examples/goproxy
    ```
2. Start it:
    ```bash
    ./goproxy -cache-dir . -gitlab https://gitlab.com/api/v4 -listen <IP_ADDRESS>:8081
    ```
3. Set up environment:
    ```bash
    export GO111MODULE=on
    export GOPROXY=http://<gitlab private token>@localhost:8081
    ```
    Remember, you must generate gitlab private token first otherwise gitlab may reject your requests


text:
---
layout: post
title: "Detail in Xcode SwiftUI Core Data Sample"
date: 2022-04-18 11:18:00
category: swiftui
tags: [swiftui]
---

```swift
@main
struct SampleCoreDataApp: App {
   let persistenceController = PersistenceController.shared

   var body: some Scene {
      WindowGroup {
         ContentView()
            .environment(\.managedObjectContext, persistenceController.container.viewContext)
      }
   }
}
```

> Summary
>
> Sets the environment value of the specified key path to the given value.
>
> **Declaration**
> ```swift
> func environment<V>(_ keyPath: WritableKeyPath<EnvironmentValues, V>, _ value: V) -> some View
> ```
>
> **Discussion**
> Use this modifier to set one of the writable properties of the EnvironmentValues structure, including custom values that you create. For example, you can set the value associated with the EnvironmentValues/truncationMode key:
>
> ```swift
> MyView()
>     .environment(\.truncationMode, .head)
> ```
> You then read the value inside MyView or one of its descendants using the Environment property wrapper:
> ```swift
> struct MyView: View {
>     @Environment(\.truncationMode) var truncationMode: Text.TruncationMode
>
>     var body: some View { ... }
> }
> ```
> SwiftUI provides dedicated view modifiers for setting most environment values, like the View/truncationMode(_:) modifier which sets the EnvironmentValues/truncationMode value:
> ```swift
> MyView()
>     .truncationMode(.head)
> ```
> Prefer the dedicated modifier when available, and offer your own when defining custom environment values, as described in EnvironmentKey.
> The View/environment(_:_:) modifier affects the given view, as well as that view’s descendant views. It has no effect outside the view hierarchy on which you call it.
>
> ###### Parameters
> |<!---->|<!---->|
> |-|-|
> |keyPath|A key path that indicates the property of the EnvironmentValues structure to update. |
> |value|The new value to set for the item specified by keyPath.|
> ###### Returns
>
> A view that has the given value set in its environment.

[jekyll]: http://jekyllrb.com
[jekyll-gh]: https://github.com/jekyll/jekyll
[jekyll-help]: https://github.com/jekyll/jekyll-help

url: https://raw.githubusercontent.com/chiahao/chiahao.github.io/1af7e37d8c89818b28437295ba36eb6663b82b73/_posts/2022-04-18-Detail in Xcode SwiftUI Core Data Sample.markdown

extension: markdown


text:
pytest-serverless
---
Automatically mocks resources from serverless.yml in pytest using moto.

| master | PyPI | Python | pytest | Licence |
| --- | --- | --- | --- | --- |
| [![Build Status](https://travis-ci.org/whisller/pytest-serverless.svg?branch=master)](https://travis-ci.org/whisller/pytest-serverless) | [![PyPI](https://img.shields.io/pypi/v/pytest-serverless.svg)](https://pypi.org/project/pytest-serverless/) | ![](https://img.shields.io/pypi/pyversions/pytest-serverless.svg) | `3.10.1`, `4.6.6`, `5.2.4` | ![](https://img.shields.io/pypi/l/pytest-serverless.svg) |

## Installation
```sh
pip install pytest-serverless
```

Your project has to have `pytest` installed.

## What problem it tries to solve?
When building your project with [serverless](https://serverless.com/) most likely you will create
[resources](https://serverless.com/framework/docs/providers/aws/guide/resources/) like dynamodb tables, sqs queues, sns topics.

During writing tests you will have to mock those in [moto](https://github.com/spulec/moto).

This pytest plugin tries to automate this process by reading `serverless.yml` file and create
moto mocks of resources for you.

## Usage
Assuming your `serverless.yml` file looks like:
```yaml
service: my-microservice
resources:
 Resources:
   TableA:
     Type: 'AWS::DynamoDB::Table'
     DeletionPolicy: Delete
     Properties:
       TableName: ${self:service}.my-table
       AttributeDefinitions:
         - AttributeName: id
           AttributeType: S
         - AttributeName: company_id
           AttributeType: S
       KeySchema:
         - AttributeName: id
           KeyType: HASH
       GlobalSecondaryIndexes:
         - IndexName: company_id
           KeySchema:
             - AttributeName: company_id
               KeyType: HASH
           Projection:
             ProjectionType: ALL
           ProvisionedThroughput:
             ReadCapacityUnits: 10
             WriteCapacityUnits: 30
       ProvisionedThroughput:
         ReadCapacityUnits: 10
         WriteCapacityUnits: 30
```

To start using `my-microservice.my-table` table in your tests just mark your test with `@pytest.mark.usefixtures("serverless")`, and rest will be done by plugin.
```python
import boto3
import pytest

@pytest.mark.usefixtures("serverless")
def test():
    table = boto3.resource("dynamodb").Table("my-microservice.my-table")
    count_of_items = len(table.scan()["Items"])
    assert count_of_items == 0
```

## Supported resources
### AWS::DynamoDB::Table
### AWS::SQS::Queue
### AWS::SNS::Topic
### AWS::S3::Bucket

## Issues?
Plugin is in early stage of development, so you might find some bugs or missing functionality.

If possible create pull request (with tests) that fixes particular problem.

repository: I-himawari/pytest-serverless

repo_name: I-himawari/pytest-serverless


text:
---
layout: post
title: Day Twenty Seven and Twenty Eight
excerpt: Two days for the price of one
tags: [intro, beginner, jekyll, tutorial]
comments: true
category: blog
---
Well now I have gone and done it. I forgot to make a post after working on something.  How can I be trusted to learn all of this properly if I can't even follow a simple habit?

It is ok, it is not a big deal. I have been working on this stuff at night, after long days at work, when I probably should be relaxing. So it is bound to happen, that I forget to do something. I would rather it didn't as part of the whole exercise here is to create habits to hopefully lead to a better learning experience.

### So what have I been doing the last two days?

I started working on the next HTML/CSS project from [freecodecamp.org](https://www.freecodecamp.org/). This is about building a survey form. It is pretty simple and over the last two days, I have put the framework up.

I am trying to do these projects without looking at other source code (mostly the example page that the website provides), but I am still looking at it a lot. I am finding that I am relying on it pretty heavily and it makes me nervous that it is not helping me figure it out and retain the information. I might have to make a few of these survey forms to make sure I understand it fully.

Dirkles, out.


text:
# Custom Apps
These apps are made for specific purposes.

## Installation
Add the following link to the list of repositories in Jeti Studio at\
File > Configuration > Apps sources:\
https://github.com/LeonAirRC/Jeti-Lua-Apps/raw/main/custom/repository/apps.json \
Then Jeti's app manager can be used to download the apps very comfortably.

repository: LeonAirRC/Jeti-Lua-Apps

branch_name: refs/heads/main

repo_name: LeonAirRC/Jeti-Lua-Apps


text:
## react-split-grid v1.0.4

-   Publishes Typescript types on NPM
-   Corrects misspelling of `maxSize` property
-   Corrects type of parameters from object to array

## react-split v2.0.14

-   Omits incompatible properties from the React HTMLAttributes

## split.js v1.6.5

-   Allows `snapOffset` to be passed as an array

## react-split v2.0.13

-   Extends React component types from React.HTMLAttributes

## react-split v2.0.12

-   Publishes Typescript types on npm

## react-split v2.0.11

-   Fixes a bug where `maxSize` was being passed to the DOM component

## split.js v1.6.4, react-split v2.0.10

-   Updates types with new `maxSize` option

## split-grid v1.0.10

-   Fixes a bug in storing columns and rows in the instance
-   Adds types

## split.js v1.6.3

-   Adds `maxSize` option

## react-split-grid v1.0.3

-   Fix `React.Children` typo

## split.js v1.6.2

-   Update `onDrag` type definitions on include `sizes` parameter

## split.js v1.6.1, react-split v2.0.9

-   Revert from `.mjs` modules for Webpack

## react-split v2.0.8

-   Fix module resolution

## split.js v1.6.0

-   Remove support of IE8
-   Support SSR
-   Bundle Typescript types in published build
-   Most stable testing with CircleCI and Saucelabs
-   Upgrade all dev dependencies and setup Dependabot for automatic upgrades

repository: nathancahill/split

repo_name: nathancahill/split


text:
# `proto` @libp2p/observer-proto

This package contains [the `.proto` protobuf schema](lib/introspection.proto) shared with the libp2p Introspection module, and the [JavaScript implementation](lib/introspection.proto) of this schema generated with ProtoC, as well as a checksum script, [fnv1a](lib/fnv1a.js) for verifying libp2p Introspection binary.

For more details on the protobuf format and operation, see the [official Google protobuf documentation](https://developers.google.com/protocol-buffers).

- [Usage](#usage)
  - [Using protobuf messages in JavaScript](#using-protobuf-messages-in-javascript)
  - [Updating the protobuf schema](#updating-the-protobuf-schema)
- [Message types](#message-types)
  - [Data messages](#data-messages)
    - [`ServerMessage` messages](#servermessage-messages)
    - [`Runtime` messages](#runtime-messages)
    - [`State` messages](#state-messages)
    - [`Event` messages](#event-messages)
  - [Signal messages](#signal-messages)
    - [`ClientSignal` messages](#clientsignal-messages)

## Usage

### Using protobuf messages in JavaScript

Decoded protobuf objects in JavaScript convert field names in the protobuf schema to camelCase `get` and `set` methods. For example, a field named `version` would be accessed by calling `.getVersion()` on the decoded JavaScript protobuf message.

### Updating the protobuf schema

In the rare event of needing to update the protobuf definition and generated JavaScript implementation, run `npm run protoc` (requires [`protoc`](http://google.github.io/proto-lens/installing-protoc.html)). Ensure that changes are versioned and also mirrored in the libp2p Introspection module.

## Message types

This section gives an overview of the main libp2p Introspection message times and how they inter-relate. See also:

- The [protobuf schema]((lib/introspection.proto)) for the detail on each individual submessage and field
- The [file format documentation](../../docs/file-format.md) for how these binary-encodded messages are packaged
- The [data emitting protocol docs](../../docs/introspection-data-emitting-protocol.md) for how the data server and client interact
- The [console API](../../docs/developer-guide.md#23-accessing-data-in-the-browser-console), which may be used to explore JavaScript-decoded libp2p Introspection message objects in the browser console
- The [data package](../data), which contains JavaScript helper functions performing common operations on decoded libp2p Introspection data, such as making common calculations and extracting deep-nested fields.

### Data messages

These are sent from the Introspection server to the Observer client.

#### `ServerMessage` messages

These serve as an outer wrapper for data messages (`state`, `event` and `runtime`) sent from the Introspection server to the Observer client. They carry the version number of the protocol, so that future versions that expand the protobuf definition can maintain backwards compatibility and avoid calling new methods that won't exist in old data.

#### `Runtime` messages

These contain metadata and settings about the libp2p Introspection server and environment. This includes:

 - System metadata such as the `implementation` (e.g. Go, Rust, JavaScript) of libp2p being used, the `version` of that implementation, the `platform` (operating system) it is run on and the `peer_id` of the libp2p node hosting the introspection server.
 - `event_types` lists metadata about types of events that have been observed by the libp2p Introspection server, including properties of these events and data types of those properties. When a new event type is observed, this is updated and a new `Runtime` message is sent.
 - `retention_period_ms` indicates for how long data will be retained before being discarded. The practical implications of this are, on the UI side, the maximum length of the [shell](../shell) timeline and the cutoff point at which the [datastore](../sdk/hooks#usedatastore) allows old data to be garbage collected, and on the server side, the maximum buffer size that should be queued while data is paused.
 - `send_state_interval_ms` indicates how frequently new `State` messages are to be generated by the Introspection server and sent to the Observer.

For both `retention_period_ms` and `send_state_interval_ms`, an Observer user may request a change to this setting by sending config signal messages (for example, from the "Info and settings" panel in the [shell](../shell) UI), and the server may approve or mandate a new setting by sending a new `Runtime` message (for example, if a resource use threshold is exceeded).

#### `State` messages

These are sent at a regular interval defined in the `Runtime`'s `send_state_interval_ms` field. They give the current state and metrics for a list of `subsystems`, such as `connections` and `dht`, each of which has its own submessage structures.

As well as the `subsystems`, each `State` message carries a `Traffic` submessage summarising all traffic for the host peer, and three timing fields:

 - `instant_ts` - an integer timestamp giving the moment of data collection: when the data in this message is true for.
 - `snapshot_duration_ms` - an integer representing in miliseconds the frequency of state messages at the time this message was generated. Should equal the `Runtime`'s `send_state_interval_ms` field unless that has changed since a state message was generated.
 - `start_ts` - an integer timestamp indicating the time at which data was being collected that contributed to this state message and no previous state message. This is used to show the time span represented by a state message and to indicate any gaps during which there was no data collection and data such as events may have been missed, Normally this will be equal or almost equal to `instant_ts` minus `snapshot_duration_ms`.

 If a state message is missing just one of these three values, the UI's data package `getStateTimes` helper function will estimate it from the other two.

#### `Event` messages

These are sent immediately on an event being observed by the libp2p Introspection server. The libp2p Observer then updates its datastore immediately, applying a small buffer to prevent excessive UI redraws in cases of extremely high-frequency events.

They contain a `type` that corresponds to a `name` in the `Runtime`'s `event_types` list, a `content` string containing stringified JSON of a schema matching the `property_type`s of the appropriate runtime `event_type`, and an integer timestamp `ts` of the moment the event was observed.

### Signal messages

These are sent from the Observer client to the Introspection server.

#### `ClientSignal` messages

All signals from the Observer client to the server use this message type. It contains a `version` similar to the `version` of a `ServerMessage` message, a `signal` enum indicating the type of signal, and optional fields specific to signal types.

Signal types available are:

- `SEND_DATA`: requests either a `Runtime` or `State` message from the server, defined by a `data_source` enum field on the signal message. Normally the relationship between Introspection server and Observer client is push-based, but this may be used to emit messages on a pull basis.
- `PAUSE_PUSH_EMITTER`: Requests that the Introspection server stops pushing messages, and instead queues them until an unpause signal is sent.
- `UNPAUSE_PUSH_EMITTER`: Requests that the Introspection server pushes any queued messages and resumes pushing `State` messages according to the `Runtime`'s `send_state_interval_ms` field and pushes `Event` messages as soon as they are available.
- `CONFIG_EMITTER`: Sends a JSON string with instructions on configuration changes for the server to make. If the server does make changes, a new `Runtime` message will be pushed indicating the new settings (which may not exactly match the request - for example if the request would exceed resource limits). Config changes may be:
  - `retention_period_ms` - (number) new value for the `Runtime`'s `retention_period_ms` field
  - `send_state_interval_ms` - (number) new value for the `Runtime`'s `send_state_interval_ms` field.


text:
Welcome to the Android APS documentation
==============================================

**What is AndroidAPS?**

AndroidAPS is an app that can communicate with bluetooth-enabled insulin pumps, and runs a version of OpenAPS "oref0" algorithm.

**Primary goals behind AndroidAPS:**

* modular app where is possible to easy add new modules without touching the rest of code
* app that allow localization
* app where we can easy select what will be included in final apk just by easy change and compilation
* app which support open and closed APS mode
* app where you can see how APS works: input params, result and final decision
* allow to add more APS algorithms and let user decide what to use
* app independent to pump driver and containing "Virtual pump" to allow users safely play with APS
* app with tight Nightscout integration
* app where is possible easy to add/remove constraints for user safety
* all-in-one app you need for managing T1D with APS and Nightscout

**What you need to get started:**

* An Android Smartphone with Android 5.0 or later. See `this spreadsheet <https://docs.google.com/spreadsheets/d/1gZAsN6f0gv6tkgy9EBsYl0BQNhna0RDqA9QGycAqCQc/edit?usp=sharing>`_ for reports on how well a phone works with AndroidAPS.
* An app to receive CGM data: `xDrip <http://stephenblackwasalreadytaken.github.io/xDrip/>`_/ `xDrip+ <https://github.com/jamorham/xDrip-plus>`_, `Glimp <http://www.nightscout.info/wiki/welcome/nightscout-for-libre>`_ or `600SeriesAndroidUploader <https://github.com/pazaan/600SeriesAndroidUploader>`_
* `AndroidAPS <https://github.com/MilosKozak/AndroidAPS>`_ itself
* `Nightscout <https://github.com/nightscout/cgm-remote-monitor>`_ 0.10.2 or later
* A supported pump: Dana-R or Dana-RS Insulin Pump (unless you build your own driver for other insulin pump) or Accu-Chek Combo (currently in wider testing)
* A Continuous Glucose Monitor (CGM) data source: Dexcom G4/G5, Freestyle Libre, Eversense or Medtronic Guardian

.. note::
	**Disclaimer And Warning**

	* All information, thought, and code described here is intended for informational and educational purposes only. Nightscout currently makes no attempt at HIPAA privacy compliance. Use Nightscout and AndroidAPS at your own risk, and do not use the information or code to make medical decisions.

	* Use of code from github.com is without warranty or formal support of any kind. Please review this repository's LICENSE for details.

	* All product and company names, trademarks, servicemarks, registered trademarks, and registered servicemarks are the property of their respective holders. Their use is for information purposes and does not imply any affiliation with or endorsement by them.

	Please note - this project has no association with and is not endorsed by: `SOOIL <http://www.sooil.com/eng/>`_, `Dexcom <http://www.dexcom.com/>`_, `Accu-Chek, Roche Diabetes Care <http://www.accu-chek.com/>`_.

Getting Started with AndroidAPS
----------------
.. toctree::
   :maxdepth: 1
   :glob:

   Safety First </EN/Getting-Started/Safety-first>
   Screenshots </EN/Getting-Started/Screenshots.md>
   Architcture, security implementation </EN/Getting-Started/Architecture-security-implementation.md>
   Phone </EN/Getting-Started/Phones.md>
   Pump choices </EN/Getting-Started/Pump-Choices.md>
   Future possible pump drivers  </EN/Getting-Started/Future-possible-Pump-Drivers.md>
   Glossary </EN/Getting-Started/Glossary.md>
   How to help </EN/Getting-Started/How-can-I-help.md>

How to Install AndroidAPS
------------
.. toctree::
   :maxdepth: 1
   :glob:

   Building the APK </EN/Installing-AndroidAPS/Building-APK.md>
   How to update to a new version </EN/Installing-AndroidAPS/Update-to-new-version.md>
   Nightscout </EN/Installing-AndroidAPS/Nightscout.md>

Configuration
---------------
.. toctree::
   :maxdepth: 1
   :glob:

   Config Builder </EN/Configuration/Config-Builder.md>
   BG Source</EN/Configuration/BG-Source.md>
   DanaR </EN/Configuration/DanaR-Insulin-Pump.md>
   DanaRS </EN/Configuration/DanaRS-Insulin-Pump.md>
   Accu Chek Combo </EN/Configuration/Accu-Chek-Combo-Pump.md>
   Watchfaces </EN/Configuration/Watchfaces.md>
   Preferences </EN/Configuration/Preferences.md>
   Sensitivity Detection and COB </EN/Configuration/Sensitivity-detection-and-COB.md>

Usage
------------
.. toctree::
   :maxdepth: 1
   :glob:

   Objectives </EN/Usage/Objectives.md>
   OpenAPS Features </EN/Usage/Open-APS-features.md>
   Profiles </EN/Usage/Profiles.md>
   SMS Commands </EN/Usage/SMS-Commands.md>
   Extended Carbs </EN/Usage/Extended-Carbs.md>
   Tips and Tricks </EN/Usage/Tips-and-tricks.md>
   Accessing log files </EN/Usage/Accessing-logfiles.md>
   Dev branch </EN/Usage/Dev-branch.md>

Where to go for help
------------
.. toctree::
   :maxdepth: 1
   :glob:

   Background reading & interesting articles </EN/Where-To-Go-For-Help/Background-reading.md>
   Where to go for help </EN/Where-To-Go-For-Help/Connect-with-other-users.md>

-.. toctree::
-   :maxdepth: 2
-   :glob:
-   :caption: CZ
-
-   Instrukce v češtině  </CZ/Instrukce-v-češtině.md>
-
-.. toctree::
-   :maxdepth: 2
-   :glob:
-   :caption: DE - Zum Starten
-
-   Home </DE/Zum-Starten/Home_de.md>
-   Sicherheit Geht Vor </DE/Zum-Starten/Sicherheit_Geht_Vor_de.md>
-   Screenshots </DE/Zum-Starten/Screenshots.md>
-   Objectives </DE/Zum-Starten/Objectives_de.md>
-   Glossar_de </DE/Zum-Starten/Glossar_de.md>
-
-.. toctree::
-   :maxdepth: 2
-   :glob:
-   :caption: DE - AndroidAPS installieren
-
-   APK erstellen </DE/AndroidAPS-installieren/APK-erstellen_de.md>
-   Update auf neue Version </DE/AndroidAPS-installieren/Update-auf-neue-Version_de.md>
-
-.. toctree::
-   :maxdepth: 2
-   :glob:
-   :caption: DE - Einstellungen
-
-   DanaR Insulinpumpe </DE/Einstellungen/DanaR-Insulinpumpe_de.md>
-   Accu-Chek Combo Pumpe </DE/Einstellungen/Accu-Chek-Combo-Pumpe.md>
-   Nightscout </DE/Einstellungen/Nightscout_de.md>
-   Blutzucker Quelle </DE/Einstellungen/Blutzucker-Quelle_de.md>
-   AndroidAPS </DE/Einstellungen/AndroidAPS_de.md>
-   Smartwatch Visualisierung </DE/Einstellungen/Smartwatch-Visualisierung_de.md>
-
-.. toctree::
-   :maxdepth: 2
-   :glob:
-   :caption: DE - Combo
-
-   /DE/Combo/Accu-Check-Combo-Probleme-bei-der-Ersteinrichtung
-   /DE/Combo/Accu-Check-Combo-Issues-during-initial-setup
-   /DE/Combo/Accu-Chek-Combo-Issues-during-initial-setup
-   /DE/Combo/Accu-Chek-Combo-Probleme-bei-der-Ersteinrichtung
-   /DE/Combo/Accu-Chek-Combo-Tipps-and-Tricks
-   /DE/Combo/Accu-Chek-Combo-Tipps-beim-taeglichen-Gebrauch
-   /DE/Combo/Accu-Chek-Combo-Tipps-for-Basic-usage
-
-.. toctree::
-   :maxdepth: 2
-   :glob:
-   :caption: DE - Benutzung
-
-   OpenAPS Funktionen </DE/Benutzung/OpenAPS-Funktionen_de.md>
-   Circadian Percentage Profil </DE/Benutzung/Circadian-Percentage-Profil_de.md>
-   Profilfunktion ab Version 1.5_de </DE/Benutzung/Profilfunktion-ab-Version-1.5_de.md>
-   Profil "Free-Peak 0ref" </DE/Benutzung/Profil-Free-Peak-0ref..md>
-   SMS Commands </DE/Benutzung/SMS-Commands_de.md>
-   Tipps und Tricks </DE/Benutzung/Tipps-und-Tricks_de.md>
-   Tipps und Tricks zur Combo </DE/Benutzung/Tipps-und-Tricks-zur-Accu-Chek-Combo.md>
-   Logfiles erhalten </DE/Benutzung/Logfiles-erhalten_de.md>
-   Dev branch </DE/Benutzung/Dev-Branch_de.md>
-
-.. toctree::
-   :maxdepth: 2
-   :glob:
-   :caption: DE - Beispiel-Setups-und-Erfahrungsberichte
-
-   Beispiel-Konfiguration Galaxy S7, DanaR, Dexcom G5 und SWR50 </DE/Beispiel-Setups-und-Erfahrungsberichte/Beispiel-Konfiguration-Galaxy-S7-DanaR-Dexcom-G5-und-SWR50.md>
-
-.. toctree::
-   :maxdepth: 2
-   :glob:
-   :caption: Въведение
-
-   Начало </български/Въведение/Начало.md>
-   Безопасност </български/Въведение/Безопасност.md>
-   Скрийншоти </български/Въведение/Скрийншоти.md>
-   Архитектура, security implementation </български/Въведение/Архитектура-security-implementation.md>
-   Терминология </български/Въведение/Терминология.md>
-
-.. toctree::
-   :maxdepth: 2
-   :glob:
-   :caption: Инсталиране
-
-   Създаване на APK </български/Инсталиране/Създаване-на-APK.md>
-   Обновяване до последна версия </български/Инсталиране/Обновяване-до-последна-версия.md>
-
-.. toctree::
-   :maxdepth: 2
-   :glob:
-   :caption: Конфигуриране
-
-   DanaR инсулинова помпа </български/Конфигуриране/DanaR-инсулинова-помпа.md>
-   Найтскаут (Nightscout) </български/Конфигуриране/Найтскаут-(Nightscout).md>
-   Източник на данни за КЗ </български/Конфигуриране/Източник-на-данни-за-КЗ.md>
-   Опции </български/Конфигуриране/Опции.md>
-
-.. toctree::
-   :maxdepth: 2
-   :glob:
-   :caption: Използване
-
-   Open APS функции </български/Използване/Open-APS-функции.md>
-   Процентен профил </български/Използване/Процентен-профил.md>
-   Работа с профили след v1.5 </български/Използване/Работа-с-профили-след-v1.5.md>
-   SMS Команди </български/Използване/SMS-Команди.md>
-   Съвети и похвати </български/Използване/Съвети-и-похвати.md>
-   Достъп до лог файлове  </български/Използване/Достъп-до-лог-файлове.md>
-
-.. toctree::
-   :maxdepth: 2
-   :glob:
-   :caption: Източници
-
-   Връзка с други потребители </български/Източници/Връзка-с-други-потребители.md>
-
-.. toctree::
-   :maxdepth: 2
-   :glob:
-   :caption: Примери
-
-   Примерна конфигурация: Galaxy S7, DanaR, Dexcom G5 и SWR50 </български/Примери/Примерна-конфигурация-Galaxy-S7-DanaR-Dexcom-G5-и-SWR50.md>
-
-.. toctree::
-   :maxdepth: 2
-   :glob:
-   :caption: Подкрепа
-
-   Как може да помогна? </български/Подкрепа/Как-може-да-помогна.md>
-

repository: roppenheimer/AndroidAPSdocs

repo_name: roppenheimer/AndroidAPSdocs


text:
Fork of Square Otto
=============================
https://github.com/square/otto

Added feature of named event.
This allow multiple producer, productin same object type for different event name.
As well as the subscriber will be able to subscribe event based on the name.

The ultimate conclusion of this changes is now you can use simple object like String or boolean with different name

``` java
@Subscriber(event = 'push_configuration');
@Producer(event = 'push_configuration') producePushConfigChange();

@Subscriber(event = 'wifi_only_download');
@Producer(event = 'wifi_only_download') produceWifiConfigChange();

bus.post('push_configuration', true);
bus.post('push_configuration', producePushConfigChange());

bus.post('wifi_only_download', true);
bus.post('wifi_only_download', produceWifiConfigChange());
```

Example above is just a very simple showcase of what can done with named event.

Added feature for searching parent class for subscribe and produce annotation
Based on https://github.com/thirogit/otto

Otto - An event bus by Square
=============================

An enhanced Guava-based event bus with emphasis on Android support.

Otto is an event bus designed to decouple different parts of your application
while still allowing them to communicate efficiently.

Forked from Guava, Otto adds unique functionality to an already refined event
bus as well as specializing it to the Android platform.

*For usage instructions please see [the website][1].*

Download
--------

Downloadable .jars can be found on the [GitHub download page][2].

You can also depend on the .jar through Maven:
```xml
<dependency>
  <groupId>com.squareup</groupId>
  <artifactId>otto</artifactId>
  <version>1.3.8</version>
</dependency>
```
or Gradle:
```groovy
compile 'com.squareup:otto:1.3.8'
```

Snapshots of the development version are available in [Sonatype's `snapshots` repository][snap].

License
-------

    Copyright 2012 Square, Inc.
    Copyright 2010 Google, Inc.

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

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

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

 [1]: http://square.github.com/otto/
 [2]: http://github.com/square/otto/downloads
 [snap]: https://oss.sonatype.org/content/repositories/snapshots/

repository: yunarta/otto

repo_name: yunarta/otto


text:
Instructions
------------

Using [Packer](https://packer.io/) and [Ansible](https://github.com/ansible/ansible) to repackage custom AWS EC2 AMIs.

Put this together as I didn't really find great examples for doing exactly what I wanted to. Hopefully this can help others.

1. cp aws-creds-example.json aws-creds.json
  * replace values in aws-creds.json
1. packer build -var-file=aws-creds.json templates/base.json
1. profit

**note:** you may need to remove the subnet_id and the aws_vpc_id


text:
# action-hash-verify

This is a first commit change.

Now this is a second commit change within ten seconds. Does action's push remain the same as "pushed" commit or latest head of branch?

---

* First commit action: https://github.com/RadWolfie/action-hash-verify/runs/676040788
* Second commit action: https://github.com/RadWolfie/action-hash-verify/runs/676042149

Since both commits were pushed within 10 seconds, they were not using the latest HEAD of the branch.

license: Unlicense

repository: RadWolfie/action-hash-verify

repo_name: RadWolfie/action-hash-verify


text:
CocoaRouge
==========

Ruby inspired categories to make Objective-C a little bit nicer to use.

Usage
=====

### Lanaguage Constructs

unless()

Equivalent to if (!conditional), it runs the unless code if the conditional is false and the else if it's true.

	unless (1 != 1) {
		NSLog(@"This will be run because the conditional resolves to NO")
	} else {
		NSLog(@"This would be run if the conditional resolved to YES")
	}

### NSArray

map:

Returns an array made of the return value of each call to the block.

	NSArray *words = @[@"funny", @"little", @"frog"];

	NSArray *mappedArray = [words map:id^(id item) {
		NSString *word = (NSString *)item;

		return @"yes";
	}];

	mappedArray == @[@"yes", @"yes", @"yes"]

join and join:

Creates a string by joining the elements of an array with either whitespace or a separator.

	NSArray *words = @[@"funny", @"little", @"frog"];

	[words join]; == @"funny little frog"
	[words join:@"-"]; == @"funnny-little-frog"

isEmpty

Returns true if the array has no elements and false if it has any.

	NSArray *words = @[@"funny", @"little", @"frog"];
	[words isEmpty]; == NO

	NSArray *noWords = @[];
	[noWords isEmpty]; == YES

any:

Returns true if the array contains and elements passing the test in the block. Returns false if none pass the test.

	NSArray *words = @[@"funny", @"little", @"frog"];

	[words any:BOOL^(id item) {
		NSString *word = (NSString *)item;

		return [word isEqualToString:@"funny"];
	}]; == YES

	[words any:BOOL^(id item) {
		NSString *word = (NSString *)item;

		return [word isEqualToString:@"belle"];
	}]; == NO

select:

Returns an array of the elements from an array that pass the test in the block.

	NSArray *words = @[@"funny", @"little", @"frog"];

	NSArray *selectedWords = [words select:^BOOL(id item) {
		NSString *word = (NSString *)item;

		return [word isEqualToString:@"funny"];
	}]; == @[@"funny"]

	selectedWords = [words select:^BOOL(id item) {
		NSString *word = (NSString *)item;

		return [word isEqualToString:@"belle"];
	}]; == @[]

reject:

Returns an array of any elements that fail the test in the block.

	NSArray *words = @[@"funny", @"little", @"frog"];

	NSArray *selectedWords = [words reject:^BOOL(id item) {
		NSString *word = (NSString *)item;

		return [word isEqualToString:@"funny"];
	}]; == @[@"little", @"frog"]

	selectedWords = [words reject:^BOOL(id item) {
		NSString *word = (NSString *)item;

		return [word isEqualToString:@"belle"];
	}]; == @[@"funny", @"little", @"frog"]

each:

Executes a block for each element in an array.

	NSArray *words = @[@"funny", @"little", @"frog"];

	[words each:^(id item) {
		NSLog(@"This will be called once for each item in words");
	}];

each_with_index:

Executes a block for each element in an array and passed in the index of the element.

	NSArray *words = @[@"funny", @"little", @"frog"];

	[words eachWithIndex:^(id item, int index) {
		NSLog(@"This will be called once for each item in words and pass the index of the item");
	}];

### NSNumber

times:

Executes the block however many times the number is equal to.

	[@(4) times:{
		NSLog(@"This block will be called 4 times.")
	}];

timesWithIndex:

Executes the block however many times the number is equal to. Passes in the index of the current iteration.

	[@(4) times:^(int i) {
		NSLog(@"This block will be called 4 times and will pass the count each time")
	}];

toString

Converts an NSNumber to an NSString.

	[@(42) toString]; == 42

### NSString

join: and join:with:

Creates a new string by concatenating two strings with either a space or the specified separator.

	[[@"funny" join:@"little"] join:@"frog"]; == @"funny little frog"

	[[@"funny" join:@"little" with:@"-"] join:@"frog" with:@"-"]; == @"funny-little-frog"

isEmpty

Returns true if the length of the string is 0 and false if it's greater than 0.

	NSString *text = @"";
	[text isEmpty]; == YES

	NSString *text = @"funny little frog";
	[text isEmpty]; == NO

chomp and chomp:

Removes the specified string from the end of a string or removes \n if no string is specified.

	[@"Adam" gsub:@"Adam" with:@"Help"]; == "Help"

split and split:

Returns an array that divides the string by whitespace or the specified separator.

	[@"funny little frog" split]; == @[@"funny", @"little", @"frog"]
	[@"funny-little frog" split:@"-"]; == @[@"funny", @"little frog"]

index:

Returns the index of the first occurrence of a string in another string.

	[@"funny little frog" index:@"little"]; == 6
	[@"funny little frog" index:@"belle"]; == -1

repository: danieltiger/CocoaRouge

repo_name: danieltiger/CocoaRouge


text:
# DSB_GNN
Requirements:
  Python >= 3.6
  PyTorch>=1.6
  Numpy>=1.16.0
  torch-geometric>=1.6.0
  pandas>=0.24.0
  scikit-learn>=0.20.0

# GraphMaker
Save the NHEK and K562 datasets in the data directory, run the graphmaker.py file, and the running instructions are:
   `python Graphmaker.py`
The generated file is automatically saved in data/NHEK_dgl_data and data/K562_dgl_data folder.

# Model training
The operation instructions are:
  `python K562_training.py --test_chr=X --device=device_num`
  `python NHEK_training.py --test_chr=X --device=device_num`
Where, X represents the test chromosome number, ranging from 1 to 23, device_num is the GPU number. The trained model will be saved in the model folder.

# Model test
The operation instructions are:
  `python K562_test.py --test_chr=X --device=device_num`
  `python NHEK_test.py --test_chr=X --device=device_num`
The prediction results are saved in the prediction folder.

# Model explain
The operation instructions are:
  `python K562_feature_explain.py --test_chr=X --device=device_num`
  `python NHEK_feature_explain.py --test_chr=X --device=device_num`
  `python K562_edge_explain.py --test_chr=X --device=device_num`
  `python NHEK_edge_explain.py --test_chr=X --device=device_num`
The feature importance and edge importance corresponding to the feature number will be generated in the current folder.

gha_language: Python


text:
# A PHP Validator for the GTIN standard

[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE.md)
[![PHP Version](https://img.shields.io/packagist/php-v/juststeveking/php-sdk.svg?style=flat-square)](https://php.net)
[![Latest Version on Packagist](https://img.shields.io/packagist/v/juststeveking/gtin-php.svg?style=flat-square)](https://packagist.org/packages/juststeveking/gtin-php)
![Tests](https://github.com/JustSteveKing/gtin-php/workflows/Tests/badge.svg)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/JustSteveKing/gtin-php/badges/quality-score.png?b=main)](https://scrutinizer-ci.com/g/JustSteveKing/gtin-php/?branch=main)
[![Total Downloads](https://img.shields.io/packagist/dt/juststeveking/gtin-php.svg?style=flat-square)](https://packagist.org/packages/juststeveking/gtin-php)

A PHP package for validating GTIN codes for use in plain PHP and in Laravel.

## Installation

You can install the package via composer:

```bash
composer require juststeveking/gtin-php
```

## Usage PHP

If you are using a framework other than Laravel, or Laravel itself - you can use the `Gtin` class directly to validate aspects or the entire value passed in. You can check out the [specifications for gtin and GS1 here](https://www.gs1.org/docs/barcodes/GS1_General_Specifications.pdf).

## Validating correct length

A GTIN is between 8 and 14 characters long.

```php
use JustSteveKing\GtinPHP\Gtin;

$correct =<PHONE_NUMBER>96;
$valid = Gtin::length($correct); // returns true

$incorrect = 123456;
$failed = Gtin::length($incorrect); // returns false
```

## Validating that it is an integer

A GTIN must be an integer value, in php you can easily use `is_int()` however I have provided a method here to also do the same thing:

```php
use JustSteveKing\GtinPHP\Gtin;

$correct =<PHONE_NUMBER>96;
$valid = Gtin::integer($correct); // returns true

$incorrect = '614141999996';
$failed = Gtin::integer($incorrect); // returns false
```

## Inspecting the gtin and validating the check digit

The GTIN is formatted in a very specific way, this is documented fully in the specificas [document](https://www.gs1.org/docs/barcodes/GS1_General_Specifications.pdf)

```php
use JustSteveKing\GtinPHP\Gtin;

$correct =<PHONE_NUMBER>96;
$valid = Gtin::inspect($correct); // returns true

$incorrect = 123456789;
$failed = Gtin::inspect($incorrect); // returns false
```

## Validating all aspects in one go

```php
use JustSteveKing\GtinPHP\Gtin;

$correct =<PHONE_NUMBER>96;
$valid = Gtin::validate($correct); // returns true

$incorrect = 123456789;
$failed = Gtin::validate($incorrect); // returns false
```

## Validating in Laravel

There is a Laravel Rule as well as a validation macro that gets registered with this package, please use in one of the following ways:

```php
// using the class directly
public function rules()
{
    return [
        'gtin' => [
            'required',
            new JustSteveKing\GtinPHP\Rules\Gtin,
        ]
    ];
}
```

```php
// using the registered macro
public function rules()
{
    return [
        'gtin' => [
            'required',
            Rule::gtin(),
        ]
    ];
}
```

Feel free to use the `Gtin` class directly if that is more convinient.

## Testing
```bash
composer test
```

## Contributing

Please see [CONTRIBUTING](.github/CONTRIBUTING.md) for details.

## Security Vulnerabilities

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

## Credits

- [Steve McDougall](https://github.com/JustSteveKing)
- [All Contributors](../../contributors)

## License

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

repository: geekwolverine/gtin-php

repo_name: geekwolverine/gtin-php


text:
Mandatory terms:

- Create a class StudentData with the private members int stuID, String stuName, private int stuAge.
- Store the student data using default and parameterized constructors.
- Also the class should consists of the following getter and setter methods: getStuID(), setStuID(),getStuName(), setStuName(),getStuAge(), setStuAge().
- Display the student information.(Note:Enter student Name,student ID and student Age for parameterized constructor)

path: /classes and objects/student information/README.md


text:
---
layout: default
---

# 1995-12-20 - RE: Political Cleanup program [NOISE]

## Header Data

From: "Kurt Buff (Volt Comp)"<EMAIL_ADDRESS>To: Bill Stewart<EMAIL_ADDRESS>Message Hash: f79ee09a20078b02ed2105b0ee1595da1ed377efd084084c4ff2de5d264d4ab9

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1995-12-20 00:00:09 UTC

Raw Date: Tue, 19 Dec 95 16:00:09 PST

## Raw message

```
{% raw  %}From: "Kurt Buff (Volt Comp)"<EMAIL_ADDRESS>Date: Tue, 19 Dec 95 16:00:09 PST
To: Bill Stewart<EMAIL_ADDRESS>Subject: RE: Political Cleanup program [NOISE]
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

Let's try this again, shall we? My mailer didn't act the way I wanted it
to...
___________________________________
>I happen to believe in freedom of speech, especially political speech,
>and if you're not allowed to spend money broadcasting your speech or
>printing your messages, you don't have much freedom of press or speech.

It is very strange the way that "Libertarians" are so able to turn all
rights into property rights. Thus freedom of speech become freedom to have
influence on the politicial process in direct proportion to wealth.
_____________________________________
Not so strange really. All rights, correctly understood, *are* property
rights. What most don't understand is that rights are protections from the
initiation of force by others. What this means is that you (anyone) don't
have the right to the property of others. You have the right to offer
mutually satisfactory exchanges, or even solicit outright gifts, but what is
yours is yours, and it shouldn't be subject to extortion or theft by others.
This includes your time, cash, and any other tangible assets you may own.
_______________________________________________
I began work on the web in '92 because I saw its potential as a political
tool
which did not have the bias of wealth. It has the potential to create a new
kind
of political dialogue. When the Web becomes as ubiquitous as the telephone
we
will still see inequalities of power, the homeless and the poor will still
be
underrepresented. But that situation must be judged against our own where
the
political process can be bought and traded as if it were any other form of
comodity.
________________________________________
The problem with the political process now is that the government and its
beneficiaries (which includes both the large corporation and the welfare
class) have over time arrogated to themselves the power to steal (via taxes
and regulation) our lives and our livelihood from us. The poor and the rich
will always be with us, but they shouldn't be special clients of the state
at the expense of everyone else.
_____________________________________
It is not simply an issue of money, it is an issue of national security. If
a
foreigner were to control the majority of the media there would be a
significant
threat to the national interest. This threat has been realised in the UK
with
the comming to power of Rupert Murdoch. Fortunately his influence on the US
political scene has thus far been minor. In his own country he has brought
down
the government more than once.
_____________________________________________
The only reason foreign money might be a threat to us is again that the
government arrogated to itself the power to regulate our lives. The reason
and interest for lobbying the government, whether through the press or
through other, more direct, efforts is that the government *can do
something* about whatever happens to be at issue. Take away the ability of
the government to act, and there won't be any money spent lobbying it. I
submit we'd all be better off.
________________________________________________
>And as far as "prevent the political process from being owned by the rich"
>goes, there have been brief exceptions over the last 5000 years in which
>the less-rich have overthrown the rich, but campaign finance laws have
almost
>never kept the rich or the politicians from helping each other out.

In UK politicis the influence of an individual's money is limited to
influencing
one party. Even that is done behind closed doors. The other major parties
both
limit the size of individual contributions to a constituency party to a
relatively nominal sum. $5000 is a huge sum in UK politics.

>I also don't believe freedom of speech should be limited by national
>boundaries.

Nor do I. But I only vote in one country. If we take the question outside
the US
it would not on the whole be a good thing if the Prime Minister of Tobago
(say)
were provided with a campaign contribution of $1M by a foreign company with
an
interest in strip mining the entire island. similarly it would be a bad
thing if
Columbian drug lords were to make massive contributions to politicians
committed
to continuing the prohibition on drugs.
_______________________________________
See my above comments. Only if the PM of Tobago could steal the land from
its owners could he permit the island to be strip-mined. And only if the
government has the power to prohibit drug possession would the Cali cartel
be interested in making campaign contributions. No power to do something, no
money offered to do it.
____________________
		Phill

Kurt
[Speaking only for myself, of course]

{% endraw %}
```

## Thread

+ Return to [December 1995](/archive/1995/12)

+ Return to "["Kurt Buff (Volt Comp)" <a-kurtb@microsoft.com>](/authors/kurt_buff_volt_comp__akurtb_at_microsoft_com_)"

+ 1995-12-20 (Tue, 19 Dec 95 16:00:09 PST) - RE: Political Cleanup program [NOISE] - _"Kurt Buff (Volt Comp)"<EMAIL_ADDRESS>


text:
# P90X3

## Summary

This is a simple web application that I wrote to help me stay on track with P90X3. It will highlight your progress as you work through the schedule, give you details about your upcoming workouts, and display a video of your current workout when the page is loaded.

## Build

I used Grunt to automate my build. If you already have Node.js installed then you can build the project with the following commands:

```sh
$ npm install
$ node node_modules/grunt-cli/bin/grunt
```

This will place `index.html`, `p90x3.css`, and `p90x3.js` in the `out/` subdirectory. Just open `index.html` to start the application -- no web server is required.

Place your videos (in MP4 or OGV format) in this subdirectory to enable video support. The videos should use names such as those listed below:

* accelerator.mp4
* agility-x.mp4
* cvx.mp4
* etc.

## Demo

See a live demo (without videos) at http://jsbin.com/OkadaHow/1/.

## Screenshot

![ScreenShot](https://raw.github.com/kjiwa/p90x3/master/p90x3-20140118.png)


text:
Source code used in
Robust Light Field Depth Estimation for Noisy Scene with Occlusion, CVPR 2016
Robust Light Field Depth Estimation using Occlusion-Noise Aware Data Costs, PAMI 2017

Code written by Williem.
ACADEMIC USAGE ONLY

PAPER TO CITE:
Williem and In Kyu Park.
Robust Light Field Depth Estimation for Noisy Scene with Occlusion.
In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016.

Williem, In Kyu Park, and Kyoung Mu Lee.
Robust Light Field Depth Estimation using Occlusion-Noise Aware Data Costs.
In IEEE Transaction on Pattern Analysis and Machine Intelligence (PAMI), 2017.

BIBTEX TO CITE:
@inproceedings{williem2016cvpr,
  title={Robust Light Field Depth Estimation for Noisy Scene with Occlusion},
  author={Williem and In~Kyu Park},
  booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
  year={2016}
}

@article{williem2017pami,
  title={Robust Light Field Depth Estimation using Occlusion-Noise Aware Data Costs},
  author={Williem and In~Kyu Park and Kyoung Mu Lee },
  journal={IEEE Transaction on Pattern Analysis and Machine Intelligence (PAMI)},
  year={2017}
}

CONTACT:
Williem<EMAIL_ADDRESS>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

- Note.
This package also includes part of following softwares
	gco-v3.0: Multi-label optimization (http://vision.csd.uwo.ca/code/)
	Fast cost volume filtering: (https://www.ims.tuwien.ac.at/publications/tuw-210567)
	Light Field Remap2Refocus : (http://cseweb.ucsd.edu/~viscomp/projects/LF/)
	Cost Aggregation: (https://sites.google.com/site/hgjeoncv/home/depthfromlf_cvpr15)

- How to use
Run main.m
(This software is tested using Matlab 2014a with Windows 8 64bit environment)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Copyright (c) 2017
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
    * Redistributions of source code must retain the above copyright
      notice, this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright
      notice, this list of conditions and the following disclaimer in the
      documentation and/or other materials provided with the distribution.

repository: Vincentqyw/Depth-Estimation-Light-Field

repo_name: Vincentqyw/Depth-Estimation-Light-Field


text:
# gpPy
The gpPy is an automatic pipeline to handle the optical/NIR images from different IMSNG/GECKO facilities from data reduction, astrometry, image stacking, calibration, image subtraction and, transient search using multithreads of CPU with `multiprocessing`.

Either IMSNG or GECKO aims to find transients in the optical/NIR images to catch an early emission from them and follow up them rapidly.

Purpose of the gpPy is to reduce the workload from a daily data process & analysis from a massive number of images by automation from data reduction to transient search. Feature I want to address is that gpPy converts inhomogeneous raw data from different telesocopes and cameras to homogeneouse output to organize them in our internal data base.

We have tested gpPy since 2020 in our internal system. After numerous debugging processes has been performed, it is now working stably, dealing with *infinte* unexpected situations on the data.

# Author
- Gregory S.H. Paek (백승학): [ORCID](https://orcid.org/my-orcid?orcid=0000-0002-6639-6533)

## Version log
- 2023.09.01: version 0.1
- 2018: development start

# INDEX
- What is IMSNG/GECKO?
- TBD
- ...

# 1. What is IMSNG/GECKO?
## 1.1. Intensive Monitoring Survey of Nearby Galaxies (IMSNG; [M. Im et al. (2019)](http://koreascience.or.kr/article/JAKO201912262463280.page))
The IMSNG project is monitoring close and star-forming galaxies with a high cadence ($\rm <1\:day$) to catch the early emission of supernovae (SNe).

## 1.2. Gratitational-wave Electromagnetic-wave Counterpart in Korea Observatory (GECKO; [M. Im et al. (2019)](http://yokohamagrb2019.wikidot.com/proceedings))
The GECKO project is aiming to find kilonovae (KNe), the optical/NIR counterpart of GW, with the network of 1-2m class telescopes in the world.

## 1.3. Facilties
Both projects share the same facilities. They consist of more than 10 telescopes described in below:
<!-- - Korea
	- SAO 1m
	- SOAO 0.61m (~2020)
	- DOAO 1m
	- KHAO 0.4m
	- MDFTS 0.76m
	- MAAO 0.7m
	- DNSM 1.0m
- United States
	- LOAO 1.0m
	- McDonald Observatory 0.25m, 0.8m, 2.1m (~2020)
- Australia
	- LSGT 0.43m
- Chile
	- KCT 0.36m
	- RASA36 0.36m
	- 7-Dimensional Telescope (7DT) - TBD -->

|Facility|Location|Description|
|:---:|:---:|:---:|
|SAO        |Korea       |TBD|
|SOAO       |Korea       |TBD|
|DOAO       |Korea       |TBD|
|KHAO       |Korea       |TBD|
|MDFTS      |Korea       |TBD|
|MAAO       |Korea       |TBD|
|DNSM       |Korea       |TBD|
|CBNUO      |Korea       |TBD|
|LOAO       |USA         |TBD|
|McDonald   |USA         |TBD|
|LSGT       |Austrailia  |TBD|
|KCT        |Austrailia  |TBD|
|RASA36     |Chile       |TBD|
|7DT        |Chile       |TBD|
|KMTNet_SSO |Austrailia  |TBD|
|KMTNet_SAAO|South Africa|TBD|
|KMTNet_CTIO|Chile       |TBD|

# 2. Requirements
We recommand the following requirements about the version:
- This pipeline requires the version of Python == 3.11.3

**We highly recommend to use the state-of-the-art `Python >= 3.11` to maximize the computing speed.**

## 2.1. Python Library
- `numpy == 1.23.5`
- `scipy == 1.10.1`
- `matplotlib == 3.7.1`
- `astropy == 5.1`
- `astroscrappy == 1.1.0`
- `ccdproc == 2.4.0`
- `requests == 2.28.1`: To utilize slack API
- *`alipy`
<!-- - `PyRAF >= X` -->

## 2.2. External Software
- `SourceEXtractor == 2.19.5`: `sex`
- Astrometry.net: `solve-field`
- `HOTPANTS == 5.1.11`: `hotpants`
- `SWarp == 2.38.0` (if necessary): `swarp`

*`alipy` for Python 3 needs extra actions to be performed. Please note the section X.X to install the `alipy` for the Python 3.

# 3. Installation
```
$ git clone https://github.com/SilverRon/gppy
```

# 4. Structure and Usage
`gpPy` consists of four parts.

## 4.1. `gpwatch.py`
```
cd ~/gppy

# python gpwatch.py [*observatory name] [**number of cpu to use]
# *require either capital letter or lower case
# **require cpu >= 1

python gpwatch.py loao 2
```
## 4.2. Main
### 4.2.1. `IMSNG_routine.py`
### 4.2.2. `GECKO_routine.py`
### 4.2.3. `7DT_routine.py` (TBD)

## 4.3. Photometry
They are located in `./phot/`.

### 4.3.1. `gregoryphot_mp_2021.py`
TBD

### 4.3.2. `gregoryphot_sub_2021.py`
TBD

## 4.4. Transient Search
### 4.4.1. `gregoryfind_bulk_mp_2021.py`

# 5. Features
## 5.1. Structure
1. Monitor the uploaded data in certain directories
2. Check the change of file size - *slack alert!*
3. If the change is stopped in bytes unit, run the main script (`IMSNG_routine.py` or `GECKO_routine.py`)
4. Header Correction
5. Data Reduction
	- 5.1. Bias correction
	- 5.2. Dark correction
	- 5.3. Flat Fielding
6. Astrometry (`Astrometry.net`)
7. Removal of Cosmic-ray (`LAcosmic`)
8. Convert filename to convertional format
9. Photometry for single frame
	- Reference catalog for the zeropoint calibration
		- PansTARRS DR1
		- SDSS DR?
		- APASS
		- 2MASS
10. Image align & combine
	- Alignment: `gregistering`
	- Combine: `imcombine` task in `pyraf` or `SWarp`
11. Photometry for combined frame
12. Image Subtraction
13. Photometry for subtracted frame
14. Filtering transient candidates among detections in the subtracted frame
15. Generate stamp images for the filtered transient candidates
16. Move output files to designated directory
17. Make the final log file - *slack alert!*

*- Note that this pipeline is designed to handle only IMSNG/GECKO facilities, so some functionalities are limited to our system or structure. If you want to apply it to your system, Feel free to let me know, and we can discuss together.*

## 5.X. Calibration and Photometry
### 5.X.X. keywords
- `mag_auto`
- `mag_aper`
- `mag_aper_1`
- `mag_aper_2`
- `mag_aper_3`

## 5.2. Output
```
Calib*.fits      # reduced & calibrated single frame
Calib*.cat
Calib*com.fits   # reduced & calibrated combined frame
hcCalib*com.fits
hdCalib*com.fits
*.phot.cat
```

# 6. Future Update
- GPU-accelerated data reduction and `SourceEXtractor` for a large size of images
- WCS correction (https://github.com/evertrol/sippv)
- Handle different binning size
- ...

# 7. License and Copyright
TBD

# 8. Contact
- Gregory S.H. Paek (gregorypaek94___at___gmail.com) @Seoul National University

# 9. Reference
1. IMSNG
2. GECKO

# 10. Acknowledgments
Thanks to our IMSNG team members, Prof. Myungshin Im, Dr. Changsu Choi, Dr. Seo-won Chang, Dr. Gu Lim, and Dr. Sophia Kim.
Especially, special thanks to Dr. Changsu Choi, who made techincal foundations in the beggining of the IMSNG project, inspired and motivated me to develop this pipeline.

repository: SilverRon/gppy

repo_name: SilverRon/gppy


text:
# InfluxRemix

![Image of DJ Giraffe](https://user-images.githubusercontent.com/1721599/69569749-2420b380-0f73-11ea-95cb-cf524a3032a8.PNG)

## Installation

Add this line to your application's Gemfile:

```ruby
gem 'influx_remix'
```

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install influx_remix

# What you Need
You need a text file in line protocol format.

Remix is a Ruby gem, so you need Ruby in order to run it. #sorrynotsorry

## How does it work?

The first data point in your file will become "now". All other points will be reassigned in relation to now. Two points that are five seconds apart will remain five seconds apart, just at a fresher point in time. Only the timestamp changes--nothing else about your data will be changed.

## Usage

    $ influx_remix -org "myOrg" -bucket "lilbucket" mylineprotocol.txt

    $ influx_remix -o "MyOrg" -b "lilbucket" -t "secrettoken" mylineprotocol.txt

    $ influx_remix -o "MyOrg" -b "lilbucket" -h "http://localhost:9999" -t "secrettoken" mylineprotocol.txt

# Defaults
The default host is http://localhost:9999
If you're using InfluxDB Cloud 2.0, simply add the host flag with the url to your instance.

The default token is $INFLUX_TOKEN, but you can specify the token with the token flag.

# Flags

--host, -h: host url of your InfluxDB 2.0 instance

--org, -o: name of your InfluxDB organization

--bucket, -b: name of the InfluxDB bucket to write to

--token, -t: your InfluxDB 2.0 token

You can always use the help flag to see the available options.

    $ influx_remix --help

## Development

After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).

## Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/remix.

## License

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

repository: TheKaterTot/remix

gha_language: Ruby

repo_name: TheKaterTot/remix


text:
# Authenticator - Sigv4
<!-- status autogenerated section -->
| Status        |           |
| ------------- |-----------|
| Stability     | [beta]  |
| Distributions | [contrib], [aws], [grafana], [sumo] |
| Issues        | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aextension%2Fsigv4auth%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aextension%2Fsigv4auth) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aextension%2Fsigv4auth%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aextension%2Fsigv4auth) |
| [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner)    | [@Aneurysm9](https://www.github.com/Aneurysm9), [@erichsueh3](https://www.github.com/erichsueh3) |

[beta]: https://github.com/open-telemetry/opentelemetry-collector#beta
[contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib
[aws]: https://github.com/aws-observability/aws-otel-collector
[grafana]: https://github.com/grafana/agent
[sumo]: https://github.com/SumoLogic/sumologic-otel-collector
<!-- end autogenerated section -->

This extension provides Sigv4 authentication for making requests to AWS services. For more information on the Sigv4 process, please look [here](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).

## Configuration

The configuration fields are as follows:

* `assume_role`: **Optional**. Specifies the configuration needed to assume a role
  * `arn`: The Amazon Resource Name (ARN) of a role to assume
  * `session_name`: **Optional**. The name of a role session
  * `sts_region`: The AWS region where STS is used to assumed the configured role
    * Note that if a role is intended to be assumed, and `sts_region` is not provided, then `sts_region` will default to the value for `region` if `region` is provided
* `region`: **Optional**. The AWS region for the service you are exporting to for AWS Sigv4. This is differentiated from `sts_region` to handle cross region authentication
    * Note that an attempt will be made to obtain a valid region from the endpoint of the service you are exporting to
    * [List of AWS regions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html)
* `service`: **Optional**. The AWS service for AWS Sigv4
    * Note that an attempt will be made to obtain a valid service from the endpoint of the service you are exporting to

```yaml
extensions:
  sigv4auth:
    assume_role:
      arn: "arn:aws:iam::123456789012:role/aws-service-role/access"
      sts_region: "us-east-1"

receivers:
  hostmetrics:
    scrapers:
      memory:

exporters:
  prometheusremotewrite:
    endpoint: "https://aps-workspaces.us-west-2.amazonaws.com/workspaces/ws-XXX/api/v1/remote_write"
    auth:
      authenticator: sigv4auth

service:
  extensions: [sigv4auth]
  pipelines:
    metrics:
      receivers: [hostmetrics]
      processors: []
      exporters: [prometheusremotewrite]
```

## Notes

* The collector must have valid AWS credentials as used by the [AWS SDK for Go](https://aws.github.io/aws-sdk-go-v2/docs/configuring-sdk/#specifying-credentials)

gha_language: Go


text:
# ![LilyPad](http://weymouth.github.io/img/lily.png) Lily Pad

### Test platform for real-time two-dimensional fluid/structure interaction simulations written in Processing.
[![DOI](https://zenodo.org/badge/10940/weymouth/lily-pad.svg)](http://dx.doi.org/10.5281/zenodo.16065)

Follow these [simple instructions to install and run Lily Pad](INSTALL_AND_RUN.md).

Here is the [guideline for contributing](CONTRIBUTING.md) to the project.

The [wiki](https://github.com/weymouth/lily-pad/wiki) has further information such as:
* [Documentation on the solver](https://github.com/weymouth/lily-pad/wiki/documentation).
* [Help with non-dimensionalization](https://github.com/weymouth/lily-pad/wiki/non-dimensional) can also be handy.

![LilyPad](http://weymouth.github.io/img/streakgreen2013Apr10.jpg)


text:
# cam2pdf

Bash script to make PDF's using from your camera roll (Android)

## Usage

With your Android phone mounted, run:

```
$ ./cam2pdf.sh
```

This will take all of the pictures from your camera roll (taken that day) and convert them to a pdf.

## Todo

- [ ] Allow quality to be adjustable
- [ ] More robust image sourcing
- [ ] Allow for re-ordering of images once copied
- [ ] Fix too many images causing `convert` to fail


text:
---
url: https://jtway.co/resize-amazon-ebs-volumes-without-a-reboot-ca118b010b44
canonical_url: https://jtway.co/resize-amazon-ebs-volumes-without-a-reboot-ca118b010b44
title: REsize Amazon EBS volumes without a reboot
subtitle: In rare cases, it happens that disk is full, and usually, it happens not
  in right time. No worries, AWS supports hot expanding disk for EBS…
slug: resize-amazon-ebs-volumes-without-a-reboot
description: ""
tags:
- aws
- terraform
- be
- fx
author: Michael Nikitochkin
username: miry
cover: ./assets/images/1*KaQSz3BTS74PQcbsOpFg3A.jpeg
class: post-template
layout: post
---

In rare cases, it happens that disk is full, and usually, it happens not in right time. No worries, AWS supports hot expanding disk for EBS volumes attached to modern instances. Manual process split to 2 phase:

* change the volume size via Web console or command line;

* ssh to the instance and update a partition information.

I want to automate a bit of those and register my changes. Terraform is one of the tools that help me with this task.

What do we have: a volume formatted with XFS, connected to Linux and mounted somewhere. Let’s begin the work!

### Step 1: Create a terraform resource

Checking the document of the resource related to [EBS volume](https://www.terraform.io/docs/providers/aws/r/ebs_volume.html) and declare what do we know about the volume:

Import existing AWS resource to our state:

```
$ terraform import aws_ebs_volume.mysql vol-0123456789abcdef0
Import successful!
```

Check missed values from resources like tags and fix conflicts:

```
$ terraform plan -target=aws_ebs_volume.mysql
  ~ aws_ebs_volume.mysql
      tags.%:                    "1" => "2"
      tags.Name:                 "Created for Mysql" => "mysql"
      tags.Terraform:            "" => "true"
```

```
$ terraform apply -target=aws_ebs_volume.mysql
```

Update `size` field to `2000` and apply changes:

```
$ terraform apply -target=aws_ebs_volume.mysql
  ~ aws_ebs_volume.mysql
      size: "1000" => "2000"
```

### Step 2: Detect instance IP and volume disk

Search for instance with this volume. Create a [data resource](https://www.terraform.io/docs/providers/aws/d/instance.html) and set output of the instance id:

Update the state and check the results:

```
$ terraform refresh
aws_ebs_volume.mysql: Refreshing state... (ID: vol-0123456789abcdef0)
data.aws_instance.mysql: Refreshing state...
```

```
Outputs:
instance_id = i-0123456789abcdef0
```

It is time to get the device name or mount point of our volume inside the instance. Here is one of the example how to get this information:

If you manage volumes with OpsWorks, then it could be done by tags:

### Step 3: Execute a script

The last step is to update the partition to use whole new disk size. The resource has 2 blocks - connection manifest and script:

And last our command is to execute it:

```
$ terraform apply -target=null_resource.expand_disk
```

### Resume

In this article I presented a small case, in the real world these resources would be bigger and have some dependencies on other resources. I will add tricky small exercise on your shoulders how to run the script on each change of volume’s size. Here is the last version of the document:

P.S.: Of course, you can accomplish the same by:

```
$ aws ec2 modify-volume --region us-east-1 --volume-id vol-11111111111111111 --size 2000 --volume-type gp2 --iops 100
$ ssh -t <IP_ADDRESS> "sudo xfs_growfs /ebs" # For XFS volume
$ ssh -t <IP_ADDRESS> "sudo resize2fs /dev/xdvn" # For EXT4 volume
```

![](./assets/images/1*191jZ4P6L-uGpX-7Fs1zGg.png)

repository: jetthoughts/blog

gha_language: HTML

repo_name: jetthoughts/blog


text:
# express-oas-generator with jest

Adopted from https://github.com/sarpik/turbo-schedule

## Test it out

```sh
npm i
npm test
```

See the generated openAPI file @ [./path/to/file.json](./path/to/file.json)

Start the server & see the documentation in action:

```sh
npm start
```

& open [localhost:5000/api-docs](http://localhost:5000/api-docs) or [localhost:5000/api-spec](http://localhost:5000/api-spec)

(you can also serve the file yourself wherever you'd like)

## License

MIT © [Kipras Melnikovas](https://github.com/sarpik)

repository: malaybhayani/payments

repo_name: malaybhayani/payments


text:
#### `docker applications`

 - [`firefox` (Dockerfile, firefox.desktop)](https://github.com/Kry07/docker-apps/tree/firefox)
 - [`firefox-flash` (Dockerfile, firefox-flash.desktop)](https://github.com/Kry07/docker-apps/tree/firefox-flash)
 - [`handbrake` (Dockerfile, handbrake.desktop)](https://github.com/Kry07/docker-apps/tree/handbrake)

##### Description
These containers are gui-applications which run in docker.
Each branch is one applicaion.

##### Dependencies
These docker applications depends on [kry07/xorg](https://github.com/Kry07/docker-xorg).

[Link to docker hub](https://hub.docker.com/u/kry07/)

Licensed under [MIT License](LICENSE)


text:
No final do treinamento vamos ter passado por atividades que são supostamente mais simples, como cadastros, mas também vamos lidar situações um pouco mais complicadas, como criação de convites de participantes, associação de pessoas a grupos, palpites, validação de palpites etc.

### :pushpin: Stack

- [Java 14][java14] - JDK 14 is the open-source reference implementation of version 14 of the Java SE Platform as specified by by JSR 389 in the Java Community Process.
- [Spring Boot][spring] - Spring makes programming Java quicker, easier, and safer for everybody. Spring’s focus on speed, simplicity, and productivity has made it the world's most popular Java framework.
- [Spring Data JPA][springdata] - Spring Data JPA, part of the larger Spring Data family, makes it easy to easily implement JPA based repositories.
- [Spring Security][springsecurity] - Spring Security is a powerful and highly customizable authentication and access-control framework.
- [PostgreSQL][postgres] - PostgreSQL: The World's Most Advanced Open Source Relational Database
- [Lombok][lombok] - Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.

#### :heavy_dollar_sign: Run Scripts
```bash
./gradlew boot:run
```

## :books: API Casa do Código ![Java CI with Maven - API Casa do Código](https://github.com/tacsio/jornada-dev-eficiente/workflows/Java%20CI%20with%20Maven%20-%20API%20Casa%20do%20C%C3%B3digo/badge.svg)

Desenvolver uma api para suportar parte do funcionamento da casa do código.

### :pushpin: Stack
- [Java 11][java11] - JDK 11 is the open-source reference implementation of version 11 of the Java SE Platform as specified by by JSR 384 in the Java Community Process.
- [Quarkus][quarkus] - A Kubernetes Native Java stack tailored for OpenJDK HotSpot and GraalVM, crafted from the best of breed Java libraries and standards.
- [H2 Database][h2] - The Java SQL database. Very fast, open source, JDBC API. Embedded and server modes; in-memory databases
- [OpenAPI][openapi] - The OpenAPI Specification: a broadly adopted industry standard for describing modern APIs.
- [Lombok][lombok] - Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.

#### :package: Extensions
1. RESTEasy JAX-RS
2. RESTEasy JSON-B
3. RESTEasy JSON-P
4. Hibernate Validator
5. SmallRye OpenAPI
6. Hibernate ORM with Panache
7. JDBC Driver - H2

#### :heavy_dollar_sign: Run Scripts
```bash
./mvnw quarkus:dev
```

## :credit_card: Api Pagamentos ![Java CI with Gradle - API Pagamentos](https://github.com/tacsio/jornada-dev-eficiente/workflows/Java%20CI%20with%20Gradle%20-%20API%20Pagamentos/badge.svg)

Implementar uma aplicação específica para processar pagamentos relativos a um aplicativo famoso de pedido de comida, o YFood.
A ideia é que nossa aplicação liste as possíveis formas de pagamento para uma pessoa dado um restaurante e depois que a gente processe o pagamento em função da escolha final da pessoa.
Esse é um serviço crucial no contexto do YFood. É a conclusão da experiência do usuário e precisamos atender o máximo de pedidos que for possível sob as condições mais extremas.

### :pushpin: Stack

- [Java 15][java15] - JDK 15 is the open-source reference implementation of version 15 of the Java SE Platform, as specified by by JSR 390 in the Java Community Process.
- [Spring Boot 2.4.0][spring] - Spring makes programming Java quicker, easier, and safer for everybody. Spring’s focus on speed, simplicity, and productivity has made it the world's most popular Java framework.
- [Spring Cloud OpenFeign][openfeign] - Feign is a declarative web service client. It makes writing web service clients easier.
- [Spring Data JPA][springdata] - Spring Data JPA, part of the larger Spring Data family, makes it easy to easily implement JPA based repositories.
- [Spring Validation][springvalidation] - Starter for using Java Bean Validation with Hibernate Validator
- [H2][h2] - PostgreSQL: The World's Most Advanced Open Source Relational Database

#### :heavy_dollar_sign: Run Scripts
```bash
./gradlew boot:run
```

## :package: Api Mercado Livre ![Java CI with Maven - API Mercado Livre](https://github.com/tacsio/jornada-dev-eficiente/workflows/Java%20CI%20with%20Maven%20-%20API%20Mercado%20Livre/badge.svg)

Implementar uma parte do mercado livre.

### :pushpin: Stack

- [Java 15][java15] - JDK 15 is the open-source reference implementation of version 15 of the Java SE Platform, as specified by by JSR 390 in the Java Community Process.
- [Spring Boot 2.4.2][spring] - Spring makes programming Java quicker, easier, and safer for everybody. Spring’s focus on speed, simplicity, and productivity has made it the world's most popular Java framework.
- [Spring Data JPA][springdata] - Spring Data JPA, part of the larger Spring Data family, makes it easy to easily implement JPA based repositories.
- [Spring Validation][springvalidation] - Starter for using Java Bean Validation with Hibernate Validator
- [Spring Security][springsecurity] - Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications.
- [H2][h2] - PostgreSQL: The World's Most Advanced Open Source Relational Database

#### :heavy_dollar_sign: Run Scripts
```bash
./mvn spring-boot:run
```

## :bullettrain_side: Contributing

1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Added some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request

[java14]: https://openjdk.java.net/projects/jdk/14/
[java15]: https://openjdk.java.net/projects/jdk/15/
[java11]: https://openjdk.java.net/projects/jdk/11/

[spring]: https://spring.io/
[springdata]: https://spring.io/projects/spring-data-jpa
[springsecurity]: https://spring.io/projects/spring-security
[postgres]: https://www.postgresql.org/
[lombok]: https://projectlombok.org/

[quarkus]: http://quarkus.io/
[h2]: http://www.h2database.com/html/main.html
[openapi]: https://www.openapis.org/

[nodejs]: https://nodejs.org
[reactjs]: https://reactjs.org/
[sqlite]:https://www.sqlite.org/index.html
[axios]: https://github.com/axios/axios
[expo]: https://expo.io/
[reactnative]: https://reactnative.dev/

[springvalidation]: https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.3-Release-Notes#validation-starter-no-longer-included-in-web-starters
[openfeign]: https://cloud.spring.io/spring-cloud-openfeign/reference/html/

repository: kevenLeandro/jornada-dev-eficiente

repo_name: kevenLeandro/jornada-dev-eficiente


text:
---
slug: buddhist-script-pali-sanskrit
date: "2014-09-08T00:00:00Z"
description: Buddhist Scripture
tags:
- buddhism
- buddhist
- scripts
- writing system
- scripture
- pali
- sanskrit
- languages
title: Buddhist Scripture
---
A language has way more than two parts, but let us focus on two:
- writing system
- spoken sounds

English has a few different accents (eg. British, American, Australian) but only one writing system. Chinese (today) has two main writing systems - traditional and simplified chinese - but has a ton of dialects that read the same characters in different ways, and even add characters/have different styles of writing.

Japanese began as a spoken language, and then Chinese characters were borrowed and adapted to represent sounds as well as meaning, which eventually resulted in three sets of characters: hiragana, katakana and kanji.

So at some point I was listening to 王菲's 致青春. And then from the links on the side of the youtube page I found out that she sang the 大悲咒 at one of her concerts! Then I clicked around and found a recording of a CO playing accompaniment for a group of monks chanting the 大悲咒. I found multiple versions of the sutra before finding the one that they were reciting as a comment on the youtube page. Then I realized that the Chinese characters actually have no meaning - they merely provide a sound similar to the original sutra.

(Information mainly from Wikipedia. I hope they're right for now.)

## So what language are the original sutras written in?

First, we want to know how Buddhism developed.

- Siddhartha Gautama was the historical founder of Buddhism, born in Lumbini, Nepal
- Discovered the Middle Way through asceticism and meditation
- Attained enlightenment sitting under the Bodhi tree in Bodh Gaya, India
- At the Deer Park near Varanasi in Northern India Buddha delivered his first sermon
- Buddha reportedly told his followers that after his death, the Dharma (doctrine, teaching) would be their leader
- Early arhants took great pains to formulate and transmit his teachings accurately, but no ungarnished collection of his sayings has survived

1st Buddhist Council
- Objective was to record all of Buddha's teachings into the sutra and to codify monastic rules (vinaya)
- This became the basis of the Tripitaka, which is preserved only in Pali.

Asoka's edicts
- Were the first tangible evidence of Buddhism
- Written in the Magadhi language in the Brahmi script

Expanded to Sri Lanka
- Theravada prevailed
- Pali canon was written down in Sri Lanka in toto ( = as a whole ) for the first time

Mahayana Expansion
- Spread in the east from India to South-East Asia

Emergence of Vajrayana
- First emerged in eastern India
- Extension of Mahayana Buddhism in that it does not offer new philosophical perspectives, but rather introduces additional techniques

TL;DR: The earliest written version of Buddhist teachings were in Pali, and were written in Sri Lanka.

## Sanskrit

Buddha forbade translation of his discourses into elitist religious languages such as Sanskrit, though eventually these translations were made. Pali became a scholarly and elitist language eventually, which is opposite to what Buddha had explicitly commanded.

repository: ackerleytng/website

repo_name: ackerleytng/website