text:
The set of operations are designed to handle table queries

* `filter(table, condition)`: return the rows that satisfy a specified condition

* `op(column_name, entity)`: the condition used in filter, `op` is one of `== != > < >= <= include`

* `count(table)`: return the number of rows

* `argmax/argmin(table, column_name)`: return the row where the value of a specified column is largest

* `size(column_name)`: wraps a column name, so that when used in `filter/argmax/argmin`, we use the cardinality of each entry for comparison

gha_language: Python


text:
## all_mobile_sensors
A flutter plugin that enables easy access to all android sensors. The user just has to run a simple function to get the senor values. This plugin enables the user to bypass the native platform specific code and get the sensor value easily for their application.

This plugin contains implementation of all the Android Sensors available [here](https://developer.android.com/guide/topics/sensors). There are a few sensors in this list that have not been implemented. This is because these sensors are mostly not available on a mobile device. However, if the implementation is needed raise an issue so that I can do the same. The sensors not implemented are:

1. Relative Humidity
2. Pressure Sensor
3. Temperature Sensor

**Note: Currently this plugin serves only android devices and iOS version is still under progress.**

## Getting Started

1. Add "all_mobile_sensors" in the pubspec.yaml.
2. Import the package as mentioned below:

```import 'package:all_mobile_sensors/all_mobile_sensors.dart'```

## How to use individual sensors
For example if I want to get the values of accelerometer perform the following steps:
1. Call the function initialiseAccelerometerSensorFunc present in the AllMobileSensor class. Once the sensor is initialised we can get its values whenever we want.
2. To get the values of the sensor call the function accelerometerReading present in AllMobileSensor class. We will get three values for the accelerometer sensor.

Refer example to see the exact implementation for other sensors.

 **To get a list of all sensor functions refer to the file named SensorActivities.txt or refer the functions listed in AllMobileSensors.dart**

## Things expected in future versions
1. Streams for every sensor
2. iOS implementation for the plugin

repository: rohanakut/AndroidSensors

branch_name: refs/heads/main

extension: md

gha_language: Dart

license_type: permissive

repo_name: rohanakut/AndroidSensors


text:
Source To Image Nginx
=====================

This repository contains the source for creating a
[source-to-image](https://github.com/openshift/source-to-image) builder image,
which can be used to create reproducible Docker images from your static directory's
source code served by nginx. The resulting image can be run using [Docker](https://docker.com).

For more information about using these images with OpenShift, please see the official
[OpenShift Documentation](https://docs.openshift.org/latest/using_images/s2i_images/php.html).

license: MIT

branch_name: refs/heads/master

gha_language: Shell


text:
# MyCDataStructures
Implementation of data structures in C checked by Haskell

----

This repository hosts a set of data structures implemented in C.

As an exercise to ensure code correctness, I am taking a different
approach to testing. Instead of writing unit tests, I am creating
bindings of the APIs to Haskell, and checking properties of these
data structures.

So far, I have linked list and red-black tree implemented. I'll keep
updating this repository.


text:
---
layout: guidepost
title: Aesthetics
categories: ["guide", "Printing"]
---

**Quality matters.** A book that looks and feels good is a lot easier to sell than one made at home with your personal printer. This is subjective of course so I encourage you to put thought into it and choose the option that works best for your story.

Warning: This one’s a doozy. It has some really important information though so stick with it and I’ll try my best to make it somewhat comprehensible.

### Paper Weight

[Paper Weight Comparisons](http://www.printninja.com/printing-resource-center/printing-options/book-services/paper/weight) (article) - Print Ninja

First off, **when I say paper weight or paper stock, I’m talking about its thickness**.

In comics, there are three main types of weights to watch out for:

- **Text weight** is thinner and used for interior pages and floppy covers. It’s measured in lb. (lb is sometimes referred to with the ‘#’ symbol and is just a unit of measurement like millimetres or centimetres. The specifics behind it don’t matter but you can see [here](http://www.oki.com/us/printing/support/understanding-paper-weight/index.html) if you insist on knowing all the gory details.)

- **Cover weight** is thicker and used for things like soft covers. It’s also measured in lb. From what I’ve seen, most comic printers don’t measure in cover weight and instead use...

- **Point weight** which is used to measure very thick pages like hard covers but also some thicker soft covers. Measured in pt.

Confused yet?

The important take away here is to **make sure you know which weight type(s) your printer references**. 85 lb text stock is NOT the same as 85 lb cover stock and definitely not the same as 85 pt.

[Here’s a table](http://www.paper-paper.com/weight.html) to help you understand the differences. The columns you should care about are offset text and point (and cover if your printer measures that way). You can compare them to their equivalent thickness in millimetres as well if you’d like.

For your sanity, all the page weights I’ll be referencing from now on are either text weight (measured in lb) or point weight (measured in pt). Just ignore cover weight unless your printer uses it explicitly.

Let’s talk interior pages!

According to Print Ninja, **the [average paper weight](http://www.printninja.com/printing-resource-center/book-game-industry-standards/comic-books/modern-single-issue-comic-book-measurements) for saddle stitched comics is 55 lb for the thin, floppy style** (Marvel/DC) **and 70 - 85 lb for the thicker, firmer style** (Image).

Kraken print recommends **80 - 85lb for soft covers and 100 - 135 lb for hardcovers**.

In general, **the more interior pages your book has, the thicker the pages should be**.

When it comes to covers, there are two types: self cover and plus covers.

- **Self covers are printed on the same stock as the interior pages.** For example, a 28 page comic with 80 lb interior pages and a 80 lb cover can also be referred to as a 32 page self covered comic. Self covers are only really ever used on saddle-stitched comics (floppies).

- **Plus covers are covers that are printed on thicker paper stock than the interior pages.** A 28 page comic with 80 lb interior pages and a 100 lb cover is still a 28 page comic.

The price difference between these two options is pretty insignificant (roughly 15 USD if you’re printing 250 copies) so it really comes down to preference.

**The average weight for a saddle stitched plus cover is 85 lb.** 105lb if you want it really firm.

**For soft covers the average weight is 100 lb - 12 pt.**

### Paper Coating

**Paper coating is applied during the manufacturing process.** This means your ink goes on top of whatever coating you choose.

Print Ninja describes pretty much all you need to know about the different coatings [here](http://www.printninja.com/printing-resource-center/printing-options/book-services/paper/coating) but to summarise, in comics there are three main paper coating types:

- **Gloss coating** will give your pages a reflective shine. This is the choice of most modern day saddle-stitched comics.

- **Matte coating** has less of a shine than gloss coating. It’s the midway option. This is a popular choice for softcover comics.

- **No coating** is an option as well and results in no shine. The pages are unprotected however and thus more vulnerable to rips and fingerprint smudges.

### Paper Finish

[Paper Finish: Varnish, Laminated and None Explained](http://www.printninja.com/printing-resource-center/printing-options/book-services/paper/finishes) (article) - Print Ninja

Unlike paper coating, **paper finish is applied after the printing process**. This means it will go overtop of your inked pages.

Paper finish is meant to add a layer of protection to your page. It can also further increase the shine of a page. Finish is usually only applied to covers.

There are three main paper finish types:

- **Regular varnish** is the default for most single issue comics and it comes in two styles: Gloss and matte. These varnish styles function essentially the same as the paper coating but remember finishes are applied OVERTOP of the inks. Choose gloss for a more reflective surface or matte for less reflection and a smoother surface.

- **Uv** is like a regular varnish but even shinier. Here’s a [short video](https://www.youtube.com/watch?v=UqVkK805qf0) comparing the two. Apparently uv covers are prone to cracking on floppy cover comics as the coating is less flexible.

- **Lamination** is the thickest most protective coating and is recommended for all softcover and hardcover books. It’s also available in the matte or gloss styles.

Of course no finish is an option as well, just be weary that you’re leaving your comic more vulnerable to damage.

### Specialty Printing

Everyone wants their book to stand out in a crowd and sometimes specialty printing options are the way to do it.

Want a raised surface to add texture to your cover? Maybe a foil or spot varnish to make your book shine? Want it to glow in the dark? (That’s seriously an option for some printers.)

Check out [this section](http://www.printninja.com/printing-resource-center/printing-options/popular-add-ons) by Print Ninja describing all the fun stuff you can add to your comic.

While these add-ons are really cool, make sure to use them with purpose. Throwing a bunch of stuff onto a cover will not automatically make it look amazing. Make sure you have a reason for adding something on before you throw your money at it.

gha_language: CSS

gha_license_id: MIT


text:
# Capstone Paper Files
##Data preparation and modeling for The Protectors NYU Stern MSBA Capstone

This repository include the relevent files for the child abduction data preparation
modeling, and shinyapp development

###Data preparation:
2012-NIBRS.py             Python file to extract abduction incidents from raw crime data
NIBRS_dataclean_vicoff.R  File to complete data processing, output supports model development
NIBRS_correlation.R       File to isolate demongraphic attributes of interest

###Model development:
NIBRS_sampling2.R     All model screening, feature selection, etc for paper
NIBRS_modelbuild.R    Final model build for Shiny

###Shiny Web Application (BringHomeSafe):
PredictApp

repository: mseewaters/CapstonePaper

repo_name: mseewaters/CapstonePaper


text:
# @barchart/marketdata-api-js
## JavaScript library for subscribing to streaming market data from [Barchart](https://www.barchart.com)

Include streaming market data in your applications. Asset classes include equities, futures, and forex. Delayed and realtime data feeds are available.

All you need is a username/password from Barchart, and your app can be live within a matter of minutes. To obtain your credentials, please contact<EMAIL_ADDRESS>

## Supported Environments

The library is intended for use in client (i.e. browser) environments. However, since the source code uses ES6, some assembly may be required for browser use (i.e. polyfills and transpilation).

## Run The Example

Open the following file in your browser:

    ./example/browser/example.html

Or, the visit the hosted version of the example page:

- [https://examples.aws.barchart.com/marketdata-api-js/example.html](https://examples.aws.barchart.com/marketdata-api-js/example.html)

## Documentation

### Wiki

[Read the Wiki for full documentation](https://github.com/barchart/marketdata-api-js/wiki)

### Code Documentation

[JSDoc](http://usejsdoc.org/) is used to document the source code. HTML documentation can be generated (into a "docs" folder), as follows:

	> gulp document

repository: itsjimbo/marketdata-api-js

repo_name: itsjimbo/marketdata-api-js


text:
<script type="module">
    import {init_links} from "/static/js/common/visual_aid_backend.js";
    init_links();
</script>

* [Gazer](^dragon_heist/gazer.jpg)

## Mistshore

* [Mistshore](^dragon_heist/mistshore.jpg)
* [Grinda Garloth](^dragon_heist/Grinda_garloth.jpg)
* [... and Apparatus](^dragon_heist/Grinda_garloth_and_apparatus.jpg)
* [Noska Ur'gray](^dragon_heist/noska_urgray.jpg), dwarf enforcer leading Xanathar thugs
* [Kenku](^dragon_heist/kenku.jpg)
* [Merrow](^dragon_heist/merrow.jpeg), swimming under the docks with the doods

## Mausoleum

* [Sir Ambrose Everdawn](^dragon_heist/sir_ambrose_everdawn.jpg), aging human knight, patrols the City of the Dead
* [Mausoleum (Outside)](^dragon_heist/mausoleum_outside.jpg)
* [Mausoleum (Inside)](^dragon_heist/mausoleum_inside.jpg)
* [Shiny Steel Key](^dragon_heist/shiny_steel_key.jpg)
* [Elaspra's Shop](^dragon_heist/elaspras_shop.jpg)
* [Elaspra Ulmarr](^dragon_heist/elaspra_ulmarr.jpg), dwarven locksmith
* [Duergar](^dragon_heist/duergar.png)

## Converted Windmill

* [Converted Windmill (Outside)](^dragon_heist/converted_windmill_outside.jpg)
* [Converted Windmill (Inside)](^dragon_heist/converted_windmill_inside.jpg)
* [Volkarr Kibbens](^dragon_heist/volkarr_kibbens.jpg) and [Urlaster Ghann](^dragon_heist/urlaster_ghann.png), squatters, hired by Losser Mirklav

## Cellar Complex

* [Losser Mirklav](^dragon_heist/losser_mirklav.jpg), halfling necromancer who took the Stone of Golorr
* [Kenku](^dragon_heist/kenku.jpg)
* [Skeleton](^dragon_heist/skeleton.jpeg)
* [Retchyn](^dragon_heist/retchyn.jpg), halfling apprentice to Losser Mirklav
* [Kreela](^dragon_heist/kreela.jpg), halfling apprentice to Losser Mirklav

### Dandymops

* Upscale shop, owned by brother and sister, Retchyn and Kreela Lindenbrook
* Slogan: "Welcome to Dandymops, where our goal is to make sure you leave our shop at your dandiest"
* Staffed only by bored teenager, Jonathan, in [a powdered wig and fancy dress](^dragon_heist/wig_shop_employee.jpg)
  * The teen was hired that morning and given zero training, which he's a little pissed at
  * The owners have been gone since that morning, and the employee hasn't seen them all day
  * Only notable thing would be this creepy dude with pale white eyes and all black who'd come in, and all three of them would go to the back, where the employee would hear a door or something and then they'd be gone for hours.
* The shop has a huge collection of wigs for all races and styles, but mostly super fancy
* The hidden door is behind a dwarven beard wig that has bones laced throughout it, and it looks kind of uncomfortable.
  * The latch is hidden underneath the beard, which causes a door to open leading to stairs going down to a basement.

## Street Chase

[Improved Chase Rules](https://www.hipstersanddragons.com/new-chase-mechanics-5e-dnd/)

[Some additional chase tables](https://olddungeonmaster.com/2015/01/17/dd-5e-quick-reference-chase-rules/)

## Old Tower

[Urchins](^dragon_heist/urchins.jpg)

## Alley


text:
---
layout: default
---

# 1996-08-18 - Re: MD5 completely broken!

## Header Data

From: "David F. Ogren"<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Message Hash: 8d50c0675f300955ed87ef353b8459ad4030d95d80f541816d577988068b7f1c

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1996-08-18 10:30:17 UTC

Raw Date: Sun, 18 Aug 1996 18:30:17 +0800

## Raw message

```
{% raw  %}From: "David F. Ogren"<EMAIL_ADDRESS>Date: Sun, 18 Aug 1996 18:30:17 +0800
To<EMAIL_ADDRESS>Subject: Re: MD5 completely broken!
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

-----BEGIN PGP SIGNED MESSAGE-----

Mime-Version: 1.0
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

To<EMAIL_ADDRESS>Date: Sun Aug 18 02:56:44 1996
>
> >Atfer much scientific research, I have finally found a way to restore
> >any message given only its MD5 checksum.
>
> uhm, congratulations <g>
>
>
> maybe next time when you break a code and want to make
> some $$$, sell your solution in secret
> to the people who patented it!!
>

Not to mention that this is complete nonsense and a troll. No matter how
weak the MD5 algorithm may or may not be, there are an infinite number of
possible messages for each checksum. And thus the original message could
NEVER be restored. Its as secure as a OTP. That's why its called a
'one-way' hash function.

Not to mention the fact that he misspelled both 'entropy' and 'after'.

P.S. But imagine if it was true! MD5 would become the ultimate compression
algorithm. Any message could be reduced to a 128 bit archive.
- --
David F. Ogren                |
<EMAIL_ADDRESS>        | "A man without religion is like a fish
PGP Key ID: 0x6458EB29        |  without a bicycle"
- ------------------------------|----------------------------------------
Don't know what PGP is?       | Need my public key?  It's available
Send a message to me with the | by server or by sending me a message
subject GETPGPINFO            | with the subject GETPGPKEY
-----BEGIN PGP SIGNATURE-----
Version: 2.6.2

iQEVAwUBMha+reSLhCBkWOspAQFvkQf+PE2+p8gLJ5Fcg64fKogAaad1v0KUAm6N
PDWKqOF87hr4GK7Je0TnflQ5640w11CbqnhQeTeuMZ1vypJ+OMod7riY+okd4VQL
tLaAA91EuzDLUnSnh3VT16MmN152RTWWS0fufASdJPw2aknhC5NA8kp+0ryQUo+f
zICE619/4I0Hjz6qwIzuEYD7tMW1OEz5KGRpyLnZaiOFXObxLHQ4/QwUuJVfLrY0
GrKxNrmtIMiFyHqksbmg22G8f9SsziKa8TjoHDrq2UIL7ForTneC/C20HTOVh9iS
6+C9u2Wij+AFEgPQSZMyxP0Wb8m20DcoeOpnzbBLBVw9BfiqNApvUQ==
=Nu+T
-----END PGP SIGNATURE-----

{% endraw %}
```

## Thread

+ Return to [August 1996](/archive/1996/08)

+ Return to "["David F. Ogren" <ogren@cris.com>](/authors/david_f_ogren_ogren_at_cris_com_)"
+ Return to<EMAIL_ADDRESS>(Dr.Dimitri Vulis KOTM)](/authors/dlv_at_bwalk_dm_com_dr_dimitri_vulis_kotm_)"
+ Return to "["Z.B." <zachb@netcom.com>](/authors/z_b__zachb_at_netcom_com_)"

+ 1996-08-18 (Sun, 18 Aug 1996 18:30:17 +0800) - Re: MD5 completely broken! - _"David F. Ogren"<EMAIL_ADDRESS>  + 1996-08-18 (Sun, 18 Aug 1996 23:51:39 +0800) - [Re: MD5 completely broken!](/archive/1996/08/941493602b1aeb3e868e2e7a2fe0ac7b98389575c4dcfa811cdc5e4e7c5cb3bf) -<EMAIL_ADDRESS>(Dr.Dimitri Vulis KOTM)_
    + 1996-08-18 (Mon, 19 Aug 1996 05:36:55 +0800) - [Re: MD5 completely broken!](/archive/1996/08/bff24bd253852998aae71e7a85650aa2225797dffe38e6a38164ba175fdf9a9c) - _"Z.B."<EMAIL_ADDRESS>


text:
# LogExpFunctions

Various special functions based on `log` and `exp` moved from [StatsFuns.jl](https://github.com/JuliaStats/StatsFuns.jl) into a separate package, to minimize dependencies. These functions only use native Julia code, so there is no need to depend on `librmath` or similar libraries. See the discussion at [StatsFuns.jl#46](https://github.com/JuliaStats/StatsFuns.jl/issues/46).

The original authors of these functions are the StatsFuns.jl contributors.

LogExpFunctions supports [`InverseFunctions.inverse`](https://github.com/JuliaMath/InverseFunctions.jl) and [`ChangesOfVariables.test_with_logabsdet_jacobian`](https://github.com/JuliaMath/ChangesOfVariables.jl) for `log1mexp`, `log1pexp`, `log1pexp`, `log2mexp`, `log2mexp`, `logexpm1`, `logistic`, `logistic`, `logit`, and `logcosh` (no inverse).

```@docs
xlogx
xlogy
xlog1py
xexpx
xexpy
logistic
logit
logcosh
logabssinh
log1psq
log1pexp
log1mexp
log2mexp
logexpm1
log1pmx
logmxp1
logaddexp
logsubexp
logsumexp
logsumexp!
softmax!
softmax
cloglog
cexpexp
```

gha_language: Julia

gha_license_id: NOASSERTION


text:
# InvalidActorProvided

This error is displayed when your codeception actor does not implement `MVF\Codeception\UseCases\Contracts\ActorInterface`,

Your actor is usually different for each of your codeception suites, e.g. `integration`, `functional`, `unit`, etc. You can find your actor name in the `tests` folder `<type of test>.suite.yml` file. If you have `unit.suite.yml` file then the content of that file will be something like this.

```yaml
actor: UnitTester
modules:
    enabled:
        - \Helper\Unit
        - Asserts
```

`UnitTester` is the actor for this suite, you can find the implementation of this actor in `tests/_support/UnitTester.php` file.

To fix this error you need to find your `suite` that enables `\MVF\Codeception\UseCases\Module` and its actor, so for example, if you have `usecase.suite.yml` that looks something like this.

```yaml
actor: UseCaseTester
modules:
    enabled:
        - \MVF\Codeception\UseCases\Module:
            providers:
              mysql: App\Providers\UseCases\EloquentProvider
              redis: App\Providers\UseCases\RedisProvider
```

Then open `tests/_support/UseCaseTester.php` the content of this file should resemble the following

```php
<?php

/**
 * Inherited Methods
 *
 * @SuppressWarnings(PHPMD)
*/
class UseCaseTester extends \Codeception\Actor
{
    use _generated\UseCaseTesterActions;
}
```

then update this class so that it would implement `\MVF\Codeception\UseCases\Contracts\ActorInterface` like this

```php
<?php

/**
 * Inherited Methods
 *
 * @SuppressWarnings(PHPMD)
*/
class UseCaseTester extends \Codeception\Actor implements \MVF\Codeception\UseCases\Contracts\ActorInterface
{
    use _generated\UseCaseTesterActions;
}
```

you will also need to add the following method to your class in order for `ActorInterface` to be properly implemented.

```php
/**
 * Returns an array that describes what columns in the table uniquely identify rows of that table, e.g.
 *
 * If our list of $uniqueIdentifiers contains
 *
 * $uniqueIdentifiers = [
 *      SubcategoryTable::getTableName() => [SubcategoryTable::id()],
 *      PendingInvoiceBillingDataTable::getTableName() => [
 *          PendingInvoiceBillingDataTable::pendingInvoiceId(),
 *          PendingInvoiceBillingDataTable::billingDataId(),
 *      ],
 * ];
 *
 * Then
 *
 * $uniqueIdentifiers[SubcategoryTable::getTableName()];
 *
 * Would return ['sugarcrm.zz_subcategories.id'] which identifies that 'sugarcrm.zz_subcategories.id' column is
 * enough to uniquely identify 'sugarcrm.zz_subcategories' rows, on the other hand
 *
 * $uniqueIdentifiers[PendingInvoiceBillingDataTable::getTableName()];
 *
 * would return [
 *      'sugarcrm.pending_invoice_billing_data.pending_invoice_id',
 *      'sugarcrm.pending_invoice_billing_data.billing_data_id',
 * ]
 *
 * this would mean that both 'sugarcrm.pending_invoice_billing_data.pending_invoice_id' and
 * 'sugarcrm.pending_invoice_billing_data.billing_data_id' together can be used to uniquely identify rows in
 * 'sugarcrm.pending_invoice_billing_data' table.
 *
 * @param string $databaseAndTable
 * @return string[]
 */
public function getKeyIdentifier(string $databaseAndTable): array
{
    $uniqueIdentifiers = [];

    if (!isset($uniqueIdentifiers[$databaseAndTable])) {
        $className = get_class($this);
        throw new RuntimeException("'$databaseAndTable' does not have unique identifier defined, open '$className' and add it to the list of \$uniqueIdentifiers");
    }

    return $uniqueIdentifiers[$databaseAndTable];
}
```

This error should now be resolved.

repository: drupsys/codeception-use-cases-module

repo_name: drupsys/codeception-use-cases-module


text:
# zsh-brew-services
oh-my-zsh command completion plugin for homebrew services

# installation
First clone this repository into your [oh-my-zsh](http://ohmyz.sh/) [custom plugins folder](https://github.com/robbyrussell/oh-my-zsh#custom-plugins-and-themes).

Now enable the builtin brew plugin and this plugin.

`plugins=(brew zsh-brew-services)`

repository: withfig/plugins

gha_language: TypeScript

repo_name: withfig/plugins


text:
# bchd-examples

These are simple examples showing how to use the [grpc-bchrpc-node](https://github.com/simpleledgerinc/grpc-bchrpc-node) [npm library](https://www.npmjs.com/package/grpc-bchrpc-node) to interact with a BCHD node. It also uses<EMAIL_ADDRESS>from [FullStack.cash](https://fullstack.cash) to do some data manipulation.

## Install
These examples have been tested on Ubuntu 18.04 with Node.js LTS v12.16.1

- `git clone https://github.com/christroutner/bchd-examples && cd bchd-examples`
- `npm install`
- `cd get-raw-transaction`
- `npm start`

Each sub-directory is a stand-alone app. Enter the directory and run `npm start` to run that example.

repository: christroutner/bchd-examples

gha_language: JavaScript

repo_name: christroutner/bchd-examples


text:
---
description:  This repo contains samples that demonstrate MIP SDK protocol integration.
keywords:
- MIP SDK
- Protocol integration
lang: en-US
title: Milestone Integration Platform Software Development Kit protocol integration samples
---

# Milestone Integration Platform Software Development Kit protocol integration samples

The Milestone Integration Platform (MIP) enables fast and flexible integration between
Milestone XProtect video management software (VMS), applications available from
[Milestone Marketplace](<https://www.milestonesys.com/community/marketplace/>),
and other third-party applications and devices.

The Milestone Integration Platform Software Development Kit (MIP SDK) offers a suite of integration options, including

- protocol integration
- component integration (stand-alone applications using MIP .NET libraries)
- plug-in integration (hosted by XProtect application environments)

This repo contains samples that demonstrate MIP SDK protocol integration:

| Sample                          | Description                                                                                |
| ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| Alarm List                      | How to retrieve a short list of already generated alarms from the event server.                                                     |
| Bookmark Creator                | How bookmarks can be created, maintained and deleted via SOAP protocol.                                                             |
| Login .Net SOAP                 | The most simple C\# code for performing a login.                                                                                |
| TCP Video Viewer                | How to utilize the ImageServer protocol to retrieve a sequence of images.                                                           |
| Analytics Event Trigger via XML | How analytics events can be submitted to the Event Server via HTTP formatted as XML.                                                |
| Trigger Generic Event           | How to send a character string to the XProtect Generic Event interpreter.                                                           |
| Trigger Generic Event Stream    | How to send a character string to the XProtect Generic Event interpreter. This sample work continuously on the same TCP/IP session. |

A Visual Studio solution file in the `src` folder includes a Visual Studio project for each sample.

## Prerequisites

Please refer to the [MIP SDK Getting Started Guide](<https://content.milestonesys.com/l/299bb22321041592/>)
for information about how to set up a development environment for Milestone XProtect integrations.

## Documentation and support

Ask questions and find answers to common questions at the
[Milestone Developer Forum](<https://developer.milestonesys.com/>).

Browse overview and reference documentation at
[MIP SDK Documentation](<https://doc.developer.milestonesys.com>).

Get access to free eLearning at the
[Milestone Learning Portals](<https://www.milestonesys.com/solutions/services/learning-and-performance/>).

Watch tutorials about how to set up and use Milestone products at
[Milestone Video Tutorials](<https://www.milestonesys.com/support/self-service-and-support/video-tutorials/>).

## Contributions

We do not currently accept contributions through pull request.

In case you want to comment on or contribute to the samples, please reach out through
the [Milestone Developer Forum](<https://developer.milestonesys.com/>).

## License

MIP SDK sample code is is licensed under the [MIT license](<LICENSE.md>).

repository: Silex/mipsdk-samples-protocol

repo_name: Silex/mipsdk-samples-protocol


text:
**Before submitting a pull request,** please make sure the following is done:

1. Fork [the repository](https://github.com/esdoc2/esdoc2) and create your branch from `master`.
1. Run `yarn` in the repository root.
1. If you've fixed a bug or added code that should be tested, add tests!
1. Ensure the test suite passes (`yarn test`).
1. Make sure your code lints (`yarn lint`).

**Learn more about contributing:** [CONTRIBUTING.md](./contributing.md)


text:
# Study Session

This is the primary repo for the android application Study Session. This application is an academic hub where users can find study groups based on subject matter and available times.

## Development

The development of this application is broken up into specific activities and features. Each contributor is responsible for completing their agreed portion of the application
  * David Curtis: User Acount Registration, User login, cross activity data communication, data input validation/security
  * Terry Woosley: Study Group management and main activity population
  * Ronny Aretz: Study Group creation/join/searching and management
  ** DISCLAIMER Ronny does not show up as a contributor due to a git error, but his contributions can be clearly seen in commit history
  * Dylan Rongey: User profile page design

## Data Stroage

This application uses Cloud Firebase for all back-end services

### Local Persistant Data
 * User login information will persist on the local machine via SharedPreferences to allow auto login feature

### Remote Firebase Data
 * User's available study time's and joined study groups
 * Study Group's name, time, creator, members, and other attributes relating to the groups

## Testing Credentials

Use the following account information to login into the application (Testing purposes only)

 * Email<EMAIL_ADDRESS> * Password: Password123!

## Sequence Information
 * Login to the application using the above testing credentials
 * Press the profile button to view and edit the user's profile information or logout
 * Press on the create group button to create a new study group
 * Press on the search groups button to search for study groups

## Supported Devices
This application can run on all Adroid devices running Nougat OS or newer

## APK
* App APK can be found in debug folder

## Built With

* [Firebase](https://firebase.google.com/) - Database System
* [Gradle](https://gradle.org/) - Dependency Management

## License

This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details

repository: terry-woosley/study-session

gha_language: Java

repo_name: terry-woosley/study-session


text:
---
uid: viewport
title: Viewport
---

The viewport is your primary method of examining and exploring terrains. It provides a heavy duty 3D view of your terrain at different resolutions.

Gaea's viewport harnesses the powerful Unity engine, and has been deeply customized to fit advanced terrain systems. The viewport can process an 8.3 million polygon terrain in milliseconds, allowing you to work at high resolution.

## 3D Viewport

![](/images/ui/viewport-3D-settings.webp)

- `Alt` and `Mouse Left` to drag. Can be customized in @preferences.
- `W`,`A`,`S`,`D` for directional movement.
- `Q` and `E` for up and down.
- `Mouse Wheel` for zooming.
- `Mouse Middle` for panning.
- `Space` to re-center on the terrain.

{.NOTE}
> When using a stylus, you may need to adjust the sensitivity for panning, zooming, and other movements. You can change the sensitivity in @preferences.

The toolbar on the side has the following commands:
- 3D Viewport
- First Person mode (temporarily unavailable)
- Toggle 2D Viewport
- Lighting and Viewport Settings
- 3D Shading
- Autolevel / Simple Mode
- Equalized Mode (only visible with 2D maps)

#### Viewport Settings

The viewport settings let you modify the look of your viewport. For details of the lighting options, see @Light.

The Colors section lets you modify the color gradients used for rendering the heightfields/terrain and data/mask outputs. You can optionally autolevel or reverse the terrain gradient.

The Water section lets you use the optional water surface. This is a superficial element that does not affect the actual terrain or any nodes.

#### First Person View

The First Person view has been temporarily removed from Gaea. It will be added again soon.

## 2D Viewport

The 2D viewport provides flat previews with pixel-to-pixel accuracy. In many situations, especially when dealing with masks, you can see visual data that may not be readily visible in the 3D viewport.

The 2D view is available directly in the main window, alongside the 3D view, when activated from the main toolbar in the top left. It can also be opened as a separate window through the Graph Toolbar in the bottom right.

- `Mouse Wheel` for zooming.
- `Mouse Middle` for panning.

#### 2D Mode

The 2D mode lets you see an orthographic view of the terrain. Additionally, you can right-click the viewport to select secondary outputs if a node provides them. For example, you can see the @Erosion node's wear or flow output without having to plug it into another node.

![](/images/ui/viewport-2D-ports.webp)

By default, the secondary output will be overlaid on the terrain. You can turn off the 3D Shading in the toolbar to see the mask by itself.

#### Plain / Autolevel View

![](/images/ui/viewport-2D-plain.webp)

This mode shows a basic heightfield with minimal lighting. 2D maps are shown in grayscale, with black representing lower areas and white representing higher areas. This is a great way to examine your terrain from an unbiased perspective, especially when dealing with 2D data, such as data map outputs, secondary output from erosion, and so on.

{.TIP}
> You can change the gradient representing the mask color gradient in the viewport settings.

#### Equalized Mode

![](/images/ui/viewport-2D-eq.webp)

If the 2D view is too difficult to see, the Equalized mode emphasizes the image to help you see better. This is particularly helpful when working with delicate masks and other 2D maps. The equalization process is superficial and does not affect the actual terrain.

The mask color gradient is even more useful in this context.

repository: QuadSpinner/Gaea-Docs

repo_name: QuadSpinner/Gaea-Docs


text:
# figma-theme-gen

![Build and Publish](https://github.com/davidpett/figma-theme/workflows/Build%20and%20Publish/badge.svg)

This package will parse your figma file's local styles and create a theme for you to consume in your project.

## install

```
yarn add -D figma-theme-gen
```

## configure

By default, this looks for a `figma.json` file in the root of your project, you can use a different file name by specifying `--config foo.json`

In this config file, there are a few required options:

```
{
  "outputFile": "<path-to-output-theme-file>",
  "fileId": "<your-figma-file-id>",
  "accessToken": "<your-figma-access-token>"
}
```

You can also configure the spacing options by adding

```
{
  "spacing": {
    "baseUnit": 10, // by default this is 8, this will change all unspecified spacing to multiples of 10
    "padding": {
      "xs": 6,
      "s": 12,
      "m": 18,
      "l": 24,
      "xl": 30
    },
    "margin": {},
    "borderRadius": {}
  }
}
```

repository: davidpett/figma-theme-gen

repo_name: davidpett/figma-theme-gen


text:
---
sidebar_position: 1
---

# Introduction

#### Get together

Before starting a new implementation, please check if there is any [work in progress](https://github.com/gothinkster/realworld/discussions/categories/wip-implementations) for the stack you want to work on.
If someone else has started working on an implementation, **consider jumping in and helping them!** by contacting the author.

Otherwise:
1. [fork our starter kit](https://github.com/gothinkster/realworld-starter-kit)
2. Read the followings sections: *expectations* and *features* for a better understanding of this project
3. Read the frontend and/or the backend specs
4. Submit the new implementation [here](https://codebase.show/projects/realworld)

**Get Started!**

repository: UltimoTG/realworld

repo_name: UltimoTG/realworld


text:
# Chapter 7

## 1. Roll Your Own Wheel

A `Set` can be modeled by using a map that stores `Bool` values.  Let's do it, for science!  Import `Data.Map` and write up your own versions of `insert`, `member` and `delete`.  You'll may also need to use the `Data.Map` versions of these functions so you'll have deal with qualified imports.

```haskell
insert :: (Ord k) => k -> Map k Bool -> Map k Bool
delete :: (Ord k) => k -> Map k Bool -> Map k Bool
member :: (Ord k) => k -> Map k Bool -> Bool
```

## 2. Hoogle From the Mountaintops

[Hoogle](https://hoogle.haskell.org/) is an invaluable tool for programming!  It lets you look up modules and functions by name, by type.  Let's try it out.

First, let's find some functions by name.

1. `permutations` - A function that gives you all the permutations of a list.
2. `Data.Text` - A module for dealing with Unicode text.

Next, let's look up a few functions by type.

1. A function that takes an `Int` and an element of type `a` and returns `[a]` which has the element repeated the specified number of times.
2. A function tht takes in a function `v -> v` and a key `k` and then a `Map k v` and returns a new map with the function applied to the value at `k` if present.

## 3. Stop Repeating Yourself

1. Let's do some frequency analysis.  You may have noticed the little function they wrote in the chapter to get the frequency of letters in a string.  Let's make that a little better by improving it in two ways.  First, let's filter it to just alpha-numeric characters so that we aren't counting all the punctuation and spaces.  Then let's also put it in a map for easy lookup!  This function can be written almost entirely without variables with clever use of functions like `uncurry`.
2. Now let's kick it up a notch and do word-frequncy analysis.  We'll need to use the `words` function and we still want to filter out all the punctuation and spaces.

## 4. Boggle The Mind

Boggle is a simple game played by looking at a grid of letters and trying to find words.  Let's write a function to check for words for us.

1. First, we need to build our grid.  Write a function that takes in a string describing the grid, with one line per row, and builds a map for easy look up.  The keys can be the coordinate, `(Int, Int)`, and the value should be the `Char`.
    - Tip: The `lines` function will take care of the various lines.
    - Tip: You can index a list using `zip [1..]`.
    - Tip: You may want to think about how you would write this in an imperative program with nested loops.  You will need nested `foldr` functions.
2. Now that we have our board, let's see if we can figure out if a word is present.  Write a function that takes in a target `String` and the board and returns a `Bool` indicating whether the `String` can be traced starting from anywhere and moving to adjacent (not diagonal) squares.
    You'll need a recursive helper function to do the work.  It'll take in a list of coordinates and check whether the target string can be built from that coordinate.  It'll recurse until either the list of coordinates is empty (`False`) or the string is empty (`True`).  It'll look something like
    ```haskell
    hasPathFrom :: [(Int, Int)] -> String -> Map (Int, Int) Char -> Bool
    hasPathFrom [] _ _ = False
    hasPathFrom _ "" _ = True
    hasPathFrom starts target board = ...
    ```
    You'll want to start out with every square on the board as possible positions.  You can get that by just fetching all the keys from the board.
    You may want to use the `any :: (a -> Bool) -> [a] -> Bool` function to combine different possible paths.
3. Take a deep breath.  You are doing great.  However, I misread the rules.  It turns out we can't visit the same square twice.  Add another argument to your helper function that is a `Set` of the visited coordinates and filter out coordinates that you've already visited on this path.

repository: periodic/LearnYouAHaskellExercises

repo_name: periodic/LearnYouAHaskellExercises


text:
# _Think Geek Site Clone_

#### _A clone of everyone's favorite novelty shop, 10/19/18_

#### By _**Luke Vandekieft**_

## Description

_What's better than yet another novelty mug gift? A novelty mug gift shaped like a Koopa shell! Think Geek is your one-stop gift shop for that special someone who you kind-of know. You may not know what you coworker **needs** but you can say with certainty what they **want**, and that thing is a snack bowl shaped like Chewbacca._

_In cloning this site I'm not only paying homage to my go-to Christmas shopping hub but also testing out my chops with Angular & Firebase. Different site components will be displayed in separate components and the final product will be available to view on a site other than GH Pages. If you have any suggestions or commentary on how my use of these tools could be improved I'm all ears!_

_Clone site:_

_Original site:_

## Setup/Installation Requirements

_Live site is at https://thinkgeek-clone.firebaseapp.com/_

_To download & edit do the following:_

* _Get file from Github._

      $ git clone https://github.com/lukevandekieft/think-geek-clone.git

* _Install NPM (node package manager) as needed - instructions can be found at https://www.npmjs.com/get-npm ._

* _Install necessary webpack dependencies for project._

      $ npm install

* _Create file src/app/api-keys.ts and include the following. You will need to get the API key and sender ID from me._

      export const masterFirebaseConfig = {
          apiKey: "[YOUR KEY]",
          authDomain: "thinkgeek-clone.firebaseapp.com",
          databaseURL: "https://thinkgeek-clone.firebaseio.com",
          projectId: "thinkgeek-clone",
          storageBucket: "thinkgeek-clone.appspot.com",
          messagingSenderId: "[YOUR ID]"
        };

* _Set up local dev server and then open page at http://localhost:4200/ ._

      $ ng serve

## Specs

* _Site is deployed to Firebase and can be readily viewed there._

* _Page contains various Angular components that populate and nest independently (navbar, content, & footer bar, all with sub-components)._

* _Shopping & link content come primarily from Firebase rather than statically saved images & info._

* _Links and image references can change dynamically based on database info._

* _Components stack and interact appropriately, with Sass variables and local CSS applied at the correct levels._

* _All page hyperlinks are active and lead to original site destinations. These hyperlinks are stored and organized on Firebase._

* _Stretch goal: have functioning social media links in bottom bar and Instagram sections._

* _Stretch goal: add more content to the shopping section._

* _Stretch goal: make functioning search bar._

## Technologies Used

* _Angular Framework_
* _HTML_
* _JavaScript_
* _CSS_
* _Sass_
* _Firebase_

## Support and contact details

_If you have any concerns or suggestions please contact Luke Vandekieft at<EMAIL_ADDRESS>
### License

*This software is licensed under the MIT License.*

Copyright (c) 2018 **_Luke Vandekieft_**

repository: lukevandekieft/thinkgeek-clone

repo_name: lukevandekieft/thinkgeek-clone


text:
---
metaTitle: "PHP - Object Serialization"
description: "Serialize / Unserialize, The Serializable interface"
---

# Object Serialization

## Serialize / Unserialize

`serialize()` returns a string containing a byte-stream representation of any value that can be stored in PHP. `unserialize()` can use this string to recreate the original variable values.

**To serialize an object**

```php
serialize($object);

```

**To Unserialize an object**

```php
unserialize($object)

```

**Example**

```php
$array = array();
$array["a"] = "Foo";
$array["b"] = "Bar";
$array["c"] = "Baz";
$array["d"] = "Wom";

$serializedArray = serialize($array);
echo $serializedArray; //output: a:4:{s:1:"a";s:3:"Foo";s:1:"b";s:3:"Bar";s:1:"c";s:3:"Baz";s:1:"d";s:3:"Wom";}

```

## The Serializable interface

**Introduction**

>
Classes that implement this interface no longer support `__sleep()` and `__wakeup()`. The method serialize is called whenever an instance needs to be serialized. This does not invoke `__destruct()` or has any other side effect unless programmed inside the method. When the data is `unserialized` the class is known and the appropriate `unserialize()` method is called as a constructor instead of calling `__construct()`. If you need to execute the standard constructor you may do so in the method.

**Basic usage**

```php
class obj implements Serializable {
    private $data;
    public function __construct() {
        $this->data = "My private data";
    }
    public function serialize() {
        return serialize($this->data);
    }
    public function unserialize($data) {
        $this->data = unserialize($data);
    }
    public function getData() {
        return $this->data;
    }
}

$obj = new obj;
$ser = serialize($obj);

var_dump($ser); // Output: string(38) "C:3:"obj":23:{s:15:"My private data";}"

$newobj = unserialize($ser);

var_dump($newobj->getData()); // Output: string(15) "My private data"

```

#### Syntax

- serialize($object)
- unserialize($object)

#### Remarks

All PHP types except for resources are serializable.  Resources are a unique variable type that reference "external" sources, such as database connections.

repository: haifenghuang/generate

repo_name: haifenghuang/generate


text:
# Contributing to BIDS Apps

Welcome to the BIDS Apps repository! :rocket:

We're excited that you're here and equally thrilled to know that you want to contribute. :superhero:

BIDS-Apps are a collection of containerized neuroimaging workflows and pipelines that accept datasets organized according to the Brain Imaging Data Structure (BIDS).
To learn more please visit our [Homepage](http://bids-apps.neuroimaging.io)

These guidelines are designed especially to make the whole process as easy and smooth as possible. Still, if something is unclear or not mentioned please don't hesitate to ask. [Email<EMAIL_ADDRESS>or let us know by opening an [issue!](https://github.com/BIDS-Apps/bids-apps.github.io/issues)

Before you start you'll need to set up a free [GitHub](https://github.com/) account and sign in. Here are some [instructions](https://help.github.com/en/github/getting-started-with-github/signing-up-for-github).

> Not Familiar with Git?
> Invest a few minutes on this [Git Tutorial](https://git-scm.com/docs/gittutorial) :octocat:

## :technologist: You can contribute to BIDS-Apps by:

- Reporting a valid [issue](https://github.com/BIDS-Apps/bids-apps.github.io/issues)
- Helping us in closing an existing [issue](https://github.com/BIDS-Apps/bids-apps.github.io/issues)
- Opening a [Pull Request](https://github.com/BIDS-Apps/bids-apps.github.io/pulls)
- Want to discuss something else: [Email<EMAIL_ADDRESS>
***

## 1. Report a valid issue :heavy_check_mark:

BIDS-Apps uses [GitHub's issue tracker](https://github.com/BIDS-Apps/bids-apps.github.io/issues). All bugs and enhancements should be listed so that we don't lose track of them, can prioritize and assign them to the relevant developer or maintainer.

Consider the following recommended best practice for writing issues, which are (Recommended but not limited to):
1. More detailed description rather than one-liners
2. Screenshots
3. Providing example files and error logs
4. How to reproduce it
5. Details of your local system or environment that you're using

## 2. Labels :label:

Labels let us identify different types of issues, pull requests and helps in categorizing them based on their characteristics. Please take a look at the different types of labels we use.

- ![Bug](https://img.shields.io/badge/-Bug-%23ee0701) *These issues points to the problems causing the project to crash, producing an invalid output or causing an error.*
If you find a bug, feel free to open an issue with the detailed description, screenshots and how to reproduce it.
If you experience a bug that is already listed in the issues, do comment down your remark and wait till our developers get back to you.

- ![Duplicate](https://img.shields.io/badge/-duplicate-%237E7E7E) *It indicates similar/existing issues or pull requests.*
Do check the existing issues and pull request before creating a new one to avoid duplicacy.
If you find a duplicate issue or PR, please give the reference in the comments.

- ![Enhancement](https://img.shields.io/badge/-enhancement-%232e5783) *It indicates a new feature request or enhancement.*
Any change or upgrade that increases the project capabilities, performance or scalability.
In general, enhancements include:
    - Additional functionality
    - Error/bug repair and handling
    - Better code coverage
    - Improved performance

- ![Help Wanted](https://img.shields.io/badge/-help%20wanted-%23128a0c) *Indicates that a maintainer or developer wants help on an issue or pull request.*
If you have a particular skill that can help in solving the problem then consider reading through these issues as they are a great place to offer your expertise.
Not everyone can do everything. This is the time, the community needs your help so you better dive in!

- ![Invalid](https://img.shields.io/badge/-invalid-%239a9a9a) *It indicates that an issue or pull request is no longer relevant.*

- ![Question](https://img.shields.io/badge/-question-%23cc317c) *It indicates that an issue or pull request needs more information.*
These issues are some questions regarding the project that might need clarifications and a bit of discussion.

- ![Dependencies](https://img.shields.io/badge/-dependencies-%230366d6) *It helps to track and resolve vulnerabilities for certain types of dependencies.*

- ![WontFix](https://img.shields.io/badge/-wontfix-lightgrey) *It indicates issues that are currently not viable to solve or out of scope of the project*

## 3. Making a change with a pull request :zap:

Pull requests with patches, improvements and new features are a great help.

#### 1. Fork the project, clone your fork, and add the BIDS Apps remote:

```sh
# Clone your fork of the repo into the current directory
git clone https://github.com/<USERNAME>/bids-apps.github.io.git

# Navigate to the cloned directory
cd bids-apps.github.io

# Assign the original repo to a remote called "upstream"
git remote add upstream git@github.com:BIDS-Apps/bids-apps.github.io.git
```
#### 2.  Create a new branch from the main master branch to contain your changes:

```sh
git checkout -b <topic-branch-name>
```

#### 4. Add and Commit your changes

```sh
git add <path/to/modified/file/>
git commit -m "write a commit message"
```
> Examine the status of your working tree at each step to see if everything is clean
>```sh
> git status
> ```

Push your topic branch up to your fork:
```sh
git push origin <topic-branch-name>
```

#### 5. Open a Pull Request with a clear title and description against the master branch.

[Open a Pull Request.](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request)

## Example Pull Request
![Example Pull Request](https://i.imgur.com/s8yELfK.png)

A maintainer/developer will review and might suggest some changes before merging them into the repository.

Success!! :tada:  Well done! :bowing_man:

## Recognizing Contributions 🗒

BIDS follows the [all-contributors](https://github.com/all-contributors/all-contributors#emoji-key) specification, so we welcome and recognize all contributions from documentation to testing to code development. You can see a list of current contributors in the [BIDS specification](https://github.com/bids-standard/bids-specification/blob/master/src/99-appendices/01-contributors.md).

***

## 4. Get in touch with us :mailbox_with_mail:

If you have any questions, comments, or suggestions, please feel free to create an issue [here](https://github.com/BIDS-Apps/bids-apps.github.io/issues)! A Maintainer or community member will follow up.

If you'd prefer to email then you can contact Franklin at<EMAIL_ADDRESS>
***

## 5. A Special Note :high_brightness:

Thank you for reading through and we look forward to your valuable contribution! :smiley:

We appreciate the hard work and time of our contributors who have built and maintained BIDS-Apps! :raised_hands:

You are Awesome! :star2: :star_struck:


text:
# PixelDreamer

## Installation

Install RMagick and ImageMagick from here: [RMagick](https://github.com/rmagick/rmagick)

Add this line to your application's Gemfile:

```ruby
gem 'pixel_dreamer'
```

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install pixel_dreamer

## Usage

### ImageDreamer

To use pixel dreamer you must first create a new `PixelDreamer::ImageDreamer` instance
to do this you must pass in the uri of the image you will be pixel sorting:
 ```ruby
 image = PixelDreamer::ImageDreamer.new('/uri/image.png')
 ```

you can also pass in an image to be laid on top of the image that is pixel sorted,
overlay image is optional:

 ```ruby
 image = PixelDreamer::ImageDreamer.new('/uri/image.png', 'overlay/image.png')
 ```
 #### brute_sort_save_with_settings

pixel sorts an image and outputs a text file with settings used.
once the image has been instantiated you can run this method without passing in any parameters.
by default it runs with these paramaters:
`{ settings: DEFAULTS, output_name: nil, gif: false, output_folder: false }`

```ruby
image.brute_sort_save_with_settings
```

or with these parameters

```ruby
image.brute_sort_save_with_settings(settings: PixelDreamer::Constants::DEFAULTS, output_name: nil,
                                    gif: false, output_folder: false)
```

or

```ruby
image.brute_sort_save_with_settings(settings: { reverse: false, vertical: false, diagonal: false,
                                                 smooth: false, method: 'sum-rgb', verbose: false,
                                                 min: Float::INFINITY, max: Float::INFINITY,
                                                 trusted: false, middle: false })
```

also read the documentation for [pxlsrt](https://github.com/czycha/pxlsrt) to get an idea of what these parameters do

 #### glitch_sequence

creates a sequence of pixel sorted images based on the setting hash and a sequence_setting hash chosen.
once the image has been instantiated you can run this method without passing in any parameters
by default it is executed with these settings:

`settings: SETTINGS[:soft], sequence_settings: SEQUENCE_SETTINGS[:high_short], compress: true, speed: 84 `

example:

```ruby
image.glitch_sequence
```

or with parameters, an output name can be passed in as well (string)

```ruby
image.glitch_sequence({ settings: PixelDreamer::Constants::SETTINGS[:sharp],
                        sequence_settings: PixelDreamer::Constants::SEQUENCE_SETTINGS[:high_long],
                        compress: false, speed: 42, output_name: 'image_glitched' })
```

the output name must only include the name of the output image not the file extension.
this creates a sequence of of images that have been pixel sorted with the increments specified.
the settings_hash can be pulled from the `SETTINGS` constant, defaults to `SETTINGS[:soft]`.
the sequence_settings can be pulled from the `SEQUENCE_SETTINGS` constant, defaults to `SEQUENCE_SETTINGS[:high_short]`.
compress defaults to true, copies and compresses input file and creates sequence from compressed file
the fps is set by the speed which is in milliseconds, defaults to 84ms (12fps)
the uri_helper method can be used to create the input uri

#### barrage

creates an image for each setting from the settings hash. quickest way to see how all of the settings effect the image supplied.
once the image has been instantiated you can run this method without passing in any parameters
by default it is executed with these settings:
`gif: false, compress: true, speed: 84`

```ruby
image.barrage
```

or with parameters, an output name (string) can be passed in as well

```ruby
image.barrage({ gif: true, compress: false, speed: 42, output_name: 'image_glitched' })
```

the output name must only include the name of the output image not the file extension
the uri_helper can be used to create the input uri

#### randomize

creates a series of images that are pixel sorted with randomized settings, the output is very hectic.
once the image has been instantiated you can run this method without passing in any parameters
by default it is executed with these settings:
`gif: false, compress: true, speed: 84, image_number: 10`

```ruby
image.randomize
```

or with parameters, an output name (string) can be passed in as well

```ruby
image.randomize({ gif: trues, compress: false, speed: 42, image_number: 20, output_name: 'image_glitched' })
```

the output name must only include the name of the output image not the file extension
the amount of images that are created are based on the image_number (integer)

#### gif

creates a gif using the images created from using either the randomize, glitch_sequence or barrage methods.
once the image has been instantiated you can run this method without passing in any parameters
by default it is executed with these settings:
`speed: 84, dither: DITHER_DEFAULTS, image_delay: IMAGE_DELAY_DEFAULTS`

```ruby
image.gif
```

or with parameters, an output name (string) can be passed in as well

```ruby
image.gif({speed: 42, dither: PixelDreamer::Constants::DITHER_DEFAULTS,
           image_delay: PixelDreamer::Constants::IMAGE_DELAY_DEFAULTS, output_name: 'image_gif'})
```
or

```ruby
image.gif({speed: 42, dither: {active: false, number_of_colors: 200},
                image_delay: {active: false, image_to_delay: 1, delay_length: 1000}, output_name: 'image_gif'})
```

speed is used to set the length of time for each frame of the gif, it defaults to milliseconds
   - 12 fps: length of frame = 84 ms
   - 24 fps: length of frame = 42 ms
   - 30 fps: length of frame = 33 ms
   - 60 fps: length of frame = 17 ms
the dither hash used to set the dither settings
the image_delay hash is used to pause the sequence on an image for a set amount of time
the patrol boolean is used to have the animation reverse at the end of it's cycle

#### uri_helper

creates a uri by adding the name to common paths

```ruby
test = uri_helper('desktop', 'test.png')
```

## Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/13um45/pixel_dreamer.

## License

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


text:
---
title: 'Sequential mastery of multiple visual tasks: Networks naturally learn to learn
  and forget to forget '
date: '2020-06-01'
publishDate: '2022-02-07T20:57:30.302417Z'
authors:
- Guy Davidson
- Michael C. Mozer
publication_types:
- '1'
abstract: We explore the behavior of a standard convolutional neural net in a continual-learning
  setting that introduces visual classification tasks sequentially and requires the
  net to master new tasks while preserving mastery of previously learned tasks. This
  setting corresponds to that which human learners face as they acquire domain expertise
  serially, for example, as an individual studies a textbook. Through simulations
  involving sequences of ten related visual tasks, we find reason for optimism that
  nets will scale well as they advance from having a single skill to becoming multi-skill
  domain experts. We observe two key phenomena. First, *forward facilitation* ---
  the accelerated learning of task $n+1$ having learned $n$ previous tasks --- grows
  with $n$.  Second, *backward interference* --- the forgetting of the $n$ previous
  tasks when learning task $n+1$ --- diminishes with $n$. Amplifying forward facilitation
  is the goal of research on metalearning, and attenuating backward interference is
  the goal of research on catastrophic forgetting. We find that both of these goals
  are attained simply through broader exposure to a domain.
featured: false
publication: '*The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)*'
url_pdf: https://arxiv.org/abs/1905.10837
---

repository: guydav/academic-kickstart

repo_name: guydav/academic-kickstart


text:
---
layout: default
---

## JReFrameworker
This project aims to extend previous works by [Erez Metula](https://appsec-labs.com/managed_code_rootkits) by introducing JReFrameworker, a tool to produce MCR capabilities aimed at the Java Runtime Environment in a user-friendly way.

JReFrameworker is a tool that allows a user to write annotated Java source that is automatically merged or inserted into the runtime.  The framework supports developing and debugging attack modules directly in the Eclipse IDE. Working at the intended abstraction level of source code allows the attacker to "write once, exploit anywhere".

## Getting Started
Ready to get started?

1. First [install](/install) the JReFrameworker plugin.
2. Then check out the provided [tutorials](/tutorials) to get started hacking your first attack module.

## Materials
This tool was presented at [DEFCON 24](https://www.defcon.org/html/defcon-24/dc-24-speakers.html#Holland). Thanks to all those that attended! The JReFrameworker modules developed for the presentation are available in the [github.com/JReFrameworker/modules](https://github.com/JReFrameworker/modules) repository.

## Source Code
Need additional resources?  Checkout the [Javadocs](/javadoc/index.html) or grab a copy of the [source](https://github.com/JReFrameworker/JReFrameworker).

If you find a problem please [report an issue](https://github.com/JReFrameworker/JReFrameworker/issues). If you want to help, [pull requests](https://github.com/JReFrameworker/JReFrameworker/pulls) are always welcome.


text:
---
layout: post
title: Notes from RubyConf2020 Day 3
---

## Keynote: Kent Beck

No slides! Just a sketchpad (what a boss)

## Upgrading GitHub to Ruby 2.7 (Eileen Uchitelle)

How to Fix More Than 11K Deprecations
- Dual booting with env vars
  - Allows testing and CI to run against multiple versions
  - Use CI to enforce that new code changes work w/ $RUBY_NEXT_VERSION
- Monkeypatch warning module
  - Enable raise on warnings to prevent regressions
  - Enable ability to output stacktrace (for easier debugging)
  - Collect callsite from backtrace to get list of violation sites
- Fanout work to CODEOWNERS for each file with violation

What about gems?
- Recommendation: audit gemfile first
  - Update if possible
  - Replace unmaintained gems
- Upstream > fork
- GitHub devs pushed up upstream changes to maintained gems
- Then we replaced abandoned gems

Prevent regressions
- After fixes are in, raise on warnings everywhere via monkeypatch

Deploy process
- Prerequisites:
  - System observability
  - Test coverage
- Push changes in small increments
  - Rely on CODEOWNERS to push and monitor changes to their areas of responsibility
- Deploying the version bump
  - Incremental rollout (2% -> 10% -> 30% of servers, and so on)

Wins!
- Performance boosts
  - Boot time decrease
  - Boot time object allocations decrease (more available memory)
- New features
  - `Method#inspect` improvements
  - IRB improvements
    - Multi-line editing (HUGE!!)
    - Autocomplete
  - Manual GC Compaction
    - See Aaron Patterson and Emily Giurleo's RubyConf2020 talks for more on this

GitHub is one of the largest Ruby codebases in the world, but our problems are not unique to us.
- Opportunities to improve Ruby for everyone
- "If you don't like _how_ Ruby works, change it"
- So we pushed another upstream fix to Ruby: warning categories

"Nothing makes an upgrade harder than waiting"

"GitHub's running on Ruby 2.7, so you can too"

## Coaching Through Coding (Mercedes Bernard)

Decideing between "management" vs IC roles is like deciding between changing into bus lane vs bike lane.
- "Management" is in quotes because it also refers to senior devs, tech leads, people who are still writing code, not purely people managers
- Management is like driving a bus, helping your team get to where they need to go. Stops along the way are skills. You can mentor them along the way, taking them from stop to stop. Coaches offer directions, etc.
- IC is more like riding a bike. More effort for you, but also maybe faster and more straightforward.
- But remember: it's not really in your team's best interested for one individual to get somewhere faster. Better to find a way to lift the entire team.

Mentorship:
- Relationship oriented
- Long term
- Requires trust, vulnerability

Coaching:
- Performance oriented
- More grounded in the present
- Feedback and guidance for task at hand
- More skills focused
- Less long term

Coaching opportunities:
- Pair programming
  - Use pseudocode liberally
  - Acknowledge mistakes (model polite pairing ☺)
  - Talk through your decision making process
  - Ask questions to draw out the same from your pair
- Debugging sessions
  - Don't get too focused on the fix
  - Explain change before making it
  - It's ok to go slow - check assumptions, don't make too many changes at once
- Code reviews
  - Make suggestions with open ended questions
  - There's always something positive to highlight
  - No one benefits from a "lgtm" approval. Ask questions
- PRs
  - Be intentional with your description
  - Provide context and direction
  - Think of your PR as a type of documentation
    - Treasure trove of knowledge/links/resources your team can refer back to in the future
    - Historical record
- Estimates
  - Opportunity to highlight non-obvious considerations
  - Help team broaden thinking

## Ruby Mixology with Sarah Wasser

**Ingredients:**
- Lime juice (preferably fresh squeezed)
- Gin (can substitute vodka or tequila if preferred)
- Aperol
- Grapefruit juice (preferably Ruby and fresh squeezed, can substitute orange juice)
- Ice
- Cocktail shaker
- Peeler
- Champagne flute (or cocktail glass of your choice)

**Instructions:**
1. Add ice cubes to your shaker
2. Measure 1/2 oz. lime juice and add to shaker
3. Measure 1/2 oz. grapefruit juice and add to shaker
4. Measure 1/2 oz. Aperol and add to shaker
5. Measure 1 1/2 oz. of gin (or substitute of your choice) and pour into shaker
6. Shake for a good 30 seconds
7. Strain drink into your glass
8. Peel a slice grapefruit rind and rub around the edge of your cocktail glass for extra aromatics. For extra oompf, apply flame to the inside of the rind first (!!)
9. Twist the rind and hang on the edge of your glass for fancy garnish (optional)
10. Enjoy!

## Closing Keynote (Aniyia Williams)

How to build the future

Considerate Capitalism?
- Maybe. Jury's out on capitalism, let's be honest.
- Capitalism in its current form is built on exploitation
- Ultimately focus on the goals, not the model. The goals will reveal the right model

Rule 1: Fuck the status quo ✊

Rule 2: Reshape the role of markets
- Untether worth from money and tie to to common goals/collective good
- "Person's quality of life is best measured by quality of their relationships"

Rule 3: Design with human nature in mind
- Every human is corruptible. Seek to maximize your happiness while minimizing harm to others.

Rule 4: Seek to minimize harm to others.
- Place greater value on contributions to the common good.
- Community comes before individual needs
- Be willing to be held accountable
  - How? Model the behavior you want to see in others
  - We need role models first
  -

Rule 5: Figure out what role you're going to play
- Think of changing the world as changing your world
- Start with yourself and what's close to home
- What can you consistently show up and do?
- Join a community that aligns with your values
- WE are the saviors we've all been waiting for

Tools for change:
- Define your "why": the "why" doesn't change, but the "how" always does
- Make space for others
- LISTEN, mirror, validate
- Accountability
  - Privilege equals responsiblity
  - Be a good steward of your power

Conflict is inevitable. How you respond to it is important.

Comfort zone -> fear -> learning -> growth zone

## Matz Q&A

Elixir shoutout!

Worried about introducing static types because the whole community will rush to use them, and then we lose the Ruby-ness of Ruby.

Alternative: run tests with type checking, otherwise it's off.

gha_language: SCSS


text:
# subslice\_index

[Documentation](https://docs.rs/subslice_index)

Get the index of a subslice into its parent slice.

## Example

```rust
use subslice_index::subslice_index;

let arr = [1, 2, 3, 4, 5, 6];

let slice = &arr[..];
let subslice = &slice[2..4];

assert_eq!(subslice, [3, 4]);
assert_eq!(subslice_index(slice, subslice), 2);
```
## Usage

This [crate](https://crates.io/crates/subslice_index) can be used through cargo by adding
it as a dependency in `Cargo.toml`:

```toml
[dependencies]
subslice_index = "0.5.0"
```
and importing it in the crate root:

```rust
extern crate subslice_index;
```


text:
---
title: How do Target requests work?
description: This video describes the expiration factor for Target cookies and Target profiles. Learn how to determine the number and types of Target requests, differentiate between synchronous versus asynchronous deployment, and explain flicker management.
role: Developer, Architect
level: Intermediate
topic: Personalization, Development
feature: Implementation
doc-type: technical video
kt: 5381
thumbnail: 35141.jpg
exl-id: b5182e70-551c-43e4-bca3-a9889740cecc
---
# Introduction to Target requests

## Description

In this video, you learn how to:

* Distinguish the expiration factor for Target cookies and Target profiles
* Determine the number and types of requests
* Differentiate between synchronous versus asynchronous deployment
* Explain flicker management

## Intended Audience

* Developers
* Architects

>[!VIDEO](https://video.tv.adobe.com/v/35141/?quality=12)

For more information, visit the [documentation](https://experienceleague.adobe.com/docs/target/using/implement-target/implementing-target.html?lang=en).


text:
[![npm version](https://img.shields.io/badge/npm-v0.0.2-blue?style=flat-square)](https://www.npmjs.com/package/adaptive-tabs)

# AdaptiveTabs
This library creates a tabs component which adjust automatically based on the screen size and shows overflowing tabs inside a dropdown.

![demo](https://raw.githubusercontent.com/AlokTakshak/ng-adaptive-tabs/master/demo.gif)

## Interface

```
interface AdaptiveTab {
  title: string;
  id?: string; //optional
  disabled?: boolean //optional
}
```

## Props
| Property   | Type             | Default             | Required? | Description                                                                                |
| :--------- | :--------------- | :--------------- | :-------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| tabs      | AdaptiveTab[]           |         |     ✓     | This is list of tabs we want ot render.                                                                                |
| activeTab | String | `1st` tab      |           |  This is the current active Tab |
| activeTabChangeEvent   | string          |  |           | Emites the  selected tabs id.

### Input
```
tabs: AdaptiveTab[]; // array of tabs to render
activeTab: string // id of the selected tabs
```
By default 1st tab is selected and.

if you don't pass id it will take `title` as `id` and render only unique one.

### Output
```
activeTabChangeEvent: string // emits the id of the selected tab
```

## Usage

```
app.component.html

<ng-adaptive-tabs [tabs]="tabs" (activeTabChangeEvent)="tabChanged($event)">
</ng-adaptive-tabs>

app.component.ts

tabs: AdaptiveTab = [ { title: 'Tab-1' }, { title: 'Tab-2' }]

public tabChanged(id: stirng) {
    console.log('selected tab id ', id);
}

```

### `*Note` - Compiled with `enableIvy: false`

repository: AlokTakshak/ng-adaptive-tabs

repo_name: AlokTakshak/ng-adaptive-tabs


text:
# INSTAGRAM-BOT

- Easy to use.
- compactable

## FEATURES :-
#### 1. Create new IG account
#### 2. Login
#### 3. Story Viewer
#### 4. DM's
#### 5. Bomber
#### 6. Increase Followers
#### 7. Like, Comments
#### 8. Log-Out

# Technology used

- Selenium :- **Selenium** is an open-source web-based automation tool. Python language is used with **Selenium** for testing.
  -  cmd to install :- pip install **selenium**

- Pyautogui :- **PyAutoGUI** lets your Python scripts control the mouse and keyboard to automate interactions with other applications. The API is designed to be as simple. **PyAutoGUI** works on Windows, macOS, and Linux.
  - cmd to install :- pip install **PyAutoGUI**

- PyFiglet :- **Pyfiglet** takes ASCII text and renders it in ASCII art fonts.
  - cmd to install :- pip install **pyfiglet**

repository: niteshprajapat/Fully-Featured-INSTA-BOT

repo_name: niteshprajapat/Fully-Featured-INSTA-BOT


text:
# ⚠ Ce repo n'est plus maintenu.
## Peps a été transféré à l'association Pour Une Agriculture du Vivant. La nouvelle plateforme est disponible [ici](https://rex-agri.agroecologie.org/).
--------------------
## Peps

Peps helps find personalized agricultural practices to reduce pesticide use.

📱 The repository for Peps' mobile application [can be found here](https://github.com/betagouv/peps-app).

## Setup the development environment

### Python 3 virtualenv

Start a virtualenv with Python3:

```
virtualenv -p python3 venv
source ./venv/bin/activate
```

### Install requirements

The requirements are found in ```requirements.txt```. To install them:

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

### Postgresql database

You will need a Postgresql database to run the application. You can create one as follows:

```
psql
CREATE DATABASE peps;
```

### Environment variables

Create an ```.env``` file at the same level as the ```manage.py``` file. This file should have the following environment values:

```
PEPS_SECRET='some-secret-value'
PEPS_DEBUG='True'
PEPS_DB_USER='your-pgsql-user'
PEPS_DB_PASSWORD='your-pgsql-password'
PEPS_DB_HOST='<IP_ADDRESS>'
PEPS_DB_PORT='5432'
PEPS_DB_NAME='your-db-name'
PEPS_AIRTABLE_KEY='your-airtable-api-key'
PEPS_AIRTABLE_PRACTICES_BASE=xxxxxxxx
PEPS_ALLOWED_HOSTS=<IP_ADDRESS>,<IP_ADDRESS>
PEPS_MJ_APIKEY_PUBLIC=xxxxxxxx
PEPS_MJ_APIKEY_PRIVATE=xxxxxxxx
PEPS_ASANA_PERSONAL_TOKEN=xxxxxxxx
PEPS_ASANA_PROJECT=xxxxxxxx
PEPS_STATICFILES_STORAGE='django.contrib.staticfiles.storage.StaticFilesStorage'
PEPS_DEFAULT_FILE_STORAGE='peps.pepsfilestorage.PepsFileStorage'
PEPS_CELLAR_HOST=''
PEPS_CELLAR_KEY=''
PEPS_CELLAR_SECRET=''
PEPS_CELLAR_BUCKET_NAME=''
PEPS_FORCE_HTTPS='False'
PEPS_ANALYTICS_ID=''
PEPS_ANALYTICS_DOMAIN=''
PEPS_SECURE='False'
PEPS_HOSTNAME='localhost:8000'
PEPS_EMAIL_BACKEND='django.core.mail.backends.console.EmailBackend'
REDIS_URL='redis://localhost:6379/0'
```

### Make initial migration and create super user

Before you start, ensure the database is properly migrated:

```
python manage.py migrate
```

And create a super user:

```
python manage.py createsuperuser
```

## Test

You should be ready to go.

To run the tests concerning the current product, simply run:
```
python manage.py test --exclude-tag=legacy
```

If you wish to include tests for the legacy product (suggestion engine), you must first fetch the latest data from Airtable:
```
python manage.py generatetestdata
...
Successfully generated test data
```
Now you can run the following command to run the entirety of the test suite:

```
python manage.py test
```

### Updating legacy test mock data

Legacy engine tests rely on mock data available under ```api/tests/testdata```. To update these files with the latest Airtable data, you can run the following command:

```
python manage.py generatetestdata
```

## Web applications and frontend

There are two different client-side code locations in this repository:

### 1- ```/web```

These are templates and client-side elements that adhere to Django's standard way of doing things. These are currently used for utility views - such as the one showing the weight of the practices in real time.

The views here are not meant to be shown to the final user.

### 2- ```/frontend```

Under frontend we have a VueJS single page application meant to be the main client side web app.

#### Developing for ```/frontend```

In order to develop and debug this web app we need to launch two development servers: Django's and Vue's.

To launch Django's server:
```
python manage.py runserver
```

To launch Vue's server:
```
cd frontend
npm run serve
```

This will allow you to have instant reload on both the backend and the frontend.

repository: betagouv/peps

repo_name: betagouv/peps


text:
# DevOps Engineer Tasks - Set 1

- [Task 1 - Puppet Add Users](#puppet-add-users)

## Puppet Add Users

As a new teammate has joined Nautilus application development team, the application development team has asked the DevOps team to create a new user for the new teammate on all application servers in Stratos Datacenter. The task needs to be performed using Puppet only. You can find more details below about the task.

Create a Puppet programming file **ecommerce.pp** under **/etc/puppetlabs/code/environments/production/manifests** directory on **master** node i.e **Jump Server**, and using Puppet **user** resource add a user on all app servers as mentioned below:

  1. Create a user **anita** and set its UID to **1157** on all Puppet agent nodes i.e all **App Servers**.

**Note**: Please perform this task using **ecommerce.pp** only, do not create any separate inventory file.

### Solution

```bash
# Following tasks has to be performed on master or Jump Server

cd /etc/puppetlabs/code/environments/production/manifests

vi ecommerce.pp

# Add following to the ecommerce.pp file
class user_creator {
    user { 'anita':
      ensure => present,
      uid => 1157
    }
}

node 'stapp01.stratos.xfusioncorp.com', 'stapp02.stratos.xfusioncorp.com', 'stapp03.stratos.xfusioncorp.com' {
    include user_creator
}

# Save the file and exit from vi editor

# Check if puppet file is valid
puppet parser validate ecommerce.pp

# You will not see any messages if the file is valid.

# Following tasks has to be performed on each app servers
ssh tony@stapp01
ssh steve@stapp02           # New Terminal
ssh banner@stapp03          # New Terminal

sudo puppet agent -tv

# Verify if user created successfully
cat /etc/passwd | grep anita
```

license: Unlicense


text:
# FizzBuzz Tree
Conduct “FizzBuzz” on a tree while traversing through it. Change the values of each of the nodes dependent on the current node’s value

[Pull Request](https://github.com/etrainor/data-structures-and-algorithms/compare/fizzbuzz_tree?expand=1)

## Challenge
* Write a function called FizzBuzzTree which takes a tree as an argument.
* Without utilizing any of the built-in methods available to your language, determine weather or not the value of each node is divisible by 3, 5 or both, and change the value of each of the nodes:
* If the value is divisible by 3, replace the value with “Fizz”
* If the value is divisible by 5, replace the value with “Buzz”
* If the value is divisible by 3 and 5, replace the value with “FizzBuzz”
* Return the tree with its new values.

## Approach & Efficiency
Traversed through the tree in order and performed operations on the nodes whose values matched the described parameters. Time is O(n) because we have to traverse all nodes. Space is O(h) due to the recursion to traverse the tree.

## Solution
![White Board Image](../../../assets/fizz-buzz-tree.jpg)

repository: etrainor/data-structures-and-algorithms

repo_name: etrainor/data-structures-and-algorithms


text:
## \[2015-05-25\] Release v3.6.6

It seems that this month we cleaned up some important bugs,
thanks to our awesome community!

FIXED
: **\[http\]** Fixed special case when content-length and chunked encoding exists.

NEW
: **\[util\]** `getResourceAsStream` now has a boolean argument to disable the cache.

CHANGED
: **\[util\]** Zip methods now returns resulting zip `File`.

FIXED
: **\[methref\]** Fixed parallel access, added `Pathrefs`.

FIXED
: **\[mail\]** Fixed parsing with `MailAddress`.

NEW
: **\[mail\]** Added `startTlsRequired` and `plaintextOverTLS()`.

NEW
: **\[mail\]** Added debug mode option and strict email address flag.

CHANGED
: **\[bean\]** `BeanCopy` got some slight modifications and improvements.

CHANGED
: **\[madvoc\]** Execution of inteceptors, filters and actions is significantly simplified.
{: .release}

repository: Inner-room/jodd-site

repo_name: Inner-room/jodd-site


text:
# Emojis Under the Hood
[ref](https://tonsky.me/blog/emoji/)

- everything you did and didn't want to know about emojis and more
- from his conclusion:

```
A single codepoint 🧛 U+1F9DB
Single codepoint + variation selector-16 ☹ U+2639 + U+FE0F = ☹
Skin tone modifier 🤵 U+1F935 + U+1F3FD = 🤵🏽
Zero-width joiner sequence 👨 + ZWJ + 🏭 = 👨🏭
Flags 🇦 + 🇱 = 🇦🇱
Tag sequences 🏴 + gbsct + U+E007F = 🏴
Keycap sequences * + U+FE0F + U+20E3 = *⃣
```

repository: eginwong/course-notes

gha_language: HTML

repo_name: eginwong/course-notes


text:
# Django starter templates with a choice of authentication
This is a collection of mildly opinionated Django starter templates. The main goal is to get started quickly in common cases and avoid repetition or bad practices during setup. With this I am able to address some personal gripes. Not everyone may share these and it's open to discussion what exeactly represents "best practice". You can check out different branches

## Installed libraries:

+ django-debug-toolbar - [docs](https://django-debug-toolbar.readthedocs.io)
+ django-extensions - [docs](https://django-extensions.readthedocs.io)
+ psycopg2 - [docs](http://initd.org/psycopg/docs/)
+ django-allauth - [docs](https://django-allauth.readthedocs.io)
+ django-email-bandit - [docs](https://django-email-bandit.readthedocs.io/en/latest/)

## Configuration choices

+ Stick to the default Django folder layout, with the name of the project and the project-folder simply: `project`
+ Manage confidentional and environment-spefic settings in a `.env` file (environmental variables)
+ A `base` settings file is extended with phase-specific settings files (`development`, `production`, etc)
+ The debug-toolbar will only be activated when `DEBUG` is set to `True`
+ Postgres is the default database engine

## Features

+ A basic custom user model `users.models.User` that inherits from `AbstractBaseUser`
+ Easy choice between `username`, `email` or `username_email` authentication methods
+ Fully compatible with `allauth` views and templates for account management
+ Emails sent in the development phase are intercepted and sent to an address you choose

# Get started

## Checkout authentication method
```
git init
git remote add django-starters git://github.com/snirp/django2.1-starters.git
git checkout -b master django-starters/<branchname>
pipenv install
```
You can checkout one of the following branches, each representing a different authentication method:
+ `username` **Authenticate with username**: password has to be entered twice; email address is not required.
+ `email` **Authenticate with email address**: users have no username, the email will serve as the username field
+ `username_email` **Authenticate with email or username**: both username and email are required
+ `master` **Switch between methods**: choose one the above methods by setting the corresponding value as `ACCOUNT_AUTHENTICATION_METHOD` in `settings/base.py` (default is `username`).

In the `master` branch `users/models.py` and `users/admin.py` contain a few `if ... else` statements that make sure the model and the admin pages match the authentication choice. This allows you to quickly switch between methods, which can be useful if you are trying decide on the proper authentication method. Otherwise it might be easier to start with one of the other branches.

## Create database

Replace the values of `my_database`, `my_user`, and `my_password` with your own values.
```
psql
postgres=# CREATE DATABASE my_database;
postgres=# CREATE USER my_user WITH ENCRYPTED PASSWORD 'my_password';
postgres=# GRANT ALL PRIVILEGES ON DATABASE my_database TO my_user;
postgres=# \q
```

## Set environment variables

The triple dotted `...env` file holds a template for your environmental settings. Proceed as follows:

1. Double check that `.gitignore` has a line with `.env`, so git will not track the (confidential) environment settings.
1. Rename from ...env to .env (`mv ...env .env`)
1. Edit passwords, secret keys and environment-specific settings to suit your environment. The database settings should match the values of the Postgres database you created.

## Edit settings, apply migrations and get started

Configure `BANDIT_EMAIL` in `project/settings/development.py` to match your email address to use during development.

```
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver
```

You can edit the Site settings in the admin to match your project.

# What's next?
With Allauth, adding OAuth authentication by third party providers is a breeze. Check out their docs to get started.

Other recommended libraries:
+ Django REST Framework
+ ...

repository: snirp/braincards

repo_name: snirp/braincards


text:
## Organization Account Store Mapping

"Account Store" is a generic term for either a [Directory](directory),
[Group](group), or [Organization](organization).  All of these types are
considered "account stores" because they contain, or store, Accounts.  An
"Organization Account Store Mapping", then, represents an Account Store that is
mapped (*assigned*) to an Organization.

In Stormpath, you control who may login to an Organization by associating (*or
mapping*) one or more account stores to an Organization.  All of the Accounts
across all of an organization's assigned account stores form the organization's
effective *user base*: accounts which can log into the Organization.  If no
account stores are assigned to an Organization, no accounts will be able to
log into the Organization.

If an Organization is mapped to an Organization, then all of the account
stores that are mapped to the Organization will also be able to log in
to the Organization.

**Since**: 0.12.0

---

### method getOrganization(*[options,]* callback)

Retrieves the associated Organization and provides it to the specified callback.

#### Usage

```javascript
organizationAccountStoreMapping.getOrganization(function(err, organization) {
  console.log(organization);
});
```

#### Parameters

      Parameter
      Type
      Presence
      Description

      _`options`_
      `object`
      _optional_
      Name/value pairs to use as query parameters, for example, for [resource expansion](http://docs.stormpath.com/rest/product-guide/#link-expansion).

      `callback`
      `function`
      required
      The callback to execute upon server response. The 1st parameter is an [error](resourceError).  The 2nd parameter is an [Organization](organization) instance.

#### Returns

If the request fails, the callback's first parameter (`err`) will report the
failure.  If the request succeeds, the instance of  [Organization](organization)
will be provided to the callback as the callback's second parameter.

---

### method getAccountStore(*[options,]* callback)

Retrieves the associated Account Store (*Group or Directory*) and provides it
to the specified callback.

#### Usage

```javascript
orgqnizationAccountStoreMapping.getAccountStore(function(err, accountStore) {
  console.log(accountStore);
});
```

#### Parameters

      Parameter
      Type
      Presence
      Description

      _`options`_
      `object`
      _optional_
      Name/value pairs to use as query parameters, for example, for [resource expansion](http://docs.stormpath.com/rest/product-guide/#link-expansion).

      `callback`
      function
      required
      The callback to execute upon server response. The 1st parameter is an [error](resourceError).  The 2nd parameter is an [Directory](directory) or [Group](group) instance.

#### Returns

If the request fails, the callback's first parameter (`err`) will report the
failure.  If the request succeeds, the instance of [Directory](directory) or
[Group](group) will be provided to the callback as the callback's second
parameter.

---

repository: devpascoe/stormpath-sdk-node

repo_name: devpascoe/stormpath-sdk-node


text:
UDPutil
=========
UDPutil makes it easy to send or receive UDP in the terminal.

### updrecv
udprecv logs messages received on the 'bind' address to stdout.

Print to stdout:
```
udprecv -bind=":65000"
```

Write results into a file for 1 second:
```
updrecv -bind=":54000" -t=1s > msgs.txt
```

### udpsnd
udpsnd sends newline-delimited messages from stdin.

Type messages yourself:
```
udpsnd -bind ":65000"
```
Pipe messages across the wire:
```
echo 'here's a message\nhere's another message' | udpsnd -bind ":50000"
```

### TODO

 - Multicast send/receive

repository: philhofer/udputil

repo_name: philhofer/udputil