text:
---
layout: post
title: "Meeting Minutes: August 14 2016"
categories: minutes
---

Forum
=====

HVAC update: now doing
----------------------

New mice at end of year?
-----------------------------------------

Listed it on the docs.

OIT contact email review.
-------------------------

Consensus: back for more edits.

“Small black router”
------------------------------------------------------------------------------------------

Moving to second floor for glorious wifi, and probably also in SC360.

Names for the second floor?
---------------------------

### “COSI Down”

### “Old COSI”

### “SAT Dungeon” / “Dungeon” (currently has consensus)

### “Western Front”

Lightning Talks
===============

Brief introduction to talks.cslabs.clarkson.edu and how/who/when can lightning talks do.
----------------------------------------------------------------------------------------

A viewing of Wat, by Destroy All Software, guided by Benjamin Lannon. <https://www.destroyallsoftware.com/talks/wat>
--------------------------------------------------------------------------------------------------------------------

Jared Dunbar showed management’s cacti instance, which provides network traffic monitoring.
-------------------------------------------------------------------------------------------

Graham Northup showed off the Senpai Simulator 2016, a quick little hack in pygame demonstrating interfacing with gamepads.
---------------------------------------------------------------------------------------------------------------------------

Michael Fulton gave an excellent presentation about esoteric programming languages.
-----------------------------------------------------------------------------------

Slides: https://docs.google.com/presentation/d/1BQ4hpB2oooFwDFcahUVp3aCkts9aPdH2ooO6rhnTiCQ/edit?usp=sharing

Covered esolangs:

### Chicken

### Shakespeare Programming Language

### Chef

### Beeswax

### Programming Language

### Derpcode

### Brainfuck

### Verbose

### TrumpScript

### Befunge

HVAC history story from Kyle.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

See a COSI member to hear the full story.

Summary: some <strike>idiots</strike> sleep-deprived COSInauts destroyed university property, to no one’s happiness.

Project Updates
===============

Rust Workshop continues this Sunday at 14-16.
---------------------------------------------

Contact<EMAIL_ADDRESS>if interested. Topics covered will include resource management and polymorphism.

Management still looking for contributors.
------------------------------------------------------------------------------------------------------------------------------------------------------------

Contact<EMAIL_ADDRESS>if interested. Especially if you can, or want to learn how to, sling HTML or Python.

COSI Robotics projects beginning now!
--------------------------------------------------------------------------------------------------------------------------------

Contact<EMAIL_ADDRESS>if interested. There are projects ideas hot and ready to go!

Announcements
=============

IgniteCS.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Google-funded grants for college students to teach local students (esp HS) computer science things. Deadline in 4 days. Hustle if you’re interested, email<EMAIL_ADDRESS>cc<EMAIL_ADDRESS>
Git Workshop Thursday (TOMORROW!) at 17.
---------------------------------------------------------------------------------------------
Contact<EMAIL_ADDRESS>if you have questions.

Siege Technologies is coming back next week to give talks at the meeting (3rd year in a row!) and provide FREE PIZZA.
---------------------------------------------------------------------------------------------------------------------

Next Thursday, GE is giving a talk. They’re hiring CS majors!
-------------------------------------------------------------

Career fair next week. Every COSI member should
-----------------------------------------------

Clutter.

Want an account on the COSI lab machines so you can have persistent, safe storage?
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Talk to a lab director<EMAIL_ADDRESS><EMAIL_ADDRESS>or<EMAIL_ADDRESS>and mention the AOL Keywords (TM) “LDAP Account”.

Rouslan (COSI alum) gave practice interviews.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Rouslan is a tough interviewer, so it should have been good practice. Some feedback will be on the list soon. Everyone should heed it.

Joint COSI / SUNY Potsdam ACM picnic was a wild success!
--------------------------------------------------------

SUNY Potsdam Hackathon
----------------------

repository: COSI-Lab/meeting-minutes

branch_name: refs/heads/gh-pages

repo_name: COSI-Lab/meeting-minutes


text:
# Magoderna subresinosum (Murrill) Steyaert, 1972 SPECIES

#### Status
SYNONYM

#### According to
The Catalogue of Life, 3rd January 2011

#### Published in
Persoonia 7(1): 112 (1972)

#### Original name
Fomes subresinosus Murrill, 1908

### Remarks
null

repository: mdoering/backbone

path: /life/Fungi/Basidiomycota/Agaricomycetes/Polyporales/Ganodermataceae/Ganoderma/Ganoderma subresinosum/ Syn. Magoderna subresinosum/README.md

branch_name: refs/heads/master

extension: md

license_type: permissive

repo_name: mdoering/backbone


text:
UnitTesting
===================

[![test](https://github.com/SublimeText/UnitTesting/actions/workflows/test.yaml/badge.svg)](https://github.com/SublimeText/UnitTesting/actions/workflows/test.yaml)
[![codecov](https://codecov.io/gh/SublimeText/UnitTesting/branch/master/graph/badge.svg)](https://codecov.io/gh/SublimeText/UnitTesting)

This is a unittest framework for Sublime Text. It runs unittest testcases on local machines and via Github Actions. It also supports testing syntax_test files for the new [sublime-syntax](https://www.sublimetext.com/docs/3/syntax.html) format and sublime-color-scheme files.

## Sublime Text 4

Sublime Text 4 is now supported and testing works for Python 3.8 packages. Though test coverage wouldn't work until Package Control adds support of Python 3.8 package dependencies.

## Preparation

1. Before testing anything, you have to install [UnitTesting](https://github.com/SublimeText/UnitTesting) via Package Control.
2. Your package!
3. TestCases should be placed in `test*.py` under the directory `tests` (configurable, see below). The testcases are then loaded by [TestLoader.discover](https://docs.python.org/3.3/library/unittest.html#unittest.TestLoader.discover).

[Here](https://github.com/randy3k/UnitTesting-example) are some small examples

## Running Tests Locally

UnitTesting can be triggered via the command palette command `UnitTesting`.
Enter the package name in the input panel and hit enter, a console should pop
up and the tests should be running. To run only tests in particular files,
enter `<Package name>:<filename>`. `<filename>` should be a unix shell
wildcard to match the file names, `<Package name>:test*.py` is used in
default.

You could run the command `UnitTesting: Test Current Package` to run the
current package. The current package will be first reloaded by UnitTesting
and then the tests will be executed.

It is also possible to generate test
coverage report via [coverage](https://pypi.python.org/pypi/coverage) by using the command
`UnitTesting: Test Current Package with Coverage`.
The file [.coveragerc](.coveragerc) is used to control the coverage configurations. If
it is missing, UnitTesting will ignore the `tests` directory.

## GitHub Actions

Basic: put the following in your workflow.
```yaml
name: test

on: [push, pull_request]

jobs:
  run-tests:
    strategy:
      fail-fast: false
      matrix:
        st-version: [3, 4]
        os: ["ubuntu-latest", "macOS-latest", "windows-latest"]
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v2
      - uses: SublimeText/UnitTesting/actions/setup@v1
        with:
          sublime-text-version: ${{ matrix.st-version }}
      - uses: SublimeText/UnitTesting/actions/run-tests@v1
        with:
          coverage: true
      - uses: codecov/codecov-action@v3
```

Remarks: actions are released in the branch [`v1`](https://github.com/SublimeText/UnitTesting/tree/v1). Minor changes will be pushed to the same branch unless there
are breaking changes.

## Testing syntax_test files

```yaml
name: test-syntax

on: [push, pull_request]

jobs:
  run-syntax-tests:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: SublimeText/UnitTesting/actions/setup@v1
      - uses: SublimeText/UnitTesting/actions/run-syntax-tests@v1
```
Check [this](https://github.com/randy3k/UnitTesting-example) for an example.

## Deferred testing

Tests can be written using the Deferrable testcase, such that you are
able to run sublime commands from your test cases and yield control to sublime
text runtime and continue the execution later. Would be useful to test
asynchronous codes. The idea was inspired by [Plugin UnitTest Harness](https://bitbucket.org/klorenz/sublimepluginunittestharness).

[DeferrableTestCase][1] is used to write the test cases. They are executed by
the [DeferringTextTestRunner][2] and the runner expects not only regular test
functions, but also generators. If the test function is a generator, it does
the following

- if the yielded object is a callable, the runner will evaluate the
  [callable][3] and check its returned value. If the result is not `None`,
  the runner continues the generator, if not, the runner will wait until the
  condition is met with the default timeout of 4s. The result of the callable
  can be also retrieved from the `yield` statement. The yielded object could
  be also a dictionary of the form `{"condition": callable, timeout: timeout}`
  to specify timeout in ms.

- if the yielded object is an integer, say `x`, then it will [continue][4] the
  generator after `x` ms.

- `yield AWAIT_WORKER` would yield to a task in the worker thread.

- otherwise, a single `yield` would yield to a task in the main thread.

An example would be found in [here](https://github.com/randy3k/UnitTesting-example/blob/master/tests/test_defer.py).

## Options

UnitTesting could be configured by providing the following settings in `unittesting.json`

| name                        | description                                                         | default value |
| ----                        | ---                                                                 | ----          |
| tests_dir                   | the name of the directory containing the tests                      | "tests"       |
| pattern                     | the pattern to discover tests                                       | "test*.py"    |
| deferred                    | whether to use deferred test runner                                 | true          |
| verbosity                   | verbosity level                                                     | 2             |
| output                      | name of the test output instead of showing
 in the panel        | nil           |
| show_reload_progress        | self explained                                                      | true          |
| reload_package_on_testing   | reloading package will increase coverage rate                       | true          |
| start_coverage_after_reload | self explained, irrelevent if  `reload_package_on_testing` is false | false         |
| coverage_on_worker_thread   | (experimental)                                                      | false         |
| generate_html_report        | generate coverage report for coverage                               | false         |
| capture_console             | capture stdout and stderr in the test output                        | false         |
| failfast                    | stop early if a test fails                                          | false         |

## Others

### Add `Test Current Package` build

It is recommended to add the following in your `.sublime-project` file so that c+b would invoke the testing action.

```
"build_systems":
[
  {
    "name": "Test Current Package",
    "target": "unit_testing_current_package",
  }
]
```

### Credits
Thanks [guillermooo](https://github.com/guillermooo) and [philippotto](https://github.com/philippotto) for their early efforts in AppVeyor and Travis CI macOS support (though these services are not supported now).

[1]: https://github.com/SublimeText/UnitTesting/blob/60e15d42d6ff96156408aec1999d6a16ddcf8e03/unittesting/core/py33/case.py#L22
[2]: https://github.com/SublimeText/UnitTesting/blob/60e15d42d6ff96156408aec1999d6a16ddcf8e03/unittesting/core/py33/runner.py#L21
[3]: https://github.com/SublimeText/UnitTesting/blob/60e15d42d6ff96156408aec1999d6a16ddcf8e03/unittesting/core/py33/runner.py#L65
[4]: https://github.com/SublimeText/UnitTesting/blob/60e15d42d6ff96156408aec1999d6a16ddcf8e03/unittesting/core/py33/runner.py#L72

license: MIT

repository: SublimeText/UnitTesting

gha_language: Python

gha_license_id: MIT

repo_name: SublimeText/UnitTesting


text:
# Examples

> All examples can run independently and can be found in the `/demo` folder of the project

All the examples below can be ran locally, to do so, run the following command:

```sh
npm run demo
```

This command will run the `demo selector app` in the `/demo` folder. It will prompt you to select a demo number, which will run a demo from that folder.

## Simple

A simple hello world of the `docx` library:

[Example](https://raw.githubusercontent.com/dolanmiu/docx/master/demo/demo1.js ":include")

_Source: https://github.com/dolanmiu/docx/blob/master/demo/demo1.js_

## Styles

### Styling with JS

This example shows how to customise the look and feel of a document using JS configuration

[Example](https://raw.githubusercontent.com/dolanmiu/docx/master/demo/demo2.js ":include")

_Source: https://github.com/dolanmiu/docx/blob/master/demo/demo2.js_

### Styling with XML

This example shows how to customise the look and feel of a document using XML configuration

[Example](https://raw.githubusercontent.com/dolanmiu/docx/master/demo/demo13.js ":include")

_Source: https://github.com/dolanmiu/docx/blob/master/demo/demo13.js_

## Numbering

This example shows many levels of numbering

[Example](https://raw.githubusercontent.com/dolanmiu/docx/master/demo/demo3.js ":include")

_Source: https://github.com/dolanmiu/docx/blob/master/demo/demo3.js_

## Table

Example of simple table

[Example](https://raw.githubusercontent.com/dolanmiu/docx/master/demo/demo4.js ":include")

_Source: https://github.com/dolanmiu/docx/blob/master/demo/demo4.js_

### Styling table borders

Styling the borders of a table

[Example](https://raw.githubusercontent.com/dolanmiu/docx/master/demo/demo20.js ":include")

_Source: https://github.com/dolanmiu/docx/blob/master/demo/demo20.js_

## Images

### Add image to the document

Importing Images from file system path

[Example](https://raw.githubusercontent.com/dolanmiu/docx/master/demo/demo5.js ":include")

_Source: https://github.com/dolanmiu/docx/blob/master/demo/demo5.js_

### Add images to header and footer

Example showing how to add image to headers and footers

[Example](https://raw.githubusercontent.com/dolanmiu/docx/master/demo/demo9.js ":include")

_Source: https://github.com/dolanmiu/docx/blob/master/demo/demo9.js_

### Scaling images

Example showing how to scale images

[Example](https://raw.githubusercontent.com/dolanmiu/docx/master/demo/demo12.js ":include")

_Source: https://github.com/dolanmiu/docx/blob/master/demo/demo12.js_

### Add Image to media before adding to document

This is the best way to add an image to a document because you can add the same image in two locations without increasing document size by re-using the same image

[Example](https://raw.githubusercontent.com/dolanmiu/docx/master/demo/demo23.js ":include")

_Source: https://github.com/dolanmiu/docx/blob/master/demo/demo23.js_

### Add image to table

As before, to add an image to a table, you would need to add it to the `Media` object first

[Example](https://raw.githubusercontent.com/dolanmiu/docx/master/demo/demo24.js ":include")

_Source: https://github.com/dolanmiu/docx/blob/master/demo/demo24.js_

### Images using Base64 URI

If you want to use a Base64 image instead

[Example](https://raw.githubusercontent.com/dolanmiu/docx/master/demo/demo18.js ":include")

_Source: https://github.com/dolanmiu/docx/blob/master/demo/demo18.js_

## Margins

Example showing how to set custom margains

[Example](https://raw.githubusercontent.com/dolanmiu/docx/master/demo/demo6.js ":include")

_Source: https://github.com/dolanmiu/docx/blob/master/demo/demo6.js_

## Orientation

Example showing how to set the document to `landscape` or `portrait`

[Example](https://raw.githubusercontent.com/dolanmiu/docx/master/demo/demo7.js ":include")

_Source: https://github.com/dolanmiu/docx/blob/master/demo/demo7.js_

## Headers & Footers

Example showing how to add headers and footers

[Example](https://raw.githubusercontent.com/dolanmiu/docx/master/demo/demo8.js ":include")

_Source: https://github.com/dolanmiu/docx/blob/master/demo/demo8.js_

## Multiple headers and footers

Check out `Sections` for this feature

## Page Breaks

### Normal page breaks

Example showing how to page break

[Example](https://raw.githubusercontent.com/dolanmiu/docx/master/demo/demo14.js ":include")

_Source: https://github.com/dolanmiu/docx/blob/master/demo/demo14.js_

### Page break before

Example showing how to page break before like in Word

[Example](https://raw.githubusercontent.com/dolanmiu/docx/master/demo/demo15.js ":include")

_Source: https://github.com/dolanmiu/docx/blob/master/demo/demo15.js_

## Sections

Example of how sections work. Sections allow multiple headers and footers, and `landscape`/`portrait` inside the same document

[Example](https://raw.githubusercontent.com/dolanmiu/docx/master/demo/demo16.js ":include")

_Source: https://github.com/dolanmiu/docx/blob/master/demo/demo16.js_

## Footnotes

Example of how to add footnotes. Good for references

[Example](https://raw.githubusercontent.com/dolanmiu/docx/master/demo/demo17.js ":include")

_Source: https://github.com/dolanmiu/docx/blob/master/demo/demo17.js_

## Packers

## Buffer Packer

Example showing how to use the Buffer packer and then write that buffer to the file system

[Example](https://raw.githubusercontent.com/dolanmiu/docx/master/demo/demo19.js ":include")

_Source: https://github.com/dolanmiu/docx/blob/master/demo/demo19.js_

## PDF Packing

Example of how to use the `LocalPacker` to create a PDF document

[Example](https://raw.githubusercontent.com/dolanmiu/docx/master/demo/demo25.js ":include")

_Source: https://github.com/dolanmiu/docx/blob/master/demo/demo25.js_

## Bookmarks

Example showing how to make bookmarks to make internal hyperlinks within the document

[Example](https://raw.githubusercontent.com/dolanmiu/docx/master/demo/demo21.js ":include")

_Source: https://github.com/dolanmiu/docx/blob/master/demo/demo21.js_

## Bidirectional text

Example showing how to use bidirectional text for certain languages such as Hebrew

[Example](https://raw.githubusercontent.com/dolanmiu/docx/master/demo/demo22.js ":include")

_Source: https://github.com/dolanmiu/docx/blob/master/demo/demo22.js_

## Showcase

### My CV

Example showing how to add headers and footers

[Example](https://raw.githubusercontent.com/dolanmiu/docx/master/demo/demo10.js ":include")

_Source: https://github.com/dolanmiu/docx/blob/master/demo/demo10.js_

### Style and Images

This example shows how to customise the look and feel of a document and add images

[Example](https://raw.githubusercontent.com/dolanmiu/docx/master/demo/demo11.js ":include")

_Source: https://github.com/dolanmiu/docx/blob/master/demo/demo11.js_

repository: sergiofm/docx

repo_name: sergiofm/docx


text:
# Saber

ScAlaBle Estimator Regressor

## Build

#### Installing Rust

`curl https://sh.rustup.rs -sSf | sh`

`rustup toolchain install nightly`

`rustup default nightly`

For more details please visit https://www.rust-lang.org/tools/install and https://github.com/rust-lang/rustup.rs#working-with-nightly-rust

#### Build Saber

`RUSTFLAGS='-L /path/to/OpenBLAS -lopenblas -C target-cpu=native' cargo build --release`

where `/path/to/OpenBLAS` is the path to the directory containing the OpenBLAS libraries.

## Run

Inside the saber top level directory, the executables generated by the build process will be located in `./target/release`

Some executables of interest:

```
./target/release/partition_by_chrom -h
partition_by_chrom 0.1
Aaron Zhou

USAGE:
    partition_by_chrom --bim <BIM> --out <out_path>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -b, --bim <BIM>         required; the PLINK bim file
    -o, --out <out_path>    output path; each line will have two fields: variant_id chrom_partition_assignment
```

```
./target/release/estimate_heritability -h
estimate_heritability 0.1
Aaron Zhou

USAGE:
    estimate_heritability [OPTIONS] --nrv <num_random_vecs> --pheno <pheno_path> --bfile <plink_filename_prefix>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
        --lowest-maf <lowest_allowed_maf>
            Lowest allowed minor allele frequency (MAF)
            Any SNPs with a MAF less than <lowest_allowed_maf> will be ignored
    -k, --num-jackknifes <num_jackknife_partitions>
            The number of jackknife partitions
            SNPs will be divided into <num_jackknife_partitions> partitions
            where each partition will be treated as a single point of observation [default: 20]
        --nrv <num_random_vecs>
            The number of random vectors used to estimate traces
            Recommends at least 100 for small datasets, and 10 for huge datasets
        --partition <partition_file>
            A file to partition the SNPs into multiple components.
            Each line consists of two values of the form:
            SNP_ID PARTITION
            For example,
            rs3115860 1
            will assign SNP with ID rs3115860 in the BIM file to a partition named 1
    -p, --pheno <pheno_path>
            The header line should be
            FID IID PHENOTYPE_NAME
            where PHENOTYPE_NAME can be any string without white spaces.
            The rest of the lines are of the form:
            1000011 1000011 -12.11363
    -b, --bfile <plink_filename_prefix>
            If we have files named
            PATH/TO/x.bed PATH/TO/x.bim PATH/TO/x.fam
            then the <plink_filename_prefix> should be path/to/x
```

```
./target/release/estimate_g_gxg_heritability -h
estimate_multi_gxg_heritability 0.1

USAGE:
    estimate_g_gxg_heritability [OPTIONS] --le <le_snps_filename_prefix> --nrv-gxg <num_rand_vecs_gxg> --nrv <num_random_vecs> --pheno <pheno_path>... --bfile <plink_filename_prefix>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
        --gxg-partition <gxg_partition_file>
            Form GxG for each of the partitions instead of
            over the entire range of LE SNPs.
            Taking the same file format as the --partition option
        --le <le_snps_filename_prefix>
            The SNPs that are in linkage equilibrium.
            To be used to construct the GxG matrix.
            If we have files named
            PATH/TO/x.bed PATH/TO/x.bim PATH/TO/x.fam
            then the <le_snps_filename_prefix> should be path/to/x
    -k, --num-jackknifes <num_jackknife_partitions>    The number of jackknife partitions [default: 20]
        --nrv-gxg <num_rand_vecs_gxg>
            The number of random vectors used to estimate traces related to the GxG matrix

        --nrv <num_random_vecs>
            The number of random vectors used to estimate traces
            Recommends at least 100 for small datasets, and 10 for huge datasets
        --partition <partition_file>
            A file to partition the G SNPs into multiple components.
            Each line consists of two values of the form:
            SNP_ID PARTITION
            For example,
            rs3115860 1
            will assign SNP with ID rs3115860 in the BIM file to a partition named 1
    -p, --pheno <pheno_path>...
            The header line should be
            FID IID PHENOTYPE_NAME
            where PHENOTYPE_NAME can be any string without white spaces.
            The rest of the lines are of the form:
            1000011 1000011 -12.11363
    -b, --bfile <plink_filename_prefix>
            If we have files named
            PATH/TO/x.bed PATH/TO/x.bim PATH/TO/x.fam
            then the <plink_filename_prefix> should be path/to/x
```

repository: Rustinante/saber

gha_language: Rust

repo_name: Rustinante/saber


text:
## Code for the Adafruit Learning System guide Gyroscopic Marble Maze

See the full tutorial at https://learn.adafruit.com/gryo-marble-maze/

The **code.py** file should be copied onto the **CIRCUITPY** flash drive that appears
when you plug the CircuitPlayground Express into your computer via a known
good USB cable.

If the only drive name you get is named **CPLAYBOOT**, CircuitPython may not be loaded
on the board. You can load CircuitPython as
[per this guide](https://learn.adafruit.com/adafruit-circuit-playground-express/circuitpython-quickstart).
Then you should be able to see the **CIRCUITPY** drive when connected via USB.

CircuitPython resources are at https://CircuitPython.Org/

Code written by Dano Wall and Anne Barela for Adafruit Industries.

MIT License, please attribute.

Support Open Source development by buying your materials at [Adafruit.com](https://www.adafruit.com/).

branch_name: refs/heads/main

gha_language: C


text:
# Phyllostachys heterocycla (Carrière) Matsum. SPECIES

#### Status
SYNONYM

#### According to
The Catalogue of Life, 3rd January 2011

#### Published in
Bamboo Gard. 160. 1896

#### Original name
null

### Remarks
null

path: /life/Plantae/Magnoliophyta/Liliopsida/Poales/Poaceae/Phyllostachys/Phyllostachys edulis/ Syn. Phyllostachys heterocycla/README.md


text:
# Video Interview Assignment

## Overview

For this assignment, you will create a screencast video [like this one](https://www.youtube.com/watch?v=cdCeU8DJvPM) of yourself solving a technical interview problem of your choice.

## Why should I do this?

_"Practice doesn't make perfect. Practice makes permanent."_

In a real high-pressure situation, you won't be able to calmly list out all of the steps and follow them - you will fall back on what you have practiced and made into habit. And the only way to develop good habits is to practice and get feedback!

Completing mock interviews in class with a partner is one thing, but the only way to _really_ evaluate your own performance is to watch yourself on video. You will notice things that you never would have noticed otherwise! It is a great way to level up your skills in addition to receiving feedback from others.

## Requirements

First, you'll need to choose a technical interview problem to solve. This may be one that you already know the answer to! In fact, that may be preferable, as you will be better able to focus on practicing the steps.

If you are looking for a problem to use, [here](https://towardsdatascience.com/10-algorithms-to-solve-before-your-python-coding-interview-feb74fb9bc27) is a good list of beginner-level problems. Alternatively, you may use a problem from HackerRank or Leetcode which you have previously solved.

**In your video submission, you must complete the following:**

1. Restate the problem in your own words
1. Ask clarifying questions and/or state your assumptions about the inputs & outputs
1. Identify at least 3 test cases (inputs & their outputs), including any relevant edge cases
1. (Optional) Identify the "brute force" solution, if one exists
1. Solve the problem & discuss the solution (E.g. draw a picture, make an analogy, brainstorm a data structure/algorithm to use, compare/contrast with similar/different problems, list out relevant tools you have and pick the right one, break down the problem into smaller problems and solve those first)
1. Pick a solution (consider tradeoffs)
1. Psuedocode your solution
1. Code your solution
1. Walk through test inputs with your coded solution
1. Review your solution: state what you see as good and bad about your solution. How could you have made it better or faster?

## Submission

Please upload your video to Google Drive and submit the link on [Gradescope](https://gradescope.com).

## Resources

1. [How to Create a Screencast Video on Mac](https://www.cnet.com/how-to/record-your-mac-screen-the-easy-way-heres-how-to-do-it/)

repository: KitsuneNoctus/makeschool

repo_name: KitsuneNoctus/makeschool


text:
# Compound-protein interaction (CPI) prediction using GNN and Protein Transformer

The code is based on Dr.Tsubaki's repository here: https://github.com/masashitsubaki/CPI_prediction, which has the implementation of the paper
"[Compound-protein Interaction Prediction with End-to-end Learning of Neural Networks for Graphs and Sequences (Bioinformatics, 2018)](https://academic.oup.com/bioinformatics/advance-article-abstract/doi/10.1093/bioinformatics/bty535/5050020?redirectedFrom=PDF)". It uses Graph Neural Network for learning the representations of compounds and Convolutional Neural Networks for proteins.

In this repository, the CPI datasets of human and *C. elegans* are created by Liu et al. in this paper:
"[Improving compound–protein interaction prediction by building up highly credible negative samples (Bioinformatics, 2015).](https://academic.oup.com/bioinformatics/article/31/12/i221/216307)"

In the problem setting of CPI prediction,
an input is the pair of a SMILES format of compound and an amino acid sequence of protein;
an output is a binary label (interact or not).
The SMILES is converted with RDKit and
we obtain a 2D graph-structured data of the compound (i.e., atom types and their adjacency matrix).
Representation of proteins and compounds learned by 2 sub-networks are concatenated to predict the interaction.

In this repository, I implement Protein Transformer for learning protein representations. It takes the advantage of self-attention and can capture the long-distance interaction between amino acid residues. This brings about significant improvements in prediction power.

## Requirements

- PyTorch
- scikit-learn
- RDKit
- numpy=1.16.1


text:
# Mushroom-classification
[![Build Status](https://travis-ci.org/ali-irawan/xtra.svg?branch=master)](https://travis-ci.org/ali-irawan/xtra)
[![Download](https://poser.pugx.org/ali-irawan/xtra/d/total.svg)](https://poser.pugx.org/ali-irawan/xtra/d/total.svg)
[![Stable](https://poser.pugx.org/ali-irawan/xtra/v/stable.svg)](https://poser.pugx.org/ali-irawan/xtra/v/stable.svg)
[![Unstable](https://poser.pugx.org/ali-irawan/xtra/v/unstable.svg)](https://poser.pugx.org/ali-irawan/xtra/v/unstable.svg)

## Context:

Although this dataset was originally contributed to the UCI Machine Learning repository nearly 30 years ago, mushroom hunting (otherwise known as "shrooming") is enjoying new peaks in popularity. Learn which features spell certain death and which are most palatable in this dataset of mushroom characteristics. And how certain can your model be?

### Content:

This dataset includes descriptions of hypothetical samples corresponding to 23 species of gilled mushrooms in the Agaricus and Lepiota Family Mushroom drawn from The Audubon Society Field Guide to North American Mushrooms (1981). Each species is identified as definitely edible, definitely poisonous, or of unknown edibility and not recommended. This latter class was combined with the poisonous one. The Guide clearly states that there is no simple rule for determining the edibility of a mushroom; no rule like "leaflets three, let it be'' for Poisonous Oak and Ivy.

Time period: Donated to UCI ML 27 April 1987
Inspiration
What types of machine learning models perform best on this dataset?

Which features are most indicative of a poisonous mushroom?

Acknowledgements
This dataset was originally donated to the UCI Machine Learning repository. You can learn more about past research using the data here.

##### url : https://www.kaggle.com/uciml/mushroom-classification

### About this file
Attribute Information: (classes: edible=e, poisonous=p)

cap-shape: bell=b,conical=c,convex=x,flat=f, knobbed=k,sunken=s

cap-surface: fibrous=f,grooves=g,scaly=y,smooth=s

cap-color: brown=n,buff=b,cinnamon=c,gray=g,green=r,pink=p,purple=u,red=e,white=w,yellow=y

bruises: bruises=t,no=f

odor: almond=a,anise=l,creosote=c,fishy=y,foul=f,musty=m,none=n,pungent=p,spicy=s

gill-attachment: attached=a,descending=d,free=f,notched=n

gill-spacing: close=c,crowded=w,distant=d

gill-size: broad=b,narrow=n

gill-color: black=k,brown=n,buff=b,chocolate=h,gray=g, green=r,orange=o,pink=p,purple=u,red=e,white=w,yellow=y

stalk-shape: enlarging=e,tapering=t

stalk-root: bulbous=b,club=c,cup=u,equal=e,rhizomorphs=z,rooted=r,missing=?

stalk-surface-above-ring: fibrous=f,scaly=y,silky=k,smooth=s

stalk-surface-below-ring: fibrous=f,scaly=y,silky=k,smooth=s

stalk-color-above-ring: brown=n,buff=b,cinnamon=c,gray=g,orange=o,pink=p,red=e,white=w,yellow=y

stalk-color-below-ring: brown=n,buff=b,cinnamon=c,gray=g,orange=o,pink=p,red=e,white=w,yellow=y

veil-type: partial=p,universal=u

veil-color: brown=n,orange=o,white=w,yellow=y

ring-number: none=n,one=o,two=t

ring-type: cobwebby=c,evanescent=e,flaring=f,large=l,none=n,pendant=p,sheathing=s,zone=z

spore-print-color: black=k,brown=n,buff=b,chocolate=h,green=r,orange=o,purple=u,white=w,yellow=y

population: abundant=a,clustered=c,numerous=n,scattered=s,several=v,solitary=y

habitat: grasses=g,leaves=l,meadows=m,paths=p,urban=u,waste=w,woods=d

license: Unlicense


text:
# Tatter\Prefetch
ORM-ish database buffer and optimization, for CodeIgniter 4

## Quick Start

1. Install with Composer: `> composer require tatter/prefretch`
2. Extend the Prefetch model

## Features

## Installation

Install easily via Composer to take advantage of CodeIgniter 4's autoloading capabilities
and always be up-to-date:
* `> composer require tatter/prefretch`

Or, install manually by downloading the source files and adding the directory to
`app/Config/Autoload.php`.

## Configuration (optional)

The library's default behavior can be altered by extending its config file. Copy
**bin/Prefetch.php** to **app/Config/** and follow the instructions
in the comments. If no config file is found in **app/Config** the library will use its own.

## Usage


text:
---
title: "Does Monorepo worth the trouble?"
slug: monorepo-worth-trouble
language: en
date: 2020-06-30
cover: ./cover.jpeg
tags:
    - Architecture
---

# Does Monorepo worth the trouble?

Trends today is to splits application. Microservices, microFrontends...
against this trend, some companies had decided to put multiple application/libraries under the same git repository.

## Pros

### Team work

* single source of truth
  which repository is it? which branch is the default?
  In my current company we used to have weird name for `master`. When we changed from a weird name to another one,some repo were updated, some were not (oversight). With a monorepo, we don't have this problem.

* favor contribution: because you already have the code.
If you want to fix something, don't need to clone the repo beforehand.

* better overview of the whole system.
Don't need to go to the repo url, then clone it and realising.
a plain old ctrl + F is enough

* lead to another point --> remove unused code with confidence

### 👨👩👧 Dependencies

* simplify dependencies
  Diamond dependency problem: https://www.youtube.com/embed/W71BTkUbdqE?start=1189
  make backward compatible changes easily, in one commit you can revert change in multiple packages

* super easy to add new package. To need to ask to someone the authorisation...
* Some tools automatically symlinks local dependencies together. (so you can get hot-reload between local repos ✨)

## Cons

### 🍴 Git & code hosting platforms (GitLab/GitHub...)

* Clean usage of git: squash commit + forks.
  * unreadable/unusable git log.
  * unreasonable git branches

**Tip:** I use [conventional commit](git-conventional-commits) and always put in parenthesis the name of the package. So if I want to retrieve one old commit, it's super easy
```bash
# will list all feature added in package-B
git log --all --grep="feat(package-B):"
```

* authorization. When you set user permission on GitLab/GitHub/etc., it's for the whole repo. You can't manage user permission per sub-package.

### 🤖 Continuous Integration

* if build is broken, it impacts everybody!
* 📈increase cost for CI. Because there's much more code to test/lint/build/...
**Tip:**
  * If your pipeline is good enough and you have parralel tasks CI, enable the fail-fast option.
  * I reccomend you to add label that can skip the CI. Like if you change a typo in the README, you don't need to lint/test all the packages. (i.e. If the pull request have a "NO_CI" label, build will not be triggered)

### 🤝 Team work

* hidden changes. Some repo are usually more sensitive than other. It's easy to add a small piece of code with a big impact.
==> Do not neglect your CI!

* if you work with 10% of the codebase, you probably don't care about the 90% remaining

* deployment problem: if 2 team bump versions and one version is refused by QA, can block other team to release

### Coupled dependencies

## Tools (JavaScript)

You might have heard about git submodules functionnality.
I use it for my [VIM dotfiles](TODO) or to link reveal.js on my slides.
But generally speaking, please don't use them for a monorepo. It

Lerna combined with Yarn workspaces is a great combo.

Slack integration is a must i.e.
> Released @company/common-components, new version: 1.21.0

## Conclusion

Overall I love monorepo. But it can become your worse nightmare if you don't follow simple rules like a good usage of git or if you have bad tools


text:
##  List ARTAX Records for a Specified Record (ARTAX.R2)

<PageHeader />

**Form Details**
[ Form Details ](ARTAX-R2-1/README.md)

**Purpose**
The ARTAX.R2 procedure is used to print a listing of all detail sales tax
register transactions for a specific record. This report can be run for a date
range .

**Frequency of Use**
This report should be run if there is some question about the tax codes which
were assigned to a specific record ID (e.g. invoice).

**Prerequisites**
Sales Tax register records are created automatically by the system through the [ AR.E ](../../../../rover/AP-OVERVIEW/AP-ENTRY/ACCT-CONTROL/ACCT-CONTROL-3/AR-E) , [ SHIP.P1 ](../../../../rover/AP-OVERVIEW/AP-ENTRY/ACCT-CONTROL/ACCT-CONTROL-1/comm-e/SHIP-P1) , [ RMA.P1 ](RMA-P1.htm) and [ ARR.P1 ](../../../../rover/AP-OVERVIEW/AP-ENTRY/ACCT-CONTROL/ACCT-CONTROL-1/ar-e/AR-E-4/AR-F2/ARR-P1) procedures.

**Data Fields**

**Tax Code** The sales tax code to which the amount has been posted.
**Number** The number of the customer on the AR record which created this
sales tax entry.
**Cust Name** The name of the customer as read from the CUST file.
**AR ID** The record ID of the AR item which created this entry.
**Date** The date of the AR item.
**ID** The record id which was sequentially assigned to this detail record in
the ARTAX file.
**Date** The date on which the ARTAX record was created. This should normally be the same as the AR record date. It will only differ if records have been manually altered using [ ARTAX.E ](../../../../rover/AR-OVERVIEW/AR-ENTRY/ARTAX-E) .
**Amount** The amount of sales tax collected for the associated sales tax code
and AR item.
**Post Date** The date which the [ ARTAX.P1 ](ARTAX-P1/README.md) procedure was run to flag ARTAX records as posted. This is important when you are allowing AR items to be posted into a prior period and you wish to know the exact sales tax figures of those postings.

<badge text= "Version 8.10.57" vertical="middle" />

<PageFooter />

repository: zumasys/docs

gha_language: JavaScript

repo_name: zumasys/docs


text:
# Package Structure and Software Architecture, Development Patterns

TODO: explain root files and how we will organize code.
TODO: explain MobX. Actually might not be necessary.

# Why React?

TODO: CSR vs SSR. See Solid SSR to get a better grasp on whether
Next is necessary.

## UI Design - None

We'll stick to drawings and discussions from Y, and developer's best
implementation of this vision.

For now, using a design tool is overhead for this project.

## Software Architecture Diagrams

TODO:
Google Design Doc,
User Application Arch
Conceptual Application Arch (classes) - incl build
Implementation Arch (files) - incl build
Systems Design (incl. client execution architecture)

# Development Cycle

If you've read through the aforementioned you're now ready to start
contributing.

TODO: Google image via Android on build - dev - release
|
TODO: cycle image incl. user cycle

TODO: list developer cycle steps:
- debug
- PR
- submit.

TODO:
config + scripts + Firebase Tools + commands to use to oull dependneice,s git, and build project and upload etc. Local host vs your dev.

TODO: explain CICD/DevSecOps
TODO: explain how we share secrets and configuration files.
TODO: explain explain different environments


text:
# Cooper Client Application

The cooper client is a web applitcation that users can use to log their age along with the distance of any 12 minute run, to recieve a grading of their aerobic abilty, based on preset standards from the military Cooper Test.

## Deployed Site
https://cooper-client-eevan.netlify.com

## Dependencies
- React 16.12.0
- Feature/Unit tests with Cypress
- Semantic UI React
- Axios

## Setup
#### Clone repository
```
$ git clone https://github.com/EevanR/cooper-client-react.git
$ cd cooper-client-react
```

#### Install dependencies
Install Cypress and dependencies
```
$ yarn
```
Install Cypress Testing
```
$ yarn add cypress --dev
```

## Run testing frameworks
In console:
Initiate and Run Cypress
```
$ yarn cy
```
Select any of the test files in newly opened window to run through automated testing scenarios

### Actions available to the user

Head to the deployed address listed above and fill in the required fields!

## Updates/Improvement plans
Further styling and functionality.

## License
Created under the MIT License.

repository: EevanR/cooper-client-react

repo_name: EevanR/cooper-client-react


text:
### Documentation:

[sum](https://docs.python.org/ja/3/library/functions.html#sum)
数値の和

### Syntax:

```sum(a[, b])```

- **a** (tuple): int/float の配列
- **b** (int/float, optional): tuple に対して足す数値

### Returns:

int/float

### Example:

```python
# returns the sum of a
>>> a = (1, 2, 3.5)
>>> x = sum(a)
6.5

# returns the addition of sum(a) and b
>>> a = (1, 2, 3)
>>> x = sum(a, 4)
10

```

repository: mizukirc/python-snippets

repo_name: mizukirc/python-snippets


text:
---
name: Static files
sort: 3
---

# Static Files

Go already has the built-in `http.ServeFile` package to serve static files. Beego made a wrapper for it. To register static files use:

	beego.SetStaticPath("/static","public")

- The first parameter is the url path
- The second parameter is the static file directory path. (relative to the application directory)

Beego supports multiple static file directories:

	beego.SetStaticPath("/images","images")
	beego.SetStaticPath("/css","css")
	beego.SetStaticPath("/js","js")

With the above settings, request `/images/login/login.png` will find `application_path/images/login/login.png` and request `/static/img/logo.png` will find `public/img/logo.png` file.

By default Beego will check if the file exists, if not it will return a 404 page.  If the request is for `index.html`, because `http.ServeFile` will redirect and doesn't display this page by default, you can set `beego.BConfig.WebConfig.DirectoryIndex = true` to show `index.html` page. If this is enabled, users can see the file list while visit the directory.

repository: devuser/beego-admin-demo

repo_name: devuser/beego-admin-demo


text:
# SudokuSolver
An application for solving sudoku puzzles

Input: 9 x 9 matrix
Solution: 9 x 9 matrix

Algorithm:
Initialize solution to all zeros
Populate solution with values from Input
For each non-zero cell, determine possible values
- Is there only one possible value for the current cell?
    - Yes: Set this in the solution
- Is the puzzle is solved?
    - Yes: print result
    - No: move on to the next cell

repository: daveftech/SudokuSolver

repo_name: daveftech/SudokuSolver


text:
---
name: OSS Capital
site: https://oss.capital/
bio: Open Source Software eats everything.
avatar: /assets/ventures/ossc/icon.png
twitter: https://twitter.com/osscapital
email:
people:
  - joseph-jacks
---

OSS Capital globally invests exclusively in early-stage COSS (commercial open-source software) startup companies.

OSS Capital's mission is to catalyze the commercial open-source software (COSS) investment landscape by rethinking the traditional VC model by focusing exclusively on backing and supporting early-stage COSS founders of the next-generation.

OSS Capital is backed and supported by the previous generation of the worlds most successful and experienced COSS founders who have collectively: - Started 40 + of the worlds largest and most successful COSS companies - Unlocked $16 billion + in aggregate annual revenue - Driven $70 billion + in outcomes/exits across IPOs, M&A and PE events - Captured $145 billion + in aggregate value - Created 44,000 + full-time OSS jobs - Raised $9 billion + in venture capital

If you are a COSS founder looking for the worlds most differentiated lifecycle agnostic source of capital for your venture, look no further than OSS Capital.

gha_language: TypeScript


text:
# Making Haskell run fast: the many faces of reverse

> A blog about functional programming

Posted on September 13, 2019

These three versions of `reverse` are curiously related. The comparison will exemplify the role of laziness and purity in optimizations of functional programs, and the need for better tools to help performance tuning evolve from arcane art to science.

Extensions and imports for this Literate Haskell file

    {-# LANGUAGE TemplateHaskell #-}

    module Reverse where

    import Prelude hiding (reverse)
    import Test.Inspection (inspect, (===))

Declarative `reverse`
---------------------

The _declarative_ definition answers the question: _what_ is the reverse of a list?

It depends on the list. If it is empty, then its reverse is also the empty list. If it is not empty, `x : xs`, then the last element of the reverse is the head `x`, and the rest is the reverse of the tail `xs`.

    reverse :: [a] -> [a]
    reverse [] = []
    reverse (x : xs) = reverse xs ++ [x]

Step-by-step example:

        reverse (1 : 2 : 3 : [])
    =   reverse     (2 : 3 : [])                ++ [1]
    =  (reverse         (3 : [])        ++ [2]) ++ [1]
    = ((reverse              [] ++ [3]) ++ [2]) ++ [1]
    =                      (([] ++ [3]) ++ [2]) ++ [1]
    ... (simplifying (++))
    = 3 : 2 : 1 : []

Remarking that this function (in particular, the steps skipped at the end of the example above) takes time quadratic in the length of the input list motivates a more operational point of view.

Imperative `reverse`
--------------------

The question for the _imperative_ definition is: _how_ to construct the reverse of a list?

By answering the _how_, we can be careful to only work for a constant amount of time for each element, so that overall the function works in time linear in the length of the list.

Given a list, we can take its elements off one by one to build up another list next to it, which will be the reverse of the original list.

This solution is also known as the “tail-recursive `reverse`”.

    reverse' :: [a] -> [a]
    reverse' xs = revApp xs []

    -- revApp xs ys = reverse xs ++ ys
    revApp :: [a] -> [a] -> [a]
    revApp [] acc = acc
    revApp (x : xs) acc = revApp xs (x : acc)

Step-by-step example:

      revApp (1 : 2 : 3 : [])              []
    = revApp     (2 : 3 : [])         (1 : [])
    = revApp         (3 : [])     (2 : 1 : [])
    = revApp              []  (3 : 2 : 1 : [])
    = (3 : 2 : 1 : [])

Declarative, but faster
-----------------------

Another way to arrive at a linear-time `reverse` is to find the cause behind the slowness of the first version and then fix it.

If `n` is the length of the list, there is one `n` factor because of `reverse` calling itself `n` times. For each of those times, we apply `(++)` once, which is the other `n` factor.

But the cost of `(++)` is entirely up to the representation of lists. If we pick a representation with constant-time concatenation, then the declarative definition will give a linear-time function. One such representation is _difference lists_.

We first build a small library of difference lists.

    type DList a = [a] -> [a]

    empty     :: DList a
    singleton :: a -> DList a
    (++.)     :: DList a -> DList a -> DList a
    toList    :: DList a -> [a]

`DList` implementation

    type DList a = [a] -> [a]

    empty :: DList a
    empty = id

    singleton :: a -> DList a
    singleton y = (y :)

    (++.) :: DList a -> DList a -> DList a
    (++.) = (.)

    toList :: DList a -> [a]
    toList ys = ys []

Now, take the declarative definition, and replace list operations with those from that difference list library, and finally convert the result to the standard list representation.

    -- reverse, where the result is a difference list
    reversed :: [a] -> DList a
    reversed [] = empty
    reversed (x : xs) = reversed xs ++. singleton x

    reverse'' :: [a] -> [a]
    reverse'' = toList . reversed

Correctness
-----------

Here we shall consider an implementation “correct” if it is equivalent to a “reference implementation”, which we’ll arbitrarily elect to be the “declarative” `reverse`.

The body of the function `reverse''` is essentially the same as the “reference” `reverse`, and in that sense, we could say that it is “obviously correct”.

More formally, to prove that `reverse` and `reverse''` are equivalent, we can walk through both definition and relate every `DList` on one side with a list on the other side. Here’s a [proof in Coq](https://gist.github.com/Lysxia/d6c655f89f46bf5f2169c234e8f12dc1).

In contrast, to prove directly that the “imperative” `reverse'` is equivalent to the “declarative” `reverse`, the invariant is more ad hoc to come by, even though in the `DList` version, the same invariant turns out to be there too, it’s just hidden by the `DList` abstraction.

Although their destinations may be the same, it seems worth looking back at the different journeys behind `reverse'` and `reverse''` to hopefully learn more general principles which can guide us to write correct and performant programs (that I have yet to figure out, don’t expect to find any clear answers here).

Performance
-----------

Both `reverse'` and `reverse''` evaluate in time which grows linearly with the length of the input list, that was the whole point of the operation.

But there is more to performance than asymptotic complexity. The “imperative” `reverse'` relies on a tail-recursive auxiliary function `revApp`, so it can easily be compiled to a simple loop where most of the work goes directly into constructing the reversed list.

The situation with the difference-list based `reverse''` is less clear. Even if we admit that `(++.)` has a constant cost, there seems to be a fair amount of overhead compared to “imperative” `reverse'`: it is not tail-recursive, and it builds up a long chain of functions which is applied only at the end. As cheap as function calls may be, it seems quite hopeless to shed all of that weight to catch up to `reverse'`.

And yet, simply by making explicit the second argument of `reversed`, with a bit of rewriting, `reversed` transforms into `revApp` (the meat of “imperative” `reverse'`):

    reversed :: [a] -> DList a
    revApp   :: [a] -> [a] -> [a]  -- same type

    -- same definition as revApp
    reversed [] zs = zs
    reversed (y : ys) zs = reversed ys (y : zs)

Detailed equations

      reversed [] zs
    = empty zs
    = zs

      reversed (y : ys) zs
    = (reversed ys ++. singleton y) zs
    = reversed ys (singleton y zs)
    = reversed ys (y : zs)

Thanks to that, the glorious GHC compiles both the “declarative” `reverse''` and the “imperative” `reverse'` to identical Core terms.

### Laziness and purity

Haskell is actually in a quite privileged position here: to a certain extent, such an optimization is enabled by laziness and purity, the two main distinguishing features of Haskell.

To see why, take another look at this equation in the definition of `reversed` (in `reverse''`):

    reversed (y : ys) = reversed ys ++. singleton y

`(++.)` is merely function composition `(.)`, so we would like to rewrite that as follows:

    reversed (y : ys) = \zs -> reversed ys (singleton y zs)

But in an eagerly-evaluated language, that transformation delays the evaluation of `reversed ys`, which is valid only if it _terminates with no side effects_. That may be true in this case, but how many actual compilers do infer that information?[1](#fn1)

That reflects what the [haskell.org](https://haskell.org/) site says about laziness:

> Functions don’t evaluate their arguments. This means that programs can compose together very well, with the ability to write control constructs (such as if/else) just by writing normal functions. The purity of Haskell code makes it easy to fuse chains of functions together, allowing for performance benefits.

Laziness and purity make a pretty broad double-edged sword to optimize functional programs. It allows writing performant programs using high-level abstractions, however, the cost model is notoriously hard to grasp, especially beyond asymptotics. We _can_ build fast programs in Haskell, but that alone is not good enough. What does it take to do so _reliably_?

### Inspection testing

Inlining and partial evaluation seem to inherently make the cost model non-compositional, so that we have to know what the code generated by the compiler looks like. But that’s quite tedious, so there should be tools to assist us in spotting patterns of efficient and inefficient code. One such tool (the only one I am aware of in my limited knowledge) is the [_inspection-testing_](https://hackage.haskell.org/package/inspection-testing) library.

For example, here is a test that the fast “declarative” `reverse''` and the “imperative” `reverse'` are compiled to the same Core terms:

    inspect $ 'reverse'' === 'reverse'

When we compile this file (with optimizations), we get the following output confirming our claim:

    posts/2019-09-13-reverse.md:278:1: reverse'' === reverse' passed.
    inspection testing successful
          expected successes: 1

Of course, we can write that test here because we happen to have two functions which should compile to the same Core. It works well for unit-testing metaprograms (programs which generate programs), but it’s ill-suited to test the optimization of application-level code. _inspection-testing_ offers a few other properties which are correlated with “well optimized” in appropriate situations, and there are definitely many more left to discover.

Inspired by
-----------

*   _A novel representation of lists and its application to the function `reverse`_, by John Hughes, 1984. ([PDF](https://www.cs.tufts.edu/~nr/cs257/archive/john-hughes/lists.pdf))

*   _Why functional programming matters_, by John Hughes, 1990. ([PDF](http://www.cse.chalmers.se/~rjmh/Papers/whyfp.pdf))

*   [The many faces of `isOrderedTree`](https://www.youtube.com/watch?v=xcm_H36v_18&feature=youtu.be), talk by Joachim Breitner, MuniHac 2019.

*   The [_dlist_ library](http://hackage.haskell.org/package/dlist-<IP_ADDRESS>) on Hackage (the README contains many links about differences lists).

* * *

1.  In OCaml we can also construct infinite, cyclic lists: `let rec xs = 1 :: xs`. That makes an applicable requirement for this code transformation even more complicated to describe.[↩](#fnref1)

[Source](https://blog.poisson.chat/posts/2019-09-13-reverse.html)


text:
# django-easypost

A django wrapper for the python easypost library

## Usage

The package requires an easypost api key. Easypost supplies both a live key and a test key which can be added to the
site's `settings.py` like the following which distinguishes between environments:

```
#############
# EASYPOST  #
#############
if PRODUCTION:
    EASYPOST_API_KEY = 'uiop4567890'
else:
    EASYPOST_API_KEY = 'qwerty12345'
```

## Testing

`python runtests.py `

## Development

```
# to get easypost on the python sys path (should be in a virtualenv for this project)
pip install -e .

# For model migrations
django-admin makemigrations easypost --settings=easypost.test_settings
```

repository: davejmac/django-easypost

repo_name: davejmac/django-easypost


text:
----------------------------
title : SCAS, SCASB, SCASW, SCASDs (Intel x86/64 assembly instruction)
cat_title : SCAS, SCASB, SCASW, SCASD
ref_title : SCAS, SCASB, SCASW, SCASD
published : 2020-09-01
path : /X86-64 명령어 레퍼런스/S
publish_date: 2020-09-01
----------------------------

#@ SCAS, SCASB, SCASW, SCASD

**Scan String **

```lec-info
아래 표를 해석하는 방법은 [x86-64 명령어 레퍼런스 읽는 법](/316) 글을 참조하시기 바랍니다.
```

|**Opcode**|**Instruction**|**Op/ **\newline{}**En**|**64-Bit **\newline{}**Mode**|**Compat/**\newline{}**Leg Mode**|**Description**|
|----------|---------------|------------------------|-----------------------------|---------------------------------|---------------|
|AE|`SCAS` \tooltip{m8}{DS:(E)SI, ES:(E)DI 로 표현되는 1 바이트 짜리 메모리를 나타낸다. 주로 배열의 이름을 나타내는데 사용된다. 64 비트의 경우 RSI 또는 RDI 레지스터로 표현된다. } |NP|Valid |Valid|Compare AL with byte at ES:(E)DI or RDI, then set status flags.\htmlonly{*}|
|AF|`SCAS` \tooltip{m16}{DS:(E)SI, ES:(E)DI 로 표현되는 2 바이트 짜리 메모리를 나타낸다. 주로 문자열 연산에서 사용된다. 64 비트의 경우 RSI 또는 RDI 레지스터로 표현된다. } |NP|Valid |Valid|Compare AX with word at ES:(E)DI or RDI, then set status flags.\htmlonly{*}|
|AF|`SCAS` \tooltip{m32}{DS:(E)SI, ES:(E)DI 로 표현되는 4 바이트 짜리 메모리를 나타낸다. 주로 문자열 연산에서 사용된다. 64 비트의 경우 RSI 또는 RDI 레지스터로 표현된다.} |NP|Valid |Valid|Compare EAX with doubleword at ES(E)DI or RDI then set status flags.\htmlonly{*}|
|REX.W + AF|`SCAS` \tooltip{m64}{메모리 상의 8 바이트 데이터를 표현한다.} |NP|Valid|N.E.|Compare RAX with quadword at RDI or EDI then set status flags.|
|AE|`SCASB` |NP|Valid |Valid|Compare AL with byte at ES:(E)DI or RDI then set status flags.\htmlonly{*}|
|AF|`SCASW` |NP|Valid |Valid|Compare AX with word at ES:(E)DI or RDI then set status flags.\htmlonly{*}|
|AF|`SCASD` |NP|Valid |Valid|Compare EAX with doubleword at ES:(E)DI or RDI then set status flags.\htmlonly{*}|
|REX.W + AF|SCASQ |NP|Valid |N.E.|Compare RAX with quadword at RDI or EDI then set status flags.|

```note
\htmlonly{*} In 64-bit mode, only 64-bit (RDI) and 32-bit (EDI) address sizes are supported. In non-64-bit mode, only 32-bit (EDI) and 16-bit (DI) address sizes are supported
```
### Instruction Operand Encoding

|Op/En|Operand 1|Operand 2|Operand 3|Operand 4|
|-----|---------|---------|---------|---------|
|NP|NA|NA|NA|NA|
### Description

In non-64-bit modes and in default 64-bit mode: this instruction compares a byte, word, doubleword or quadword specified using a memory operand with the value in AL, AX, or EAX. It then sets status flags in EFLAGS recording the results. The memory operand address is read from ES:(E)DI register (depending on the address-size attribute of the instruction and the current operational mode). Note that ES cannot be overridden with a segment override prefix.

At the assembly-code level, two forms of this instruction are allowed. The explicit-operand form and the no-oper-ands form. The explicit-operand form (specified using the `SCAS` mnemonic) allows a memory operand to be speci-fied explicitly. The memory operand must be a symbol that indicates the size and location of the operand value. The register operand is then automatically selected to match the size of the memory operand (AL register for byte comparisons, AX for word comparisons, EAX for doubleword comparisons). The explicit-operand form is provided to allow documentation. Note that the documentation provided by this form can be misleading. That is, the memory operand symbol must specify the correct type (size) of the operand (byte, word, or doubleword) but it does not have to specify the correct location. The location is always specified by ES:(E)DI.

The no-operands form of the instruction uses a short form of `SCAS`. Again, ES:(E)DI is assumed to be the memory operand and AL, AX, or EAX is assumed to be the register operand. The size of operands is selected by the mnemonic: `SCASB` (byte comparison), `SCASW` (word comparison), or `SCASD` (doubleword comparison).

After the comparison, the (E)DI register is incremented or decremented automatically according to the setting of the DF flag in the EFLAGS register. If the DF flag is 0, the (E)DI register is incremented; if the DF flag is 1, the (E)DI register is decremented. The register is incremented or decremented by 1 for byte operations, by 2 for word oper-ations, and by 4 for doubleword operations.

SCAS, `SCASB`, `SCASW`, `SCASD`, and SCASQ can be preceded by the `REP` prefix for block comparisons of ECX bytes, words, doublewords, or quadwords. Often, however, these instructions will be used in a `LOOP` construct that takes

some action based on the setting of status flags. See "REP/REPE/REPZ /REPNE/REPNZ--Repeat String Operation Prefix" in this chapter for a description of the `REP` prefix.

In 64-bit mode, the instruction's default address size is 64-bits, 32-bit address size is supported using the prefix 67H. Using a REX prefix in the form of REX.W promotes operation on doubleword operand to 64 bits. The 64-bit no-operand mnemonic is SCASQ. Address of the memory operand is specified in either RDI or EDI, and AL/AX/EAX/RAX may be used as the register operand. After a comparison, the destination register is incremented or decremented by the current operand size (depending on the value of the DF flag). See the summary chart at the beginning of this section for encoding data and limits.

### Operation

```info-verb
Non-64-bit Mode:
IF (Byte comparison)
    THEN
          temp <- AL - SRC;
          SetStatusFlags(temp);
                THEN IF DF = 0
                      THEN (E)DI <- (E)DI + 1;
                      ELSE (E)DI <- (E)DI - 1; FI;
    ELSE IF (Word comparison)
          THEN
                temp <- AX - SRC;
                SetStatusFlags(temp);
                IF DF = 0
                      THEN (E)DI <- (E)DI + 2;
                      ELSE (E)DI <- (E)DI - 2; FI;
          FI;
    ELSE IF (Doubleword comparison)
          THEN
                temp <- EAX - SRC;
                SetStatusFlags(temp);
                IF DF = 0
                      THEN (E)DI <- (E)DI + 4;
                      ELSE (E)DI <- (E)DI - 4; FI;
          FI;
FI;
64-bit Mode:
IF (Byte cmparison)
    THEN
          temp <- AL - SRC;
          SetStatusFlags(temp);
                THEN IF DF = 0
                      THEN (R|E)DI <- (R|E)DI + 1;
                      ELSE (R|E)DI <- (R|E)DI - 1; FI;
    ELSE IF (Word comparison)
          THEN
                temp <- AX - SRC;
                SetStatusFlags(temp);
                IF DF = 0
                      THEN (R|E)DI <- (R|E)DI + 2;
                      ELSE (R|E)DI <- (R|E)DI - 2; FI;
          FI;
ELSE IF (Doubleword comparison)
          THEN
                temp <- EAX - SRC;
                SetStatusFlags(temp);
                IF DF = 0
                      THEN (R|E)DI <- (R|E)DI + 4;
                      ELSE (R|E)DI <- (R|E)DI - 4; FI;
          FI;
    ELSE IF (Quadword comparison using REX.W )
          THEN
                temp <- RAX - SRC;
                SetStatusFlags(temp);
                IF DF = 0
                      THEN (R|E)DI <- (R|E)DI + 8;
                      ELSE (R|E)DI <- (R|E)DI - 8;
                FI;
    FI;
F
```
### Flags Affected

The OF, SF, ZF, AF, PF, and CF flags are set according to the temporary result of the comparison.

### Protected Mode Exceptions

#### #GP(0)
* If a memory operand effective address is outside the limit of the ES segment.
* If the ES register contains a NULL segment selector.
* If an illegal memory operand effective address in the ES segment is given.

#### #PF(fault-code)
* If a page fault occurs.

#### #AC(0)
* If alignment checking is enabled and an unaligned memory reference is made while the current privilege level is 3.

#### #UD
* If the LOCK prefix is used.

### Real-Address Mode Exceptions

#### #GP
* If a memory operand effective address is outside the CS, DS, ES, FS, or GS segment limit.

#### #SS
* If a memory operand effective address is outside the SS segment limit.

#### #UD
* If the LOCK prefix is used.

### Virtual-8086 Mode Exceptions

#### #GP(0)
* If a memory operand effective address is outside the CS, DS, ES, FS, or GS segment limit.

#### #SS(0)
* If a memory operand effective address is outside the SS segment limit.

#### #PF(fault-code)
* If a page fault occurs.

#### #AC(0)
* If alignment checking is enabled and an unaligned memory reference is made.

#### #UD
* If the LOCK prefix is used.

### Compatibility Mode Exceptions

Same exceptions as in protected mode.

### 64-Bit Mode Exceptions

#### #GP(0)
* If the memory address is in a non-canonical form.

#### #PF(fault-code)
* If a page fault occurs.

#### #AC(0)
* If alignment checking is enabled and an unaligned memory reference is made while the current privilege level is 3.

#### #UD
* If the LOCK prefix is used.


text:
# PlanDetails

## Properties

Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**BaseFeeMonthly** | **int64** | BaseFeeMonthly is the monthly base fee for the plan. |
**BaseFeeYearly** | **int64** | BaseFeeYearly is the yearly base fee for the plan. |
**Custom** | **bool** | Custom is true if the plan is custom. This means it will be hidden from the pricing page. |
**Description** | **string** | Description is the description of the plan. |
**Features** | [**map[string]GenericUsage**](GenericUsage.md) | Features are the feature definitions included in the plan. |
**Name** | **string** | Name is the name of the plan. |
**Version** | **int64** | Version is the version of the plan. The combination of `name@version` must be unique. |

## Methods

### NewPlanDetails

`func NewPlanDetails(baseFeeMonthly int64, baseFeeYearly int64, custom bool, description string, features map[string]GenericUsage, name string, version int64, ) *PlanDetails`

NewPlanDetails instantiates a new PlanDetails object
This constructor will assign default values to properties that have it defined,
and makes sure properties required by API are set, but the set of arguments
will change when the set of required properties is changed

### NewPlanDetailsWithDefaults

`func NewPlanDetailsWithDefaults() *PlanDetails`

NewPlanDetailsWithDefaults instantiates a new PlanDetails object
This constructor will only assign default values to properties that have it defined,
but it doesn't guarantee that properties required by API are set

### GetBaseFeeMonthly

`func (o *PlanDetails) GetBaseFeeMonthly() int64`

GetBaseFeeMonthly returns the BaseFeeMonthly field if non-nil, zero value otherwise.

### GetBaseFeeMonthlyOk

`func (o *PlanDetails) GetBaseFeeMonthlyOk() (*int64, bool)`

GetBaseFeeMonthlyOk returns a tuple with the BaseFeeMonthly field if it's non-nil, zero value otherwise
and a boolean to check if the value has been set.

### SetBaseFeeMonthly

`func (o *PlanDetails) SetBaseFeeMonthly(v int64)`

SetBaseFeeMonthly sets BaseFeeMonthly field to given value.

### GetBaseFeeYearly

`func (o *PlanDetails) GetBaseFeeYearly() int64`

GetBaseFeeYearly returns the BaseFeeYearly field if non-nil, zero value otherwise.

### GetBaseFeeYearlyOk

`func (o *PlanDetails) GetBaseFeeYearlyOk() (*int64, bool)`

GetBaseFeeYearlyOk returns a tuple with the BaseFeeYearly field if it's non-nil, zero value otherwise
and a boolean to check if the value has been set.

### SetBaseFeeYearly

`func (o *PlanDetails) SetBaseFeeYearly(v int64)`

SetBaseFeeYearly sets BaseFeeYearly field to given value.

### GetCustom

`func (o *PlanDetails) GetCustom() bool`

GetCustom returns the Custom field if non-nil, zero value otherwise.

### GetCustomOk

`func (o *PlanDetails) GetCustomOk() (*bool, bool)`

GetCustomOk returns a tuple with the Custom field if it's non-nil, zero value otherwise
and a boolean to check if the value has been set.

### SetCustom

`func (o *PlanDetails) SetCustom(v bool)`

SetCustom sets Custom field to given value.

### GetDescription

`func (o *PlanDetails) GetDescription() string`

GetDescription returns the Description field if non-nil, zero value otherwise.

### GetDescriptionOk

`func (o *PlanDetails) GetDescriptionOk() (*string, bool)`

GetDescriptionOk returns a tuple with the Description field if it's non-nil, zero value otherwise
and a boolean to check if the value has been set.

### SetDescription

`func (o *PlanDetails) SetDescription(v string)`

SetDescription sets Description field to given value.

### GetFeatures

`func (o *PlanDetails) GetFeatures() map[string]GenericUsage`

GetFeatures returns the Features field if non-nil, zero value otherwise.

### GetFeaturesOk

`func (o *PlanDetails) GetFeaturesOk() (*map[string]GenericUsage, bool)`

GetFeaturesOk returns a tuple with the Features field if it's non-nil, zero value otherwise
and a boolean to check if the value has been set.

### SetFeatures

`func (o *PlanDetails) SetFeatures(v map[string]GenericUsage)`

SetFeatures sets Features field to given value.

### GetName

`func (o *PlanDetails) GetName() string`

GetName returns the Name field if non-nil, zero value otherwise.

### GetNameOk

`func (o *PlanDetails) GetNameOk() (*string, bool)`

GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise
and a boolean to check if the value has been set.

### SetName

`func (o *PlanDetails) SetName(v string)`

SetName sets Name field to given value.

### GetVersion

`func (o *PlanDetails) GetVersion() int64`

GetVersion returns the Version field if non-nil, zero value otherwise.

### GetVersionOk

`func (o *PlanDetails) GetVersionOk() (*int64, bool)`

GetVersionOk returns a tuple with the Version field if it's non-nil, zero value otherwise
and a boolean to check if the value has been set.

### SetVersion

`func (o *PlanDetails) SetVersion(v int64)`

SetVersion sets Version field to given value.

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

repository: ory/sdk

gha_language: C#

repo_name: ory/sdk


text:
# Frontend

## Getting Started

* Codecademy - HTML & CSS
  https://www.codecademy.com/catalog/language/html-css

## Microdata & SEO

* A free guide to <head> elements
  https://gethead.info/

## CSS

* Single Responsibility by Drew Barontini
  https://drewbarontini.com/articles/single-responsibility-principle/
* Philip Walton: Container Queries | CSSconf EU 2018
  https://www.youtube.com/watch?v=0wA4CMo9_EU
* Mark Dalgleish: A Unified Styling Language (React, React Native, Styled Components, Design Systems etc.)
  https://www.youtube.com/watch?v=X_uTCnaRe94
* CSS Grid Playground - Firefox Devtools - Introduction to CSS Grid Layout
  https://mozilladevelopers.github.io/playground/css-grid/
* 30 Seconds of CSS
  https://github.com/30-seconds/30-seconds-of-css
* CSS Reference - A free visual guide to CSS
  https://cssreference.io/
* Responsive Components: a Solution to the Container Queries Problem
  https://philipwalton.com/articles/responsive-components-a-solution-to-the-container-queries-problem/
* CSS Blocks — Blazing fast CSS for your design systems and app components
  http://css-blocks.com/
* A Complete Guide to Grid
  https://css-tricks.com/snippets/css/complete-guide-grid/
* CSS Grid — Learn all about CSS Grid with Wes Bos in this free video series
  https://cssgrid.io/
* In defense of Functional CSS
  https://www.mikecr.it/ramblings/functional-css/
* Tailwind — A utility-first CSS framework for rapidly building custom user interfaces
  https://tailwindcss.com/docs/what-is-tailwind/
* Tachyons — Create fast loading, highly readable, and 100% responsive interfaces with as little css as possible
  https://tachyons.io/
* Semantic UI — User Interface is the language of the web
  https://semantic-ui.com/

## Design

* Painting with Code - Introducing our new open source library React Sketch.app
  https://airbnb.design/painting-with-code/
* ReactSketch.app - render React components to Sketch; tailor-made for design systems
  http://airbnb.io/react-sketchapp/

## Components

* Bit - Components are building blocks. You are the architect.
  https://bitsrc.io/
* Custom Elements Everywhere — Making sure frameworks and custom elements can be BFFs
  https://custom-elements-everywhere.com/

## Performance

* Front-End Performance Checklist 2019
  https://www.smashingmagazine.com/2019/01/front-end-performance-checklist-2019-pdf-pages/
* What happens when you visit ft.com?
  https://medium.com/ft-product-technology/making-a-request-to-the-financial-times-b2119a2f422d
* React Performance Fixes on Airbnb Listing Pages
  https://medium.com/airbnb-engineering/recent-web-performance-fixes-on-airbnb-listing-pages-6cd8d93df6f4
* A Pinterest Progressive Web App Performance Case Study
  https://medium.com/dev-channel/a-pinterest-progressive-web-app-performance-case-study-3bd6ed2e6154
* Phoenix performance metrics within the browser developer tools
  https://blog.dnsimple.com/2018/02/server-timing-with-phoenix/
* Optimize Website Speed With Chrome DevTools
  https://developers.google.com/web/tools/chrome-devtools/speed/get-started
* A Modern Front-End Workflow with DevTools - Umar Hansa
  https://www.youtube.com/watch?v=wz1Sy5C039M

repository: maciejsmolinski/learnings

repo_name: maciejsmolinski/learnings


text:
My [**personal website**](https://yifei-eva-wang.netlify.app/) built using [**Academic**](https://github.com/gcushen/hugo-academic).

Copyright 2017-present [George Cushen](https://georgecushen.com).

Released under the [MIT](https://github.com/sourcethemes/academic-kickstart/blob/master/LICENSE.md) license.

[![Analytics](https://ga-beacon.appspot.com/UA-78646709-2/academic-kickstart/readme?pixel)](https://github.com/igrigorik/ga-beacon)


text:
# birdwatcher

birdwatcher is a small HTTP server meant to provide an API defined by
Barry O'Donovan's
[birds-eye](https://github.com/inex/birds-eye-design/) to
[the BIRD routing daemon](http://bird.network.cz/).

## Why

The [INEX implementation](https://github.com/inex/birdseye) of
birdseye runs PHP, which is not always desirable (and performant)
in a routeserver setting. By using Go, we are able to work with
regular binaries, which means deployment and maintenance might be
more convenient.

Our version also has a few more capabilities, as you will
discover when looking at [the modules section](https://github.com/alice-lg/birdwatcher/blob/master/etc/birdwatcher/birdwatcher.conf)
of the config.

## Installation

You will need to have go installed to build the package.
Please make sure your go version is `>= 1.9`.

Running `go get github.com/alice-lg/birdwatcher` will give you
a binary. You might need to cross-compile it for your
bird-running servive (`GOARCH` and `GOOS` are your friends).

We provide a Makefile for more advanced compilation/configuration.
Running `make linux` will create a Linux executable (by default for
`amd64`, but that is configurable by providing the `ARCH` argument
to the Makefile).

#### 2.0 Breaking Change

The per peer table configuration is no longer done in the birdwatcher,
but directly in alice.

### BIRD configuration

Birdwatcher parses the output of birdc and expects (for now)
the time format to be `iso long`. You need to configure

    timeformat base         iso long;
    timeformat log          iso long;
    timeformat protocol     iso long;
    timeformat route        iso long;

in your `/etc/bird[6].conf` for birdwatcher to work.

#### BIRD keep filtered routes
To also see the filtered routes in BIRD you need to make sure that you
have enabled the 'import keep filtered on' option for your BGP peers.

    protocol bgp 'peerX' {
        ...
        import keep filtered on;
        ...
    }

Now you should be able to do a 'show route filtered' in BIRD.

Do note that 'import keep filtered on' does NOT work for BIRD's pipe protocol
which is used when you have per peer tables, often used with Route Servers. If
your BIRD configuration has its import filters set on the BIRD pipe protocols
themselves then you will not be able to show the filtered routes.
However, you could move the import filters from the pipes to the BGP protocols
directly. For example:

    table master;
    table table_peer_X;

    protocol pipe pipe_peer_X {
        table master;
        peer table table_peer_X;
        mode transparent;
        import all;
        export where exportMagic();
    }

    protocol bgp 'peerX' {
        ...
        table table_peer_X;
        import where importFilter();
        import keep filtered on;
        export all;
        ...
    }

#### BIRD tagging filtered routes
If you want to make use of the filtered route reasons in the Birdseye then you need
to make sure that you are using BIRD 1.6.3 or up as you will need Large BGP Communities
(http://largebgpcommunities.net/).

You need to add a Large BGP Community just before you filter a route, for example:

    define yourASN = 12345
    define yourFilteredNumber = 65666
    define prefixTooLong = 1
    define pathTooLong = 2

    function importScrub() {
        ...
        if (net.len > 24) then {
            print "REJECTING: ",net.ip,"/",net.len," received from ",from,": Prefix is longer than 24: ",net.len,"!";
            bgp_large_community.add((YourASN,yourFilteredNumber,prefixTooLong));
            return false;
        }
        if (bgp_path.len > 64) then {
            print "REJECTING: ",net.ip,"/",net.len," received from ",from,": AS path length is ridiculously long: ",bgp_path.len,"!";
            bgp_large_community.add((yourASN,yourFilteredNumber,pathTooLong));
            return false;
        }
        ...
        return true;
    }

    function importFilter() {
        ...
        if !(importScrub()) then reject;
        ...
        accept;
    }

### Using Docker

You can run the birdwatcher for bird2 with docker:

    docker pull alicelg/birdwatcher:latest

    docker run -p 29184:29184 -v /var/run/bird.ctl:/usr/local/var/run/bird.ctl -it --rm birdwatcher:latest

Or build your own image:

    docker build . -t alicelg/birdwatcher:latest
### Building an RPM

Building RPMs is supported through [fpm](https://github.com/jordansissel/fpm).
If you have `fpm` installed locally, you can run `make rpm`
to create a RPM in the folder `RPMS`. If you have a remote
build server with `fpm` installed, you can build and fetch
an RPM with `make remote_rpm BUILD_SERVER=<buildserver_url>`
(requires SSH access).

### Deployment

If you want to deploy `birdwatcher` on a system that uses
RPMs, you should be able to install it after following the
instructions on [building an RPM](#building-an-rpm).

We do not currently support other deployment methods.

## Configuration

An example config with sane defaults is provided in
[etc/birdwatcher/birdwatcher.conf](https://github.com/alice-lg/birdwatcher/blob/master/etc/birdwatcher/birdwatcher.conf).
You should be able to use it out of the box. If you need
to change it, it is well-commented and hopefully intuitive.
If you do not know how to configure it, please consider opening
[an issue](https://github.com/alice-lg/birdwatcher/issues/new).

## How

In the background `birdwatcher` runs the `birdc` client, sends
commands and parses the result. It also leverages simple caching
techniques to help reduce the load on the bird service.

## Who

Initially developed by Daniel and MC from [Netnod](https://www.netnod.se/) in
two days at the RIPE 73 IXP Tools Hackathon in Madrid, Spain.

Running bird and parsing the results was added by [Veit Heller](https://github.com/hellerve/) on behalf of [ecix](http://ecix.net/).

With major contributions from: Patrick Seeburger and Benedikt Rudolph on behalf of [DE-CIX](https://de-cix.net).

repository: digitalocean/birdwatcher

repo_name: digitalocean/birdwatcher


text:
---
title: Gamemode Specific Configurations

permalink: /guide/gamemode-specific-cfgs/

category: guide
tags:
  - hud
  - cfg

toc: true
toc_sticky: true
---

This guide covers all gamemode-specific settings available to players, at least at the time of writing.

## Config Files
When the game loads into a map of a known gamemode, a specific config file located in `momentum/cfg/` is executed if it exists.
The names of these config files correspond to the gamemode prefixes found in map names.
For instance, `momentum/cfg/sj.cfg` will be executed when loading a sticky jump map, such as `sj_amazon`.

Config files themselves are a list of lines to be entered into the console and are usually used to set console variables and binds. A collection of console variables can be found [here](/categories/#var).


text:
# Nano_Binance_Refund_Bot
a simple python script that monitors the binance hotwallet and refunds the withdrawal fee to encourage people to withdraw their Nano and help decentralisation

Additional Required Libs:
  * https://github.com/jamescoxon/jcnanolib
  * https://github.com/Nanoquake/nano25519


text:
# Changelog
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## Version 0.5.0 - Unreleased
- Added `ShapeEx.GeometryType` property, conating the geometric form:
```
public enum GeometryType
{
    Line,
    LineInverse,
    Triangle,
    RightTriangle,
    Rectangle,
    ...
```

## Version 0.4.0 - 2020-03-28
### Added
- Added setters for `X`, `Y`, `Width` and `Height` properties of non-placeholder shapes;
- Added `ShapeEx.IsGrouped` boolean property to determine whether the shape is grouped;
- Added APIs to remove table row
  ```
  var tableRows = shape.Table.Rows;
  // remove by index
  tableRows.RemoveAt(0);
  // remove by instance
  var row = tableRows.First();
  tableRows.Remove(row);
  ```

## Version 0.3.0 - 2020-03-16
### Added
- Added _ChartEx.SeriesCollection_ and  _ChartEx.Categories_ collections
    ```
    var pointValue = chart.SeriesCollection[0].PointValues[0];
    var seriesType = chart.SeriesCollection[0].Type;
    if (chart.HasCategories)
    {
        var category = chart.Categories[0];
    }
    ```

## Version 0.2.0 - 2020-03-02
### Added
- Added `SlideNumber` placeholder processing;
- Added property `ShapeEx.Fill`.

## Version 0.1.0 - 2020-02-25
### Added
- Initial release of SlideDotNet.

repository: DrZakaria/SlideDotNet

repo_name: DrZakaria/SlideDotNet


text:
# DeepSchmatzing

Source code to replicate the results of:

"Using Representation Learning and Out-of-domain Data for a Paralinguistic Speech Task"
Benjamin Milde, Chris Biemann
In: Proceedings INTERSPEECH. Dresden, Germany, September 2015.

(Please cite this paper if you use this project in your academic work)

It allows you to train an audio sequence classifier based on Convolutional Neural Networks for language idenfication using the Voxforge corpus and for Eating Condition classification. The output of several classification systems was submitted to the INTERSPEECH 2015 Computational Paralinguistics challenge. Using an ensemble of many slightly different models a final score of 75.85% unweighted average recall (UAR) for 7-way Eating Condition classification was reached.

The Eating Condition classification task is to determine if a short utterance is either "No Food", "Banana", "Crisp", "Nectarine", "Haribo", "Apple", "Biscuit", based on training and testing data from the iHEARu-EAT corpus.  Speakers eat one of these specific food types while they speak and recite a poem.

We made use of transfer learning and data augmentation, i.e. transferring weights of a 7-way language identification system trained on Voxforge. Weights of the convolutional layers of the trained Voxforge LID network were used as initialisation. [Rubberband](http://breakfastquay.com/rubberband/) was used to generate additional pitch shifted variants of the training files (+/- 1 semitone, crisp level 6).

This code evolved under the time constrains of a challenge - good results were more important than good code quality. You should be able to replicate results, but don't expect easy to read code.

repository: jundengdeng/deepschmatzing

repo_name: jundengdeng/deepschmatzing


text:
# OpenCV + Tensorflow at Raspberry Pi 3B+

A [Docker](http://docker.com) file to build images for AMD & ARM devices over a base image based with a minimal installation of [Tensorflow](https://www.tensorflow.org/) an open source software library for numerical computation using data flow graphs. Also installed [OpenCV](https://opencv.org/) a library of programming functions mainly aimed at real-time computer vision. Upgrade to Python3.7, keeping the default Python3.5.

Based on previous work by Eloy Lopez, see [repo](https://github.com/DeftWork/tf-opencv).

| Docker Hub | Docker Pulls | Docker Stars | Docker Build | Size/Layers |
| --- | --- | --- | --- | --- |
| [tf-opencv](https://hub.docker.com/r/elswork/tf-opencv "elswork/tf-opencv on Docker Hub") | [![](https://img.shields.io/docker/pulls/elswork/tf-opencv.svg)](https://hub.docker.com/r/elswork/tf-opencv "tf-opencv on Docker Hub") | [![](https://img.shields.io/docker/stars/elswork/tf-opencv.svg)](https://hub.docker.com/r/elswork/tf-opencv "tf-opencv on Docker Hub") | [![](https://img.shields.io/docker/build/elswork/tf-opencv.svg)](https://hub.docker.com/r/elswork/tf-opencv "tf-opencv on Docker Hub") | [![](https://images.microbadger.com/badges/image/elswork/tf-opencv.svg)](https://microbadger.com/images/elswork/tf-opencv "tf-opencv on microbadger.com") |

## Build Instructions

```sh
root@poe:/home/pi/tf# make
help                           This help.
build                          Build the container
tag                            Tag the container
push                           Push the container
manifest                       Create an push manifest
start                          Start the container
```

## Typical Usage

```sh
docker run -it josemottalopes/tf:arm32v7
```

Run the docker container and follow instrucions from:

[Cat or Not - An Image Classifier using Python and Keras](https://www.codeproject.com/Articles/4023566/Cat-or-Not-An-Image-Classifier-using-Python-and-Ke)

repository: bampli/tf

repo_name: bampli/tf


text:
# Meridian Web SDK

## About

The Meridian WebSDK is designed to work with Aruba Location Services and
provides a limited set of APIs and functionality specific to web applications.

Note: Unlike Meridian's well known iOS and Android mobile SDKs, the WebSDK is not a
complete location services SDK.

## Documentation

Please read the [documentation][] for an installation and API guide.

## Examples

We have several [examples][] of how to use the SDK.

[examples]: https://arubanetworks.github.io/meridian-web-sdk/examples
[download]: https://docs.meridianapps.com/hc/en-us/articles/360039669854-SDK-Downloads
[documentation]: https://arubanetworks.github.io/meridian-web-sdk/

## License

[MIT](LICENSE)

repository: arubanetworks/meridian-web-sdk

repo_name: arubanetworks/meridian-web-sdk


text:
# EEZYRoboticArmAPI

3D printed robotic arm that uses stepper motors and it's connected to a raspberry pi 4 that sends the steps/instructions.

 Demo
------

 **Full Youtube video:**
[Robotic Arm](http://www.youtube.com/watch?v=6QX1YFKg4C8 "Robotic Arm")

API
-----

Endpoints:

### /api/stepper

This endpoint has the query params **move** and **value** that specifies the robotic arm direction and steps

**move = up & value =** //add steps number

**move = down & value =** //add steps number

**move = forward & value =** //add steps number

**move = backward & value =** //add steps number

**move = base_right & value =** //add steps number

**move = base_left & value =** //add steps number

Response:
```
{
  “movement”: “up”,
  “status”: 200
}
```

The steps above are only for the robotic arm movement.
For the claw we have different query params

**move = claw & angle** = //add any number between 1 and 9

Response:
```
{
  “movement”: “claw movement”,
  “status”: 200
}
```

**Each query action is memorised so that we can replay it**
For this I had to implement a other actions

**move = clear_steps** - This query removes/clears all actions that were made until that point

Response:
```
{
  “data”: 0,
  “movement”: “clear_steps”,
  “status”: 200
}
```
**move = saved_steps** - This query displays the steps number (how many actions are memorised until that point)

Response:
```
{
  “data”: 65,
  “movement”: “saved_steps”,
  “status”: 200
}
```
**move = replay_steps** - Once this query is called it will replay all the steps that were memorised

Response:
```
{
  “data”: 65,
  “movement”: “replay_steps”,
  “status”: 200
}
```

Hardware connection between Raspberry PI and ULN2003 Driver Board
------

Raspberry pi | ULN2003 Driver Board (1) Up/ Down
------------ | -------------
GPIO21 | IN1
GPIO20 | IN2
GPIO16 | IN3
GPIO12 | IN4
GND | GND
5V | 5V

Raspberry pi | ULN2003 Driver Board (2) - Forward / Backward
------------ | -------------
GPIO26 | IN1
GPIO19 | IN2
GPIO13 | IN3
GPIO06 | IN4
GND | GND
5V | 5V

Raspberry pi | ULN2003 Driver Board (3) - Base left/right
------------ | -------------
GPIO05 | IN1
GPIO22 | IN2
GPIO27 | IN3
GPIO18 | IN4
GND | GND
5V | 5V

Thingiverse Model
-----
https://www.thingiverse.com/thing:2838859

License
------

    Copyright 2019

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

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

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

repository: ManolescuSebastian/EEZYRoboticArmAPI

repo_name: ManolescuSebastian/EEZYRoboticArmAPI


text:
# HighRoller [![Build Status](https://travis-ci.org/NateBarnes/high_roller.svg?branch=master)](https://travis-ci.org/NateBarnes/high_roller) [![Hex Version](https://img.shields.io/hexpm/v/high_roller.svg)](https://hex.pm/packages/high_roller) [![Coverage Status](https://coveralls.io/repos/github/NateBarnes/high_roller/badge.svg)](https://coveralls.io/github/NateBarnes/high_roller)

Simple dice roller built in Elixir

## Installation

The package can be installed by adding `high_roller` to your list of dependencies in `mix.exs`:

```elixir
def deps do
  [
    {:high_roller, "~> 1.0.0"}
  ]
end
```

Documentation can be found at [https://hexdocs.pm/high_roller](https://hexdocs.pm/high_roller).

gha_language: Elixir


text:
# assignment_06

## Rick & Morty app

![gif](assets/gifs/app.gif)

* All characters from Rick & Morty.
* Press long to see character details.
* Press  to see list of episodes in which this character appeared.
* Press to see episode details.

## Getting Started

A few resources to get you started if this is your first Flutter project:

- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab)
- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook)

For help getting started with Flutter, view our
[online documentation](https://flutter.dev/docs), which offers tutorials,
samples, guidance on mobile development, and a full API reference.

repository: uabua/flutter-development

repo_name: uabua/flutter-development


text:
# minimal-express-starter
## A simple command to get you started with minimal node express API.

### The generated folder will contain following features
1. Hot reloading with babel-watch
2. ES6 imports
3. .env using dotenv
4. Express server running with REST routes and CORS added

### To try it run `npx minimal-express-starter my-express-app`

## And thats it 😄😄😄


text:
### [CVE-2023-24154](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-24154)
![](https://img.shields.io/static/v1?label=Product&message=n%2Fa&color=blue)
![](https://img.shields.io/static/v1?label=Version&message=n%2Fa&color=blue)
![](https://img.shields.io/static/v1?label=Vulnerability&message=n%2Fa&color=brighgreen)

### Description

TOTOLINK T8 V4.1.5cu was discovered to contain a command injection vulnerability via the slaveIpList parameter in the function setUpgradeFW.

### POC

#### Reference
- https://github.com/Double-q1015/CVE-vulns/blob/main/totolink_t8/setUpgradeFW/setUpgradeFW.md

#### Github
No PoCs found on GitHub currently.

repository: trickest/cve

gha_language: HTML

repo_name: trickest/cve


text:
# Python API binding for Seventime

Helper functions for integrating with Seventime.

Mostly low level functions, but will perhaps add higher level functionality in the future.

repository: klintan/py-seventime

repo_name: klintan/py-seventime


text:
---
hrs_structure:
  division: '1'
  volume: '6'
  title: '19'
  chapter: 323F
  section: 323F-10.6
type: hrs_section
tags:
  - Government
menu:
  hrs:
    identifier: HRS_0323F-0010_0006
    parent: HRS0323F
    name: 323F-10.6 Peer review and credentialing
weight: 20090
title: Peer review and credentialing
full_title: 323F-10.6 Peer review and credentialing
---
**§323F-10.6** **Peer review and credentialing.** Peer review activities shall be subject to chapters 663 and 671D and all other provisions and restrictions of medical peer review committees established by state law. [L 1998, c 229, pt of §1; am L 2007, c 290, §28]

repository: SamMade/BlueAndKrabby

repo_name: SamMade/BlueAndKrabby


text:
# Item

An Item component is a list-item wrapper for individual actions or links that appear within a Dropdown [Menu](./Menu.md)

## Example

```jsx
<Dropdown.Menu>
  <Dropdown.Item onClick={saySignOff}>
    Ron
  </Dropdown.Item />
</Dropdown.Menu>
```

## Props

| Prop                | Type              | Description                                                               |
| ------------------- | ----------------- | ------------------------------------------------------------------------- |
| className           | `string`          | Custom class names to be added to the component.                          |
| enableTabNavigation | `bool`            | Enables `tab` keypress to navigation up/down the menu. Default `false`.   |
| isFocused           | `bool`            | Determines the focus state/style of the component.                        |
| isHover             | `bool`            | Determines the hover state/style of the component.                        |
| isOpen              | `bool`            | Determines if the nested Menu is open/closed.                             |
| itemIndex           | `number`          | Used by [Menu](./Menu.md) to identify/track the component.                |
| onBlur              | `function`        | Callback when select is blurred.                                          |
| onClick             | `function`        | Callback when select is focused.                                          |
| onFocus             | `function`        | Callback when select is focused.                                          |
| onMenuClose         | `function`        | Callback when nested Menu is closed.                                      |
| onMouseEnter        | `function`        | Callback when mouse enters the component.                                 |
| onMouseLeave        | `function`        | Callback when mouse leaves the component.                                 |
| onParentMenuClose   | `function`        | Callback from parent [Menu](./Menu.md) to recursively close parent Menus. |
| onSelect            | `function`        | Callback when component is selected.                                      |
| value               | `string`/`number` | The value of this item.                                                   |

repository: etangreal/hsds-react

repo_name: etangreal/hsds-react


text:
# DigitalOcean Docker Image Publish
This action uses [doctl](https://github.com/digitalocean/action-doctl) to upload docker images to Digital Ocean's Container Registry.

PRs are welcome.

# Usage
Add this step to a job to automatically build an image from the Dockerfile and publish it with a unique tag (based on the commit SHA). The image will also be tagged with `latest`.

### Example:

```yaml
    - name: Publish Image to Container Registry
      uses: ripplr-io/docr-docker-publish@v1
      with:
        image_path: registry-path/image-path
```

# Inputs
- `image_path` - (**Required**) Image path in the registry. In the format `registry-name/image-name`.
- `sha_size` - (Optional) Number of characters from the commit SHA. Default is `'8'`
- `dockerfile` - (Optional) The path + name of the Dockerfile you want to build (-f flag). Default is `'Dockerfile'` Example: `./docker/dev.Dockerfile`.
- `docker_build_context` - (Optional) The `docker build` context. Default is `'.'`.

# Outputs
The urls of the uploaded images will be accessible with the variables:
- `image_url` - Url of the uploaded image with the SHA tag.
- `image_latest_url` - Url of the uploaded image with the latest tag.

## License

This GitHub Action and associated scripts and documentation in this project are released under the [MIT License](LICENSE).

repository: DragomirAlin/docr-docker-publish

repo_name: DragomirAlin/docr-docker-publish