text:
# Numeric types for JavaScript

[![npm version](https://badge.fury.io/js/numeric-types.svg)](https://badge.fury.io/js/numeric-types)
[![Build Status](https://travis-ci.org/aholstenson/numeric-types.svg?branch=master)](https://travis-ci.org/aholstenson/numeric-types)
[![Coverage Status](https://coveralls.io/repos/aholstenson/numeric-types/badge.svg)](https://coveralls.io/github/aholstenson/numeric-types)
[![Dependencies](https://david-dm.org/aholstenson/numeric-types.svg)](https://david-dm.org/aholstenson/numeric-types)

This library contains implementations of useful numeric types for JavaScript
and TypeScript.

```
npm install numeric-types
```

## Features and status

This is currently an early release.

* Rounding modes: up, down, half down, half even, half up, floor and ceiling
* Decimal number representation
  * `Decimal` on top of `number` with limited precision of 15 digits
  * `BigDecimal` for more precise numbers, with up to `Number.MAX_SAFE_INTEGER` digits
  * Basic math operations: add, subtract, multiply, divide
* Integer representation
  * `Integer` for integers between `Number.MIN_SAFE_INTEGER` and `Number.MAX_SAFE_INTEGER`
  * `BigInteger` for large integers

## API

In this library all numeric types are immutable, so functions always return a
new instance. Each numeric type provides a limited API to support their
creation and basic use.

Operations on the number types is provided as separate functions that can be
imported. This design is to allow the library to take advantage of tree-shaking.

* `static NumericType.fromNumber(value: number): NumericType`

  Create an instance of the numeric type from a regular JavaScript number.

* `static NumericType.parse(value: string): NumericType`

  Create an instance of the numeric type from a string.

* `numericType.toString(): string`

  Turn the numeric type into a string representation supported by `fromString`.

## `MathContext` and rounding

This library uses a class named `MathContext` to support operations such as
setting the scale or precision and rounding a number.

```javascript
import { MathContext, RoundingMode } from 'numeric-types';

// Create a context that requests 2 digits after the decimal using Half Up rounding
const contextWithScale = MathContext.ofScale(2, RoundingMode.HalfUp);

// Context that requests at max 10 digits of precision
const contextWithPrecision = MathContext.ofPrecision(10, RoundingMode.Ceiling);
```

### Rounding modes

* `RoundingMode.Down` - Round towards zero.
* `RoundingMode.Up` - Round away from zero.
* `RoundingMode.HalfDown` - Round towards the nearest neighbor, but if in the middle round towards zero.
* `RoundingMode.HalfEven` - Round towards the nearest neighbor, but if in the middle round towards the even neighbor.
* `RoundingMode.HalfUp` - Round towards the nearest neighbor, but if in the middle round away from zero.
* `RoundingMode.Floor` - Round towards negative infinity.
* `RoundingMode.Ceiling` - Round towards positive infinity.
* `RoundingMode.Unnecessary` - Do not round, instead throw an error if rounding is required.

## Type: Decimal

Decimal is an implementation of a numeric type that avoids the rounding
errors common with floating point numbers. There are two versions, `Decimal`
and `BigDecimal` where `Decimal` is limited to safely handling 15 digits and
`BigDecimal` can handle up to `Number.MAX_SAFE_INTEGER` digits:

```javascript
import { Decimal, multiply } from 'numeric-types/decimal';

const a = Decimal.fromNumber(0.1);
const b = Decimal.parse('12');

const ab = multiply(a, b);
console.log(ab.toString());
```

Types are available for TypeScript:

```typescript
import { AbstractDecimal, Decimal } from 'numeric-types/decimal';

const decimal: AbstractDecimal<any> = Decimal.fromNumber(0.1);
```

### Operations

These operations are available from `numeric-types/decimal`. Import them
separately like:

```javascript
import { operationHere, anotherOperation } from 'numeric-types/decimal';

const { operationHere, anotherOperation } = require('numeric-types/decimal');
```

* `compare(a: DecimalType, b: DecimalType): -1 | 0 | 1`

  Compare two decimal numbers. This method will return `0` if the numbers are
  the same, `-1` if `a` is less than `b` and `1` if `a` is greater than `b`.

* `isEqual(a: DecimalType, b: DecimalType): boolean`

  Get if two decimal numbers are equal.

* `isLessThan(a: DecimalType, b: DecimalType): boolean`

  Get if the decimal number `a` is less than the number `b`.

* `isLessThanOrEqual(a: DecimalType, b: DecimalType): boolean`

  Get if the decimal number `a` is less than or equal to the number `b`.

* `isGreaterThan(a: DecimalType, b: DecimalType): boolean`

  Get if the decimal number `a` is greater than the number `b`.

* `isGreaterThanOrEqual(a: DecimalType, b: DecimalType): boolean`

  Get if the decimal number `a` is greater than or equal to the number `b`.

* `toString(a: DecimalType): string`

  Turn a decimal numbers into its string representation.

* `scale(a: DecimalType, context: MathContext): DecimalType`

  Scale the given decimal number according to the specified context.

* `round(a: DecimalType, roundingMode?: RoundingMode): DecimalType`

  Round the given decimal number. If the rounding mode is not specified
  `RoundingMode.HalfUp` is used. This is equivalent to calling `scale` with
  `MathContext.ofScale(0, roundingMode)`.

* `add(a: DecimalType, b: DecimalType, context?: MathContext): DecimalType`

  Add two decimal numbers together, optionally specifying a context to be used
  to adjust the scale of the result.

* `subtract(a: DecimalType, b: DecimalType, context?: MathContext): DecimalType`

  Subtract a decimal number `b` from the number `a`. Optionally specify a
  context to be used to adjust the scale of the result.

* `multiply(a: DecimalType, b: DecimalType, context?: MathContext): DecimalType`

  Multiply two decimal numbers together. Optionally specify a context to be
  used to adjust the scale of the result.

* `divide(a: DecimalType, b: DecimalType, context: MathContext): DecimalType`

  Divide a decimal number `b` from the number `a`. A context is required to
  determine the scale and how to round things.

## Type: Integer

Integer is an implementation of a whole number. There are currently two versions
available, `Integer` which is limited to the range of `number` and `BigInteger`
which is can represent larger numbers.

```javascript
import { Integer, multiply } from 'numeric-types/integer';

const a = Integer.fromNumber(20);
const b = Integer.parse('40');

const ab = multiply(a, b);
console.log(ab.toString());
```

Types are available for TypeScript:

```typescript
import { AbstractInteger, Integer } from 'numeric-types/integer';

const integer: AbstractInteger<any> = Integer.fromNumber(1);
```

### Operations

These operations are available from `numeric-types/integer`. Import them
separately like:

```javascript
import { operationHere, anotherOperation } from 'numeric-types/integer';

const { operationHere, anotherOperation } = require('numeric-types/integer');
```

* `compare(a: IntegerType, b: IntegerType): -1 | 0 | 1`

  Compare two integers. This method will return `0` if the numbers are
  the same, `-1` if `a` is less than `b` and `1` if `a` is greater than `b`.

* `isEqual(a: IntegerType, b: IntegerType): boolean`

  Get if two integers are equal.

* `isLessThan(a: IntegerType, b: IntegerType): boolean`

  Get if the integer `a` is less than the number `b`.

* `isLessThanOrEqual(a: IntegerType, b: IntegerType): boolean`

  Get if the integer `a` is less than or equal to the number `b`.

* `isGreaterThan(a: IntegerType, b: IntegerType): boolean`

  Get if the integer `a` is greater than the number `b`.

* `isGreaterThanOrEqual(a: IntegerType, b: IntegerType): boolean`

  Get if the integer `a` is greater than or equal to the number `b`.

* `toString(a: IntegerType): string`

  Turn a integers into its string representation.

* `add(a: IntegerType, b: IntegerType): IntegerType`

  Add two integers together.

* `subtract(a: IntegerType, b: IntegerType): IntegerType`

  Subtract `b` from `a`

* `multiply(a: IntegerType, b: IntegerType): IntegerType`

  Multiply two integers together.

* `divide(a: IntegerType, b: IntegerType): IntegerType`

  Divide `a` by the divisor `b`.

repository: aholstenson/numeric-types

repo_name: aholstenson/numeric-types


text:
# Creating vmimport role to interact with AMIs and Raw image convertion on AWS

## Prerequisites

- Install aws cli : [How to install](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html)
- Configure aws cli `aws configure` or change your current config under `.aws/config` to define Regions
- Make sure you have a [AWS ACCESS KEY and AWS SECRET KEY](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html)

  You can store the keys under `.aws/credentias` but **PLEASE** do not share and keep it any secret safe possibly using Vault.
- [How to import an image](https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html)
- See the examples in this directory about the format we are using.

## Creating / defining vmimport role

- Creating role as  defined on the trust policy in this directory.

`aws iam create-role --role-name vmimport --assume-role-policy-document "file:///trust-policy.json"`

- Defining role policy to access S3 bucket and convert images from it. **Remember to change the S3 butcket defined on the json**.

`aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document "file://role-policy.json"`

branch_name: refs/heads/master

extension: md

license_type: permissive


text:
# Sparkle-based PancakeSwap subgraphs
[![reference](https://img.shields.io/badge/godoc-reference-5272B4.svg?style=flat-square)](https://pkg.go.dev/github.com/streamingfast/sparkle-pancakeswap)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

This repo holds the `exchange` and `prediction` subgraphs from PancakeSwap that make use of the [`sparkle indexing framework`](https://github.com/streamingfast/sparkle).
They are developer previews for The Graph Network.

## Usage

Build with:

```bash

go build -o pancakeswap-exchange ./cmd/exchange
```

Call the `graph-node` to create the deployment:

```
./pancakeswap-exchange create namespace/target_name    # create  a row in `subgraph` table (current_version = nil, previsou_version = nil)
```

Deploy it, as you would with normal subgraphs:

```
./pancakeswap-exchange deploy namespace/target_name    # create  a row in `subgraph_deployment` &`subgraph_version` & IPS upload & `deployment_schemas` & Update `subgraph` table current_version, previous_version (MAYBE)
```

## Running linearly:

Start the linear indexer:

```
./pancakeswap-exchange index namespace/target_name@VERSION
```

You will find the `VERSION` printed when you `deploy` the subgraph.

## Running in parallel

> NOTE: As of August 17th 2021, `step` is in the process of being renamed to `stage` everywhere, so adjust accordingly depending on your revision.

  They will be consumed directly and do not require a running `firehose` service.

Paths for `--blocks-store-url`, `--input-path` and `--output-path` use the [dstore library](https://github.com/streamingfast/dstore) which supports S3, Azure, GCP and filesystems.

You will then adjust the `--start-block` and `--stop-block` and repeat the process until you cover the desired chain segment (as close to the chain tip as possible). Both parameters are inclusive, so do not overlap.

These processes can be run in parallel.

#### Stage 2

```
./pancakeswap-exchange parallel step \
      --step=2 \
      --blocks-store-url ./path/to/blocks \
      --start-block 6809700 \
      --stop-block 6829699 \
      --rpc-endpoint http://some-full-node:8545 \
      --input-path ./path/to/stage1 \
      --output-path ./path/to/stage2
```

Again, repeat with adjusted start/stop blocks.  Ensure Stage 1 is fully complete before starting Stage 2.

#### Stage 3 is same as Stage 2

Simply adjust `--step`, `--input-path` and `--output-path`

#### Stage 4 is slightly different:

```
./pancakeswap-exchange parallel step \
      --step=2 \
      --blocks-store-url ./path/to/blocks \
      --start-block 6809700 \
      --stop-block 6829699 \
      --rpc-endpoint http://some-full-node:8545 \
      --input-path ./path/to/stage3 \
      --output-path ./path/to/entities \
      --flush-entities \
      --store-snapshot=false \
```

This one will write entities for _each single block_, not only a snapshot at the end (to feed the latest Entities state into the next Stage) like previous stages do.

At this moment, you can inspect the files in `./path/to/entities` for data quality.  These are the values that will end up in PostgreSQL in the next steps. But you can iterate on your process faster if you discover data quality issues at this stage.  You can also be selective as to which stages and which segments you really need to re-run if you tweak the handler code.

#### Next step is to create the CSV files (`to-csv` command).

These will split the workload on a _different axis_: one process per entities collection. So the worst case timing in this operation will be the largest table (with the most rows or most data).

```
./pancakeswap-exchange parallel to-csv \
      --input-path ./path/to/entities \
      --output-path ./path/to/csvs \
      --only-tables=swap \
      --chunk-size=20000 \
      --stop-block=0
```

Notice the `--only-tables` here, that allows you to limit the tables that will be generated by this process. If you don't specify it, it will run for all tables: you will only need to run it once (no parallel processing), but you won't gain from increased performance of parallelisation.  If you split the work, use `./pancakeswap-exchange --help` to list all the entities managed by this subgraph and run one process for each entity.

The `--chunk-size` specifies where to chunk the `.csv` files. This only scopes the size of the _postgres transaction_ when you to injecting into postgres, as each file will be able to be added atomically in the RDBMS. If one fails, you'll know sooner, and you can retry it without retrying one huge .csv file.

#### Drop indexes

Truncating the target tables is required to avoid duplicate data.

Dropping the indexes will ensure the fastest injection time possible:

```
./pancakeswap-exchange drop-indexes \
      pancakeswap/exchange-v2@[version]  \
      --psql-dsn postgresql://user:password@example.com:5432/graph?sslmode=disable
```

This method also supports `--only-tables` but its quite fast so you shouldn't need to parallelize it.

#### Inject into PostgreSQL

Once the csv files are all generated, next step is to `inject` into PostgreSQL:

```
./pancakeswap-exchange parallel inject \
      pancakeswap/exchange-v2@[version]  \
      postgresql://user:password@example.com:5432/graph?sslmode=disable  \
      --only-tables=swap  \
      --input-path ./path/to/csvs  \
      --stop-block=0
```

Here again, you can parallelize the injection and maximize the throughput in PostgreSQL, and use all the available cores.  The inject method uses the fastest injection method available: `COPY FROM` and pipine the CSV through.

#### Re-create indexes

Now re-create the indexes:

```
./pancakeswap-exchange drop-indexes \
      pancakeswap/exchange-v2@[version]  \
      --psql-dsn postgresql://user:password@example.com:5432/graph?sslmode=disable
```

You can also use `--only-tables` but the process itself sleeps pretty much all the time, as PostgreSQL is doing the hard work. Indexes here will be created in parallel where possible directly from within the process, and linearly when it is known that postgres would lock otherwise.

## Benchmark

Here are a few durations, as the worst casetimings (worst case of each parallel job) and storage size estimates when running it on GCP,
Here is a sample run for this Subgraph, from block `6,809,700` to `9,000,000`, on GCP, split into **160** parallel jobs (in stages 1-4)

The following durations are the worst case from all the **160** parallel jobs at each stage:

* **Stage 1** duration: 5 minutes, produced: 412.0 MiB of data (pairs)
* **Stage 2** duration: 8 minutes 33 seconds, produced: 21.61 GiB of data (pair reserves)
* **Stage 3** duration: 34 minutes, produced: 31.21 GiB of data (price computations)
* **Stage 4** duration: 42 minutes, produced: 512.22 GiB of data (output of all entities to JSON)

The following duration is for the worst case of the Entities (Swap):

* **to-csv** duration: 157 minutes (2h37m), produced: 242.27 GiB of data (CSV files ready to be injected in postgres)

The following duration is for the worst case of the Entities during injection (Swap), with all indexes dropped before injection:

* **inject** duration: 40 minutes

The following duration is the worst case of the Entities, provided you have more than 640GB of RAM. Otherwise, you might want to split the load in two (taking twice the time):

* **create-indexes** duration: 4 hours

Yes, the original was half-way through after 2 months.

## Updating `sparkle`

Generate using `sparkle` (see https://github.com/streamingfast/sparkle)

```shell
sparkle codegen ./subgraph/exchange.yaml github.com/streamingfast/sparkle-pancakeswap
go mod tidy
```

To init a database
```shell
go run ./cmd/exchange -- deploy \
   --psql-dsn="postgresql://postgres:@localhost:5432/YOUR_DATABASE?enable_incremental_sort=off&sslmode=disable" \
   project/subgraph
```

## Contributing

**Issues and PR in this repo related strictly to Pancake Generated.**

Report any protocol-specific issues in their
[respective repositories](https://github.com/streamingfast/streamingfast#protocols)

**Please first refer to the general
[StreamingFast contribution guide](https://github.com/streamingfast/streamingfast/blob/master/CONTRIBUTING.md)**,
if you wish to contribute to this code base.

## License

[Apache 2.0](LICENSE)

repository: skillsyun/sparkle-pancakeswap

repo_name: skillsyun/sparkle-pancakeswap


text:
---
title: F-4 jets will simulate an
tags:
  - Mar 1986
---

F-4 jets will simulate an attack on the Doc Demilly [Nuevo Rio].

Newspapers: **Miami Morning News or The Miami Herald**

Page: **2**, Section: **C**

license: MIT


text:
---
layout: default
---

# 1993-09-10 - Re: "Code Warriors" Article in "Metro" Newspaper

## Header Data

From<EMAIL_ADDRESS>(Doug Merritt)

To<EMAIL_ADDRESS>Message Hash: 875a7e2371d697712439d28dbaec59f93c3c7903dba45bc73c69db892ad14f51

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1993-09-10 15:22:46 UTC

Raw Date: Fri, 10 Sep 93 08:22:46 PDT

## Raw message

```
{% raw  %}From<EMAIL_ADDRESS>(Doug Merritt)
Date: Fri, 10 Sep 93 08:22:46 PDT
To<EMAIL_ADDRESS>Subject: Re: "Code Warriors" Article in "Metro" Newspaper
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

<EMAIL_ADDRESS>(Timothy C. May) said:
>Julian Dibbell's excellent article that appeared in the "Village
>Voice" (August 3rd, cover story) is the *cover story* as well in the
>latest "Metro" newspaper, the free San Jose area paper (but we get it
>down here in Santa Cruz as well).

Over lunch yesterday I was telling a friend (who had previously exhorted me
to find folks on the net more appropriate than sci.crypt to discuss
crypto schemes with) about discovering cypherpunks, and on our way out he
noticed this Metro issue, commenting "Zeitgeist." Quite. :-)

It quotes Tim, btw:
	You can get further away in cyberspace than you could in going
	to Alpha Centauri", says Tim May, and he should know. Before he
	retired seven years agao, a wealthy man at age 34, May was a
	reasonably illustrious corporate physicist. Now he's a Cypherpunk,
	part of a loose-knit band of scrappy, libertarian-leaning computer
	jockeys who have dedicated themselves to perfecting and promoting
	the art of disappearing into the virtual hinterlands. Concentrated
	in Silicon Valley but spread out across the country and as far
	away as Finland, the Cypherpunks maintain daily e-mail contact,
	collaboratively creating and distributing practical software answers
	to modern cryptography's central question: How to wrap a piece
	of digital information in mathematical complexity so dense that
	only literally astronomical expenditures of computer time can breach
	it?

	 "But what they really are is they're things which in
	computability space take more energy to get to than to drive a car
	to Andromeda. I'm not kidding. I mean, you can work the math out
	yourself."

	Well, no, you probably can't, but even those unversed in rocket
	science can appreciate the social value of such calculations...

And Eric:

	"Cryptography is a greater equalizer than the Colt .45," says Eric
	Hughes, the long-haired, cowboy-hatted and not entirely lapsed
	Mormon who, along with May, conceived the Cypherpunks just seven
	months before the Clipper hit the fan. "These are power-leveling
	techniques," he adds, pointing out that the hermetically sealed
	voice-and-data channels that could arm every citizen against state
	wire-surveillance are just the simplest of the crypto toys the
	Cypherpunks are playing with.

Nicely provocative article.
	Doug
--
Doug Merritt<EMAIL_ADDRESS>Professional Wild-eyed Visionary	Member, Crusaders for a Better Tomorrow

Unicode Novis Cypherpunks Gutenberg Wavelets Conlang Logli Alife HC_III
Computational linguistics Fundamental physics Cogsci SF GA VR CASE TLAs

{% endraw %}
```

## Thread

+ Return to [September 1993](/archive/1993/09)

+ Return to<EMAIL_ADDRESS>(Doug Merritt)](/authors/doug_at_netcom5_netcom_com_doug_merritt_)"

+ 1993-09-10 (Fri, 10 Sep 93 08:22:46 PDT) - Re: "Code Warriors" Article in "Metro" Newspaper -<EMAIL_ADDRESS>(Doug Merritt)_

gha_license_id: MIT


text:
## IL2CPPDumper
Dump Lib libil2cpp.so from Memory of Game Process and Generate structure dump.cs

## Features
- No need of Ptrace
- Support Only arm-v7a 32bit Games
- Dumping of Lib from Memory of Game
- Fix and Regenerate Elf File
- Support Only IL2CPP Metadata v24 for Dumping Structure
- Dumping of Internal Game Structure as .cs file(Need to Find Pointers Manually)
- Support Both Fast & Slow Dumping

## How to use
- You can Use latest precompiled Binaries from [HERE](https://github.com/kp7742/IL2CPPDumper/tree/master/libs/) or You Can build your Own.
- Needs Root Access or Virtual Space
- Get Root Shell through Adb or Terminal Apps(type: 'su') or Normal Shell into Virtual Space via Terminal Apps
- For Usage Help: il2cppdumper -h
- For General Usage: il2cppdumper <option(s)>
	```
	 ./il2cppdumper -h

	 IL2CPPDumper v0.4 <==> Made By KMODs(kp7742)
	 Usage: il2cppdumper <option(s)>
	 Dump Lib libil2cpp.so from Memory of Game Process and Generate structure dump.cs
	 @@Unity il2cpp v24 Supported Only@@
	  Options:
	 --Lib Args--------------------------------------------------------------
	   -l --lib                              Dump libil2cpp.so from Memory
	   -p --package <packageName>            Package Name of Game
	   -r --raw(Optional)                    Output Raw Lib and Not Rebuild It
	   -f --fast(Optional)                   Enable Fast Dumping
	 										(May Miss Some Bytes in Dump)
	 --Script Args-----------------------------------------------------------
	   -s --script                           Generate structure dump.cs
	   -p --package <packageName>            Package Name of Game
	   -g --global  <address>                GlobalMetaData Address
	   -m --meta    <address>                MetadataRegistration Address
	   -c --code    <address>                CodeRegistration Address
	 --Other Args------------------------------------------------------------
	   -o --output <outputPath>              File Output path
	   -h --help                             Display this information
	```
	```
	$ adb root # might be required
	$ adb push IL2CPPDumper /data/local/tmp/
	adb push F:\git\IL2CPPSODumper\libs\armeabi-v7a\il2cppdumper /data/local/tmp/
	$ adb shell "chmod 755 /data/local/tmp/IL2CPPDumper"
	adb shell
	su
	chmod 755 /data/local/tmp/IL2CPPDumper
	/data/local/tmp/IL2CPPDumper -l -p com.digitalsky.girlsfrontline.cn.bili -o /sdcard
	/data/local/tmp/IL2CPPDumper -l -r -p com.sunborn.neuralcloud.cn.bilibili -o /sdcard

	adb pull /sdcard/libil2cpp.so

	/data/local/tmp/IL2CPPDumper  -l -p com.bilibili.zzzj.bili  -r -o /sdcard
	/data/local/tmp/IL2CPPDumper  -l -p com.sunborn.neuralcloud.cn.bilibili  -o /sdcard
	```
	frida
	```
	adb push F:\git\IL2CPPSODumper\libs\armeabi-v7a\frida-server-15.1.3-android-arm /data/local/tmp/

		adb shell
	su
	chmod 755 /data/local/tmp/frida-server-15.1.3-android-arm

	adb push F:\git\IL2CPPSODumper\libs\armeabi-v7a\frida-server-15.1.3-android-arm /data/local/tmp/
	adb shell
	su
	chmod 755 /data/local/tmp/frida-server-15.1.3-android-arm
	/data/local/tmp/frida-server-15.1.3-android-arm &
	```
## How to Build
- Clone this repo
- Install Android NDK, if not already.
- Open Shell/CMD in Project Folder
- Drag ndk-build of NDK in Shell or CMD an then Execute
- Output will be in libs Folder.

## Credits
- [SoFixer](https://github.com/F8LEFT/SoFixer): So(Elf) Rebuilding
- [Il2CppDumper-Perfare](https://github.com/Perfare/Il2CppDumper): CS Dumping Code

## Technlogy Communication
> Email<EMAIL_ADDRESS>


text:
# Calibrated!

This is a middleware for django which gives same structure in django success and error case.

When frontend softwares integrate apis, then they expect response structure should remain same in case of both error and success. By adding this middleware onne can achive sam structure through out.

{
	"status":  false,
	"detail":  {},
	"error_detail":  {
}
}

The above payload is the structure which one can recive by applying the package to django appliaction.

> Description to payload

 - status field can be true or false in success and error case respectively
 - detail field will always be in form of dict and will hold value only in case of success(2xx)
 - error_detail will have detail in cases excluding (2xx)

# Steps to install

This is quite easy to use

pip install calibrated

After installing pip package, go to you django settings and add middeware

calibrated.Response


text:
## Co-Working Freelance Project
---

#### Nelia Terrazas
#### March 4th, 2019

### Description

A website showcasing a new co-working startup space. This site is meant to showcase this company's unique and exciting work environment. Here are the client's exact words for what they would like for their final product:

* "We just finished remodeling our space. We're really proud of it. We want our online presence to mirror our in-person presence, to attract people that would really enjoy working in our environment."
* "We want our space--no, our whole company--to feel a little luxurious, cool, and high-end; yet still 100% welcoming and inclusive to everyone. A safe, comfortable, and productive work environment, you know?"
* "I also think it's really important convey our unique personality. It's what sets us apart from the 'big guys' in the field. You know, places like WeWork and TechSpace. We think we're more funky, more local, less corporate, and a little more fun."
* "We want to avoid catering solely to tech. You walk into some of these other coworking spaces, and you only ever see people working on code. That's great, but we'd also love to see artists, daytraders, craftspeople, writers, counselors, more traditional business people--you know, anyone and everyone--in our space."
* "Our site should also show what amenities we have. We have an on-site coffee counter, both communal working areas and private offices, high-speed internet, printing and faxing services, and we usually have a fun, optional activity on Thursday afternoons. Like yoga, maybe a fun complementary food, or like...I don't know, maybe even crafts sometimes (come make your own mini desktop terrarium)?"

#### Desktop Version:

![desktop user interface](src/assets/images/desktop-drawing.jpg)
![desktop user interface](src/assets/images/how-to-join-desktop-drawing.jpg)

#### Tablet version:

![tablet user interface](src/assets/images/tablet-drawing.jpg)

![tablet user interface](src/assets/images/amenities-tablet-drawing.jpg)

#### Mobile Version:

![mobile user interface](src/assets/images/mobile-drawing.jpg)

### Images:

Sketch Wireframes

![mobile user interface](src/assets/images/mobile-wireframe.png)
![tablet user interface](src/assets/images/tablet-wireframe.png)
![desktop user interface](src/assets/images/desktop-wireframe.png)

### User Personas
|   | Madison  |   Charlie    | Allesandra  |
|---|---|---|---|
| Needs  | A roaster at Stumptown Coffee who is also interested in Marketing  | A young but established software engineer looking for a more inspiring workspace that still has everything he needs to continue to further his career on his own terms  | A fine artist who has recently began to sell her artwork. |
| Pain Points | Hard to navigate, not intuitive  | Trying too hard to be unique, not looking professional  | Lack of originality  |
|How to Serve| Create a site that is different from the rest. Especially in a city like Portland, where there are always new coffee spots opening up, it's important to stand out as the best.  |  No bugs = no problem. Profressional looking site that makes Charlie feel like the young professional that he is and is taken more seriously by potential employers. |  Sleek design that reflects personaily and makes an artist happy and inspired to work. |

### User Stories

* As a craftsperson and specialty coffee roaster, I want a clean, easy to use interface he can explore all possible features of this new workspace.
* As someone interest in Marketing and expanding my business, I want a site that will stand out from the rest and reflect well on my craft.
* As a software developer, I want an exciting site, without bugs, that inspires my creativity so that I can be constantly motivated to continue producing fresh content.
* As a person in tech, I am looking for complete functionality and a reflection of professionalism in the site.
* As a fine artist, I want a site that reflects on my passion and eye for beauty, so that potential clients can tell that I am fully invested in my art, start-to-finish.

### Research, Inspiration, and Brainstorm

For my inspiration, I looked at coworking spaces and coffee shops around Portland. After looking at a lot of sites that seemed to fit with the look and feel that the client was trying to convey. With attention to images, margins, font, fluidity, color choices, and use of logos, I developed an idea for the overall look of the client's site.

### Technologies and Resources

* Sketch
* HTML
* CSS
* Sass

### Responsiveness

Webpages will readjust nav bar display, image size, and main container layout as the viewport changes sizes. There are 3 main viewports in mind: mobile, tablet and desktop.

### Setup Instructions

* Download this repository at https://github.com/neliaterrazas/freelance-project.git
* $ npm install in the terminal to retrieve node_modules folder
* $ npm run build in the terminal to retrieve dist folder
* Open in your favorite text editor to see said folders
* $ npm run start to open a new tab with the live site/ compile code.

### Roadmap
I would like to continue building out the amenities and how to join pages for all versions, as all of my 4 remaining hours was spent on styling and building out the index page as planned out on my wireframe. The amenities page is where I plan to use grid to my full advantage, especially with media queries, to integrate all the icons I made on Sketch.

### License

MIT License

Copyright (c) 2019 **_Nelia Terrazas_**

repository: neliaterrazas/freelance-project

repo_name: neliaterrazas/freelance-project


text:
---
layout: default
---

# 1997-09-28 - Re: Memo From Washington Gestapo Tyranny

## Header Data

From<EMAIL_ADDRESS>To: "Igor Chudov @ home"<EMAIL_ADDRESS>Message Hash: a9485df0e553d82c088a5850d6b69fe958515dab9c54dcf21bcf09e8015cac65

Message ID<EMAIL_ADDRESS>Reply To<EMAIL_ADDRESS>UTC Datetime: 1997-09-28 17:52:54 UTC

Raw Date: Mon, 29 Sep 1997 01:52:54 +0800

## Raw message

```
{% raw  %}From<EMAIL_ADDRESS>Date: Mon, 29 Sep 1997 01:52:54 +0800
To: "Igor Chudov @ home"<EMAIL_ADDRESS>Subject: Re: Memo From Washington Gestapo Tyranny
In-Reply-To<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

Congratulations Cypherpunks!!!

  From: "Igor Chudov @ home"<EMAIL_ADDRESS>
> Wow, Assassination politics (as Anonymous claims)  made its way into the
> anti-terrorism manuals...
>
> igor
=snip=

> >*    using the  Internet  to  promote  extremist  ideas  such  as
> >     "Assassination Politics"  or predicting the date of death of
> >     a law  enforcement officer  or government  official to win a
> >     cash price.

Most excellent. Now, all we need to really put some fear in them and make
them clamp down so hard it will be noticable to the average sheeple, is an
actual prediction and collection. For that, of course, we need genuinely
anonymous digital cash.

> >Tell-tale signs of Patriot extremists can often be found in their
> >conversation  or   written  documents.    Common  indicators  are
> >biblical passages,  referring  to  the  state  as  a  "republic",
> >calling zip codes a "postal zone", refusing to acknowledge direct
> >questions, separating their middle and last names with a comma or
> >colon, placing  a thumb  print on  a document, claiming the court
> >has no  authority, or  using the  phrases:   all rights reserved,
> >without prejudice,  UCC 1-207,  pro se, sui juris, united states,
> >Black's law.

I guess the founders of this nation were also "Patriot extremists"!

Quoting the U.S. Constitution, Article IV ...

	"Section 4. The United States shall guarantee to every state in
	this union a republican form of government, and shall protect
	each of them against invasion; and on application of the
	legislature, or of the executive (when the legislature cannot be
	convened) against domestic violence. "

Those words are supposedly the law of the land. The only thing "guaranteed"
by the constitution is "a republican form of government". I suppose quoting
the constitution also marks one as a "Patriot extremist".

I certainly hope so!

> >Analysis and Trends
> >
> >These anti-government  extremists and  supporters  are  convinced
> >citizens  are  being  systematically  oppressed  by  an  illegal,
> >totalitarian government.   They  believe the time for traditional
> >political reform  has passed,  that their  freedom will  only  be
> >secured  by  resistance  to  the  law  and  attacks  against  the
> >government in several forms.

Well, they have this part right.

> >Members of these groups bond to one another and lose contact with
> >other people who hold different opinions.  The isolation works to
> >reinforce their  views, which  in turn  gives them  new  purpose.
> >This new purpose may take ordinary ideas to extremes, rationalize
> >their problems  into blaming  government, and  cause  members  to
> >compete with each other to make stronger statements.

How can someone remain isolated these days? With television and radio
everywhere you look, and the mass media constantly telling how great
everything is?

> >Trend and Incident Reporting
> >
> >If  you   become  victimized  by  paper  terrorism,  contact  the
> >Washington State  Patrol Organized  Crime  Intelligence  Unit  at
> >(360) 753-3277,  extension 121.   All  acts reaching  a  criminal
> >level should  be referred to your local law enforcement agency or
> >prosecutor's office.

Most excellent... I suggest we call this office and report paper terrorism
on the part of the IRS!

---------------End of Original Message-----------------

------------------------
Name: amp
E-mail<EMAIL_ADDRESS>Date: 09/28/97
Time: 12:06:31
Visit me at http://www.pobox.com/~amp
==
     -export-a-crypto-system-sig -RSA-3-lines-PERL
#!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj
$/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1
lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/)
==

'Drug Trafficking Offense' is the root passphrase to the Constitution.

Have you seen
http://www.public-action.com/SkyWriter/WacoMuseum
------------------------

{% endraw %}
```

## Thread

+ Return to [September 1997](/archive/1997/09)
+ Return to [October 1997](/archive/1997/10)

+ Return to "["A. B. Terroroist" <at@dev.null>](/authors/a_b_terroroist_at_at_dev_null_)"
+ Return to "[amp@pobox.com](/authors/amp_at_pobox_com)"
+ Return to "["Attila T. Hun" <attila@hun.org>](/authors/attila_t_hun_attila_at_hun_org_)"
+ Return to "[Brad Dolan <bdolan@USIT.NET>](/authors/brad_dolan_bdolan_at_usit_net_)"
+ Return to<EMAIL_ADDRESS>(Dr.Dimitri Vulis KOTM)](/authors/dlv_at_bwalk_dm_com_dr_dimitri_vulis_kotm_)"
+ Return to "["Igor Chudov @ home" <ichudov@Algebra.COM>](/authors/igor_chudov__at__home_ichudov_at_algebra_com_)"
+ Return to "[Tim May <tcmay@got.net>](/authors/tim_may_tcmay_at_got_net_)"

+ _Unknown thread root_
  + 1997-09-28 (Mon, 29 Sep 1997 00:05:59 +0800) - [Re: Memo From Washington Gestapo Tyranny](/archive/1997/09/f2c519e6378b3e7324c7f968c2ea1c0e36e22b1c534066d3102d5743383f35cb) - _"Igor Chudov @ home"<EMAIL_ADDRESS>    + 1997-09-28 (Mon, 29 Sep 1997 01:52:54 +0800) - Re: Memo From Washington Gestapo Tyranny -<EMAIL_ADDRESS>    + 1997-09-28 (Mon, 29 Sep 1997 02:05:10 +0800) - [horseman alert](/archive/1997/09/c773901150ce19cdb12a1a64375c4f932cc426c91d690111c3d7160eeafad11b) - _Brad Dolan<EMAIL_ADDRESS>    + 1997-09-28 (Mon, 29 Sep 1997 03:42:54 +0800) - [PGP Being Used to Fight the Zionist Occupation Government](/archive/1997/09/4f6e146e1c2e5dd874551dedf6a6440de00176f91ba850c000b45d74a237b8ac) - _Tim May<EMAIL_ADDRESS>      + 1997-10-01 (Wed, 1 Oct 1997 13:59:40 +0800) - [Call to arms against F[reeh,uck] [was] PGP and Hamas v. ZOG](/archive/1997/10/d30fa531e09760a368609ce8e1b78c4db3694a3a721e76444457beac688f486e) - _"Attila T. Hun"<EMAIL_ADDRESS>    + 1997-09-29 (Mon, 29 Sep 1997 10:42:50 +0800) - [Re: Memo From Washington Gestapo Tyranny](/archive/1997/09/329f0007362c422041ae461d61274c80798a8a4045049b093d9e821677f1952d) - _"A. B. Terroroist"<EMAIL_ADDRESS>      + 1997-09-29 (Mon, 29 Sep 1997 12:20:04 +0800) - [Re: Memo From Washington Gestapo Tyranny](/archive/1997/09/efeee9d9294ef96a77a9c4cefbe7476184252fbeb02a1d41ad648cb889386eed) -<EMAIL_ADDRESS>(Dr.Dimitri Vulis KOTM)_


text:
# Pedestrian Detection - Keypoint Descriptors

Implementation of Cameron Schaeffer's image classifier, with an emphasis on comparing Keypoint Classifiers (*A Comparison of Keypoint Descriptors in the Context of Pedestrian Detection: FREAK vs. SURF vs. BRISK*, Cameron Schaeffer).

**Source :** Stanford CS229 2012 project, *A Comparison of Keypoint Descriptors in the Context of Pedestrian Detection: FREAK vs. SURF vs. BRISK*, Cameron Schaeffer [->](http://cs229.stanford.edu/proj2012/Schaeffer-ComparisonOfKeypointDescriptorsInTheContextOfPedestrianDetection.pdf)

*Computer Vision, Keypoint Detection & Description, SURF, FREAK, BRISK*

![](figures/method.dot.png?raw=true)

### Requirements

- CMake
- OpenCV 3.1

repository: co-sty/cameron

repo_name: co-sty/cameron


text:
## Binary Clock

<img src='binaryclock.png' width='700'>

A binary clock which shows time in binary.

This project is created based on the tutorial from https://fireship.io/lessons/build-a-binary-clock-flutter.

## Getting Started

This project is a starting point for a Flutter application.

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

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

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


text:
# Faunus Lab

This is a lab for getting started with the simulation package [Faunus](https://faunus.readthedocs.io).

## Getting started

1. Install [Docker Desktop](https://www.docker.com/products/docker-desktop) (Mac, Windows, Linux, ...)
2. Start Docker
3. In a terminal, run `docker run -it -p 8888:8888 mikaellund/faunus:latest_x86`
   Omit `_x86` if using a newer mac with "Apple silicon", _i.e._ with an M1 ARM processor.
4. Copy the generated link, _e.g._ `http://<IP_ADDRESS>:8888...`, into a web-browser.
   This loads a _Jupyter Notebook_ environment - here's
   [one of many](https://www.youtube.com/watch?v=jZ952vChhuI) introductory videos for how to use it.

### Expert mode (not recommended)
If you are more adventurous, you may also install Jupyter Notebook and Faunus
on your local system by the following commands, assuming you have anaconda or miniconda installed:

~~~ bash
git clone https://github.com/mlund/chemistry-notebooks
cd chemistry-notebooks
conda env create -f environment.yml
source activate LUchem
jupyter-lab
~~~

## Topics

Pair up or work individually.
You are free to pick a system of interest from e.g. the
[faunus example folder](https://github.com/mlund/faunus/tree/master/examples) or of your own choice.
But I also have some suggestions:

- The water example (isobaric ensemble, density, effect of dipolar strength, freezing?).
  [Initial Notebook exists](https://github.com/mlund/chemistry-notebooks/tree/master/liquid-monte-carlo) 🥕
- Interactions between patchy particles (potential of mean force, dipole alignment, scattering)
  [Initiual Notebook exists](https://github.com/mlund/chemistry-notebooks/tree/master/patchy-particle-interactions) 🥕
- A flexible polymer (collapse, radius of gyration, electrostatics)
  [Example input](https://github.com/mlund/faunus/blob/master/examples/polymers/polymers.yml) 🥕🥕
- Alchemical reactions (proton titration in bio-molecules and grand canonical ensembles)
  [Example input](https://github.com/mlund/faunus/blob/master/examples/fasta-titration.yml) 🥕🥕

*You* decide what to investigate, but please consult with a teacher what you plan to do.
More carrots mean more difficult, but mostly because no initial notebook exists.

## Coverage

Run simulations and report your findings in a Jupyter Notebook; here are some guidelines for what to include:
- [ ] Introduction
      Description of the studied system and what and how you plan to investigate it. Also include a snapshot or configuration from the simulation.
- [ ] Methodology
      Description and motivation of the energy function used, _i.e._ model.
      Description and motivation of the Monte Carlo moves used, i.e. sampling technique
- [ ] Results and discussion.
      Analysis of displacement parameters, acceptance, and convergence using e.g. the
      system energy as a function of steps. Discussion of results incl. plots.

## Self Check

Can you explain the following simulation jargon?

- [ ] move acceptance
- [ ] trial energy
- [ ] displacement parameter
- [ ] convergence
- [ ] equilibration run
- [ ] production run
- [ ] sampling
- [ ] steps
- [ ] trial move
- [ ] random number seed
- [ ] restart file
- [ ] trajectory

repository: mlund/chemistry-notebooks

repo_name: mlund/chemistry-notebooks


text:
# INDEC

> Google Spreadsheet to JSON.

## Usage
```js
import indec from 'indec';

indec('0AjAPaAU9MeLFdHUxTlJiVVRYNGRJQnRmSnQwTlpoUXc', (error, data) => console.log(data));
```

## Getting the spreadsheet key:

- In Google Drive, go to the File menu and pick Publish to the web, then click Start publishing. A URL will appear, something like https://docs.google.com/spreadsheet/pub?hl=en_US&hl=en_US&key=0AmYzu_s7QHsmdDNZUzRlYldnWTZCLXdrMXlYQzVxSFE&output=html
- The `key` is the part of the url after `key=` and before the next `&`. You'll feed `Indec` with that spreadsheet key.

## API

### Indec#(key, callback)
Fetch data from the google drive spreadsheet given by the key and return as JSON.
- `event` - The name of the event you want to add.
- `listener` - Listener you want to add from given event.

```js
indec('0AjAPaAU9MeLFdHUxTlJiVVRYNGRJQnRmSnQwTlpoUXc', (error, data) => console.log(data));
```

## Installation
```
$ npm install indec
```

## License
MIT license

## Credits

[Tabletop](https://github.com/jsoma/tabletop), because this module is just a simplification for Tabletop.

repository: impronunciable/indec

repo_name: impronunciable/indec


text:
---
layout: post
title: Updating Git on Centos 6/7
tags:
  - sysops
  - linux
  - centos
categories:
  - tech
  - sysops
date: 2017-05-22T00:00:00.000Z
thumbnail: null
published: true
---

So, I had to update git on a couple of Centos machines last week, and I ran into what appears to be a very common problem: Centos only has old versions of stuff in its repos. Subsequently, I had to figure out how to get the latest, and preferably from a yum repo, rather than installing it manually. Cue repo connection issues.
{: itemprop="description" }

## The Story

When working behind a corporate proxy, a number of things can go awry without any good indication of what is _actually_ wrong. Installing the needed repos gave me no issues on one server (centos 6), but threw a fit trying to connect on another. The reason? SSL validation failure. The solution? Depends on how much you want to compromise your system.

 Another suggested updating the ca-certs package, but that still won't work if you had the same issue I did: Self-signed root CA certificates with an intercepting proxy.

## The Method

The quick guide to installing the latest git on Centos is fairly straightforward:

{% highlight shell %}

	# Update certs package:
	yum update ca-certificates curl nss

	# Install Company CA Certificate:
	update-ca-trust force-enable
	cp ${certfile} /etc/pki/ca-trust/source/anchors/
	update-ca-trust extract

	# Install IUS repo:
	rpm -i https://centos${version}.iuscommunity.org/ius-release.rpm || {

		# If there's trouble installing the epel releases repo:
		rpm -i https://dl.fedoraproject.org/pub/epel/epel-release-latest-${version}.noarch.rpm

		# Then just repeat the ius install.
		rpm -i https://centos${version}.iuscommunity.org/ius-release.rpm

	}

	# Update yum cache and install git:
	yum makecache fast
	yum install git2u -y || {

		# If there's trouble installing the git package:
		yum clean all

		# Then just repeat the install.
		yum makecache fast
		yum install git2u -y

	}

	# You may need to log-out and log-in again to get the shell to refresh your git
	#     version, but after that, everything should be working just fine.

{% endhighlight %}

## The Conclusion

Thankfully, you'll only need to ever do the first part once. Steps 4-5 may be necessary for other packages however. It's a pain that it doesn't tell you that the issue is an SSL cert trust failure, but googling the error turns up plenty of help. Hopefully this one will get some notice.

## Update!

Apparently, something has happened recently that caused even this method to not work properly. After some grey hairs and crying, I figured-out that the `nss` package needed updating as well as `curl`. Once that was complete, everything worked fine again. I've updated the script accordingly.

branch_name: HEAD


text:
---
title: How to Alias Git Checkout to Git Co and other Commands
date: "2020-04-08"
---

Ever since the original [Rails Tutorial](https://www.railstutorial.org/) we've needed `git checkout` to be aliased as `git co`. We run that command so often the saved keystrokes probably save a significant amount of time each year.

[Here's how we do it in 2020](https://stackoverflow.com/a/14489111/2628223). Simply add an alias to `~/.gitconfig` like so:

```bash
[alias]
    co = checkout
```

In the process we also found [a neat tutorial for all kinds of aliases](https://jonsuh.com/blog/git-command-line-shortcuts/) that you could set up in `~/.bashrc` or `~/.zshrc`. We added:

```bash
alias gaa='git add .'
alias gcm='git commit --message'
```

... since those are our two most common commands. We didn't add any other aliases since we don't like adding complexity to rarely used tasks.

Also, as one last pro-tip [here is a great post on zshrc / bashrc, etc. loading orders](https://medium.com/@rajsek/zsh-bash-startup-files-loading-order-bashrc-zshrc-etc-e30045652f2e). This is useful if you've ever found your changes don't seem to work... and remember:

```bash
source ~/.zshrc
```

repository: jdraths/scrapes

gha_language: HTML

repo_name: jdraths/scrapes


text:
# webpack-babel-boilerplate

My webpack-babel-boilerplate

## Installation

Download or git clone [source code](https://github.com/prog83/ciklum-internship).

Use the package manager [npm](https://www.npmjs.com/get-npm) to install.

```bash
npm i
```

## Usage

Usage

### Development

```bash
npm run dev
```

Ready on http://localhost:9000

### Production

```bash
npm run build
npm run start
```

Ready on http://localhost

## Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

## License

[MIT](https://choosealicense.com/licenses/mit/)

gha_language: JavaScript


text:
# TulOS
Scripts and dot files for configuring Arch Linux to my liking.

## Prerequisites

 * `sudo`
 * `wget`
 * `ca-certificates-utils`
need to be available in the system.

## Installation

`sh -c "$(wget https://raw.githubusercontent.com/tulustul/TulOS/master/bootstrap.sh -O -)"`

repository: tulustul/TulOS

repo_name: tulustul/TulOS


text:
timed-queue
====
Distributed timed job queue, backed by redis.

[![NPM version][npm-image]][npm-url]
[![Build Status][travis-image]][travis-url]

![timed-queue](https://raw.githubusercontent.com/teambition/timed-queue/master/docs/timed-queue.jpg)

## Demo

```js
var TimedQueue = require('timed-queue')
var timedQueue = new TimedQueue({prefix: 'TQ1', interval: 1000 * 60})

timedQueue.connect([7000, 7001, 7002])
  .on('error', function (error) {
    console.error(error)
  })

var eventQueue = timedQueue.queue('event')
eventQueue.on('job', function (job) {
  // ... just do some thing
  eventQueue.ackjob(job.job)()
})

// ...
eventQueue.addjob(eventObj.id, new Date(eventObj.startDate).getTime() - 10 * 60 * 1000)(function (err, res) {
  console.log(err, res)
})
```

## Installation

```bash
npm install timed-queue
```

## API

```js
var TimedQueue = require('timed-queue')
```

### new TimedQueue([options]) => `timedQueue` object

Return a `timedQueue` client. It is an EventEmitter instance.

- `options.prefix`: {String} Redis key's prefix, or namespace. Default to `"TIMEDQ"`
- `options.count`: {Number} The maximum job count for queue's `getjobs` method. Default to `64`
- `options.interval`: {Number} Interval time for scanning. Default to `1000 * 120` ms
- `options.retry`: {Number} Retry time for a job. A job that has been actived but has not been ACK in `retry` time will be actived again. Default to `interval / 2` ms
- `options.expire`: {Number} Expiration time for a job. A job that has been actived and has not been ACK in `expire` time will be removed from the queue. Default to `interval * 5` ms
- `options.accuracy`: {Number} Scanning accuracy. Default to `interval / 5`
- `options.autoScan`: {Boolean} The flag to enable or disable automatic scan. Default to `true`. It can be set to `false` if automatic scan is not desired. Default to `true`

```js
var timedQueue = new TimedQueue()
```

### TimedQueue.prototype.connect([host, options]) => `this`

Connect to redis. Arguments are the same as [thunk-redis](https://github.com/thunks/thunk-redis)'s `createClient`

```js
timedQueue.connect()
```

### TimedQueue.prototype.queue(queue[, options]) => `Queue` instance

Return a `queue` object if one exists. Otherwise it creates a `queue` object and return it. It is a EventEmitter instance.

- `queue`: {String} The queue's name
- `options.count`: {Number} The maximum job count for queue's `getjobs` method. Default to timedQueue's `count`
- `options.retry`: {Number} Retry time for a job. A job that has been actived and has not been ACK in `retry` time will be actived again. Default to timedQueue's `retry`
- `options.expire`: {Number} Expiration time for job. A job that has been actived and has not been ACK in `expire` time will be removed from the queue. Default to timedQueue's `expire`
- `options.accuracy`: {Number} Scanning accuracy, Default to timedQueue's `accuracy`

```js
var eventQueue = timedQueue.queue('event', {retry: 1000, expire: 5000})
```

### TimedQueue.prototype.destroyQueue(queue[, options]) => `this`

Remove the queue. It deletes all data in the queue from redis.

### TimedQueue.prototype.scan() => `this`

Start scanning. It automatically starts after `connect` method is called unless `autoScan` is set to `false`.

### TimedQueue.prototype.stop() => `this`

Stop scanning.

### TimedQueue.prototype.close() => `this`

Close the `timedQueue`. It closes redis client of the `timedQueue` accordingly.

### TimedQueue.prototype.regulateFreq(factor) => `this`

It is used to regulate the automatic scanning frequency.

### Queue.prototype.init([options]) => `this`

- `options.count`: {Number} The maximum job count for queue's `getjobs` method. Default to timedQueue's `count`
- `options.retry`: {Number} Retry time for a job. A job that has been actived and has not been ACK in `retry` time will be actived again. Default to timedQueue's `retry`
- `options.expire`: {Number} Expire time for a job. A job that has been actived and has not been ACK in `expire` time will be removed from queue. Default to timedQueue's `expire`
- `options.accuracy`: {Number} Scanning accuracy. Default to timedQueue's `accuracy`

### Queue.prototype.addjob(job, timing[, job, timing, ...]) => `thunk` function

Add one or more jobs to the queue. It can be used to update the job's timing.

- `job`: {String} The job's name
- `timing`: {Number} The time in millisecond before the job is actived. It should greater than `Date.now()`

```js
eventQueue.addjob('52b3b5f49c2238313600015d',<PHONE_NUMBER>409)(function (err, res) {
  console.log(err, res)
  // null, 1
})
```

### Queue.prototype.show(job) => `thunk` function

Show the job info.

- `job`: {String} job

```js
eventQueue.show('52b3b5f49c2238313600015d')(function (err, res) {
  console.log(err, res)
  // {
  //   queue: 'event',
  //   job: '52b3b5f49c2238313600015d',
  //   timing:<PHONE_NUMBER>409
  //   active: 0,
  //   retryCount: 0
  // }
})
```

### Queue.prototype.deljob(job[, job, ...]) => `thunk` function

Delete one or more jobs.

- `job`: {String} job

```js
eventQueue.deljob('52b3b5f49c2238313600015d')(function (err, res) {
  console.log(err, res) // null, 1
})
```

### Queue.prototype.getjobs([scanActive]) => `thunk` function

It is called by `Queue.prototype.scan`. It should not be called explicitly.

### Queue.prototype.ackjob(job) => `thunk` function

ACK the job.

- `job`: {String} job

```js
eventQueue.ackjob('52b3b5f49c2238313600015d')(function (err, res) {
  console.log(err, res) // null, 1
})
```

### Queue.prototype.scan() => `thunk` function

It is called by `TimedQueue.prototype.scan`. It should not be called explicitly.

### Queue.prototype.len() => `thunk` function

Return the queue' length.

```js
eventQueue.len()(function (err, res) {
  console.log(err, res) // null, 3
})
```

### Queue.prototype.showActive() => `thunk` function

Return actived jobs in the queue.

```js
eventQueue.showActive()(function (err, res) {
  console.log(err, res) // null, [jobs...]
})
```

### Events

#### timedQueue.on('connect', function () {})
#### timedQueue.on('error', function (error) {})
#### timedQueue.on('close', function () {})
#### timedQueue.on('scanStart', function (queuesLength) {})
#### timedQueue.on('scanEnd', function (queuesLength, timeConsuming) {})

#### queue.on('job', function (job) {})

[npm-url]: https://npmjs.org/package/timed-queue
[npm-image]: http://img.shields.io/npm/v/timed-queue.svg

[travis-url]: https://travis-ci.org/teambition/timed-queue
[travis-image]: http://img.shields.io/travis/teambition/timed-queue.svg

repository: monkerek/timed-queue

repo_name: monkerek/timed-queue


text:
# Quick Start

## Introduction

Sedna provide some examples of running Sedna jobs in [here](/examples/README.md)

Here is a general guide to quick start an incremental learning job.

### Get Sedna

You can find the latest Sedna release [here](https://github.com/kubeedge/sedna/releases).

### Deploying Sedna

Please refer to this [link](setup/install.md).

### Prepare

todo

### Configure

todo

### Run

todo

### Monitor

todo

## API

- CRD: Please refer to this [link](api/crd).
- Lib: Please refer to this [link](api/lib).

## Contributing

Contributions are very welcome! You can see our [CONTRIBUTING](CONTRIBUTING.md) for more information.

## Community

Sedna is an open source project and in the spirit of openness and freedom, we welcome new contributors to join us.
You can get in touch with the community according to the ways:
* [Github Issues](https://github.com/kubeedge/sedna/issues)
* [Regular Community Meeting](https://zoom.us/j/4167237304)
* [slack channel](https://app.slack.com/client/TDZ5TGXQW/C01EG84REVB/details)

repository: Bartzi/sedna

branch_name: refs/heads/main

repo_name: Bartzi/sedna


text:
# Alpine Linux Angular Docker Image
A trivial Dockerfile which installs all basic [Angular](https://angular.io/) dependencies onto a vanilla [Alpine Linux](https://alpinelinux.org/) Docker image. Can be used for Angular development without needing to install the Angular libraries and dependencies (e.g. `node`, `npm` etc) onto your local machine.

## Getting Started

### Prerequisites
* Local [Docker](https://www.docker.com/) installation

### Install
To build this Docker image, simply run the command below, substituting the tag name with one of your choice (if required).

```
docker build . -t nextmetaphor/dockerized-alpine-angular
```

## Deployment
To execute a shell on the created image, simply run the command below.
```
$ docker run -v $(pwd)/src:/var/opt/angular -p 4200:4200 -w /var/opt/angular -it nextmetaphor/dockerized-alpine-angular sh
```

This will:

* mount `$(pwd)/src` on the host machine to `/var/opt/angular` on the Docker container.
*Ensure that the `src` directory directory exists within the current directory on the local machine - this will be where the Angular project will reside.*
* publish port `4200` on the container to port `4200` on the host machine; we will use this to access the Angular application using a browser on [http://localhost:4200/](http://localhost:4200/)
* set the working directory on the container to `/var/opt/angular`
* execute a `sh` shell. The container will die when this shell process is ended.

## Validation
To test that the Angular Docker image has been created successfully, we can create a new sample app in the default working directory of the container, serve the site and verify from a browser.

First, create a sample app called `sample-app` by executing the command `ng new sample-app --skip-git` from the (current) `/var/opt/angular` directory within the container shell process:
```
/var/opt/angular # ng new sample-app
? Would you like to add Angular routing? No
? Which stylesheet format would you like to use?  *(Note that the `--host <IP_ADDRESS>` parameter is important: without this, the site will be served on `localhost` which will not be accessible outside of the Docker container).*
```
/var/opt/angular/sample-app # ng serve --host <IP_ADDRESS>

** NG Live Development Server is listening on <IP_ADDRESS>:4200, open your browser on http://localhost:4200 **
Hash: 0fd4e4806d63a19e34a4
Time: 13400ms
chunk    {0} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 158 kB {4} [initial] [rendered]
chunk    {1} main.bundle.js, main.bundle.js.map (main) 3.63 kB {3} [initial] [rendered]
chunk    {2} styles.bundle.js, styles.bundle.js.map (styles) 10.5 kB {4} [initial] [rendered]
chunk    {3} vendor.bundle.js, vendor.bundle.js.map (vendor) 2.4 MB [initial] [rendered]
chunk    {4} inline.bundle.js, inline.bundle.js.map (inline) 0 bytes [entry] [rendered]
webpack: Compiled successfully.
```

Verify that the app is successfully being served from [http://localhost:4200/](http://localhost:4200/) by accessing from a local browser.

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

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

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

repository: nextmetaphor/dockerized-alpine-angular

repo_name: nextmetaphor/dockerized-alpine-angular


text:
# Testing

Cycle ORM attempts to simplify the testing of your application by providing well-isolated interfaces to load and persist
your entities.

## Classic Mock Approach

The first approach would involve mocking instances of entity repositories and `EntityManagerInterface`, for example the
given code can be well tested without ORM initialization:

```php
public function addOrder(User $user, Order $order, \Cycle\ORM\EntityManagerInterface $entityManager)
{
    $user->orders->add($order);
    $entityManager->persist($user)->run();
}
```

Mock `EntityManagerInterface` to check the state of the entity after the method call. Additionally, you can mock custom
entity repositories:

```php
class MyService
{
    public function __construct(
        private UserRepository $users
    ) {
    }

    public function disableUser(int $id, \Cycle\ORM\EntityManagerInterface $entityManager): void
    {
        $user = $this->users->findByPK($id);
        $user->status = 'disabled';
        $entityManager->persist($user)->run();
    }
}
```

> You can also `run` transactions outside of your service method if you wish to group multiple persist operations together.

## Mocking The Database

Another, more complex and slower, approach would involve creating a test database and running your service code using
more realistic scenarios.

In order to achieve that you must construct your own `DatabaseManager` instance and replace the desired database
connection with the required driver (for example SQLite):

```php
use Cycle\ORM;
use Cycle\Database;
use Cycle\Database\Config;

$dbal = new Database\DatabaseManager(
    new Config\DatabaseConfig([
        'default' => 'default',
        'databases' => [
            'default' => [
                'connection' => 'sqlite'
            ]
        ],
        'connections' => [
            'sqlite' => new Config\SQLiteDriverConfig(
                connection: new Config\SQLite\MemoryConnectionConfig(),
                queryCache: true,
            ),
        ]
    ])
);

$orm = new ORM\ORM(new ORM\Factory($dbal));

// you can use already calculated database schema
$orm = $orm->with(schema: new ORM\Schema($cachedSchema));
```

> Attention, you would not be able to test if your database constraints operate properly using SQLite. Use the dedicated database instance.

You can clean your database state after each iteration using schema introspection approach:

```php
public function tearDown()
{
    $db = $this->dbal->database('default');

    // delete all FKs first
    foreach ($database->getTables() as $table) {
        $schema = $table->getSchema();
        foreach ($schema->getForeignKeys() as $foreign) {
            $schema->dropForeignKey($foreign->getColumns());
        }

        $schema->save(\Cycle\Database\Driver\HandlerInterface::DROP_FOREIGN_KEYS);
    }

    // delete tables
    foreach ($database->getTables() as $table) {
        $schema = $table->getSchema();
        $schema->declareDropped();
        $schema->save();
    }
}
```

> Attention, such tests will run much slower than with mocked repositories and transactions.

repository: cycle/docs

repo_name: cycle/docs


text:
# Changelog

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

## [Unreleased]

## [0.3.2] update metadata

### Changed

- updated to prevent Elixir warning about app name

## [0.3.1] update metadata

### Changed

- updated metadata source file to version `8.12.43`

## [0.3.0] modernize deployment stack

### Fixed

- almost issues with credo
- removed dead code

[Unreleased]: https://github.com/GRoguelon/ex_phone_number/compare/v0.3.2...HEAD

[0.3.2]: https://github.com/GRoguelon/ex_phone_number/compare/v0.3.1...v0.3.2
[0.3.1]: https://github.com/GRoguelon/ex_phone_number/compare/v0.3.0...v0.3.1


text:
# Test Explorer Status Bar extension

**[Install it from the VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=connorshea.vscode-test-explorer-status-bar)**

This is a VS Code extension that adds a status bar item for test statistics. It works with the [Test Explorer](https://marketplace.visualstudio.com/items?itemName=hbenl.vscode-test-explorer) extension and any of its adapters.

![A screenshot of the status bar item](/img/screenshot1.png)
![A screenshot of the status bar item while running](/img/screenshot2.png)
![A screenshot of the status bar item while running after a test has failed](/img/screenshot3.png)
![A screenshot of the status bar item after the tests have finished running](/img/screenshot4.png)

## Contributing

You'll need VS Code and Node (any version >= 12 should probably work).

- Clone the repository: `git clone https://github.com/connorshea/vscode-test-explorer-status-bar`
- Run `npm install` to install dependencies.
- Open the directory in VS Code.
- Run `npm run watch` or start the `watch` Task in VS Code to get the TypeScript compiler running.
- Go to the Debug section in the sidebar and run "Status Bar extension". This will start a separate VS Code instance for testing the extension in. It gets updated code whenever "Reload Window" is run in the Command Palette.
  - You'll need a test adapter (e.g. the [Ruby adapter](https://marketplace.visualstudio.com/items?itemName=connorshea.vscode-ruby-test-adapter)) and a test suite to use the status bar extension with.

This extension is based on [the example test controller](https://github.com/hbenl/vscode-example-test-controller), it may be useful to check that repository for more information.

### Publishing a new version

See [the VS Code extension docs](https://code.visualstudio.com/api/working-with-extensions/publishing-extension) for more info.

Before publishing, make sure to update the `CHANGELOG.md` file. You also need to be logged in to `vsce`.

`vsce publish VERSION`, e.g. `vsce publish 1.0.0` will automatically handle creating the git commit and git tag, updating the `package.json`, and publishing the new version to the Visual Studio Marketplace. You'll need to manually run `git push` and `git push --tags` after publishing.

Alternatively, you can bump the extension version with `vsce publish major`, `vsce publish minor`, or `vsce publish patch`.

gha_language: TypeScript


text:
---
templateKey: blog-post
title: Sort Generic List of T
path: blog-post
date: 2007-06-17T13:37:48.241Z
description: Plenty of others have written about this so I'll keep it brief. I
  needed to sort some objects based on a string property. Some quick searching
  led me to [this post] which got me close to what I wanted.
featuredpost: false
featuredimage: /img/default-post-image.jpg
tags:
  - sort
category:
  - Uncategorized
comments: true
share: true
---
<!--StartFragment-->

Plenty of others have written about this so I'll keep it brief. I needed to sort some objects based on a string property. Some quick searching led me to [this post](http://echerng.net/blog/2006/07/23/anonymous-methods-sorting-a-generic-list) which got me close to what I wanted.

My final code was this:

<!--EndFragment-->

```
myThings.Sort(<span class="kwrd">delegate</span>(Thing x, Thing y) { <span class="kwrd">return</span> String.Compare(x.Name,y.Name); });
```

<!--StartFragment-->

myThings is a List<Thing> collection. String.Compare done in this fashion will sort them alphabetically – reverse its parameters to sort in reverse.

<!--EndFragment-->

repository: ShadyNagy/ardalis-com-gatsby

repo_name: ShadyNagy/ardalis-com-gatsby


text:
This software shows how to use [0MQ](http://zeromq.org/) with broker
processes fetching tasks to do rather than being sent tasks. The
main difference is that tasks are only sent to available workers,
rather than queued in a round-robin fashion amongst all the workers
independently of their status (busy or free).

Also, this broker will give the task to another worker if it has
not been achieved in a given time. The task will be retried at
most a certain number of times, so that if it makes all worker
crash it will not try to run forever.

## Motivations

I wrote this to have some material when answering some
[interesting](http://stackoverflow.com/questions/3692854/how-should-a-zeromq-worker-safely-hang-up/)
[questions](http://stackoverflow.com/questions/4328792/zeromq-xrep-endpoint-disappearing/) asked on
[StackOverflow](http://stackoverflow.com) about [0MQ](http://zeromq.org).

## How to run the examples

In a terminal, launch the broker with a maximum of 3 attempts to complete each request and a maximum time of 2 seconds by attempt:

    ./broker.py -t 3 -T 2 "tcp://*:4161" "tcp://*:4162" "tcp://*:4163"

In two other terminals, launch two workers by issuing twice:

    ./testworker.py tcp://localhost:4162 tcp://localhost:4163 0.1

Each worker will drop 10% (0.1) of the tasks it receives (and never answer).

In another terminal, launch a client:

    ./testclient tcp://localhost:4161

You should see the tasks arrive on the workers. When a worker decide to drop a task (as would be the case if the task
had caused an exception to be raised), you will see that the task is retried as needed. This is transparent for the
client unless the maximum number of attempts has been reached, in which case it will receive an empty answer indicating
a failure.

## License

This code is released under a BSD license.

Copyright (c) 2010 Samuel Tardieu<EMAIL_ADDRESS>
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


text:
twitever
========
I love Evernote.  I love Twitter.  I favorite tweets I love.  I want to automatically add web pages linked to in my favorite tweets to Evernote.  Now I can.

Hack!
-----
This project is a quick hack that is the Simplest Thing That Would Work.  Fork away and modify to your heart's content.

Setup
-----
1. You probably have to open add_note_to_evernote_by_url.scpt in AppleScript Editor and compile it.  AppleScript is pretty lame like that.

2. Copy .twitever.yml.example to ~/.twitever.yml and set configurations as needed

3. Invoke twitter.rb in some way.  This works best as a scheduled task, really.

What it does
------------
1. Fetches your favorite tweets from twitter
2. Checks to see if these tweets are newer than the ones you dealt with last time
3. For new favorite tweets, finds URLs in those tweets
4. Adds a page in Evernote that contains the contents of the URL, with the original tweet content as the title of the note

What it does not do
-------------------
Anything else :)

repository: briandoll/twitever

repo_name: briandoll/twitever


text:
---
title: Arms of Hadar
subtitle: 1st-level conjuration
level: level1
tags: [warlock, level1, conjuration]
cast: 1 action
duration: Instantaneous
components: V, S
range: Self (10-foot radius)
---
You invoke the power of Hadar, the Dark Hunger. Tendrils of dark energy erupt from you and batter all creatures within 10 feet of you. Each creature in that area must make a Strength saving throw. On a failed save, a target takes 2d6 necrotic damage and can’t take reactions until its next turn. On a successful save, the creature takes half damage, but suffers no other effect.

**At Higher Levels.** When you cast this spell using a spell slot of 2nd level or higher, the damage increases by 1d6 for each slot level above 1st.

repository: lester-lee/dnd

repo_name: lester-lee/dnd


text:
# ember-toggle

Checkbox based Toggle Switch component with swipe/drag support for Ember.

[![NPM][npm-badge]][npm-badge-url]
![CI](https://github.com/knownasilya/ember-toggle/workflows/CI/badge.svg)
[![Ember Observer Score][ember-observer-badge]][ember-observer-url]

Based on [this](http://codepen.io/mallendeo/pen/eLIiG/) codepen.
Here's the official [demo] using this component.

## Compatibility

- Ember.js v3.28 or above
- Ember CLI v3.28 or above
- Node.js v16 or above

## Install

`ember install ember-toggle`

## Basic Usage

```hbs
<XToggle @value={{this.myValue}} @onToggle={{fn (mut this.myValue)}} />
```

### Themes

![Examples Of Available Themes](vendor/ember-toggle/example-images/themes.png)

There are many `themes` which change the visual appearance of the toggle.
Check the [demo] for interactive examples.

- `'default'`
- `'ios'`
- `'light'`
- `'flat'`
- `'flip'`
- `'skewed'`
- `'material'`

![Dark Themes](vendor/ember-toggle/example-images/themes-dark.png)

Use it along with the `@variant='auto'` or `@variant='dark'` option to get a dark themed version, works only with 'ios', 'flat' and 'material' theme.

> Example of changing the theme

```hbs
<XToggle
  @theme='ios'
  @variant='dark'
  @value={{this.toggled}}
  @onToggle={{fn (mut this.toggled)}}
/>
```

_Note: By default all themes are included, see the Configuration section to change which themes are included/excluded._

### Size

You can also adjust the size of the widget by use of the `size` property. Valid sizes are:

- `'small'`
- `'medium'`
- `'large'`

This option is available on all themes but is a less sensible choice for those themes which actually
include the label within the control (e.g., `skew` and `flip`).

### Labels

You can customize labels (The text the user sees for the two states) and their associated values:

```hbs
<XToggle
  @onLabel='Enabled'
  @offLabel='Disabled'
  @showLabels={{true}}
  @value={{this.myValue}}
  @onToggle={{fn (mut this.myValue)}}
/>
```

If you want your labels to be displayed, then you must set `showLabels` to `true`.

### Available Options

- `value` - The state of the switch, can be `true` or `false`. Defaults to `false`.
- `onToggle` - The action that should change the state of `value`.
- `theme` - One of 'light', 'ios', 'flat', 'material', 'flip', 'skewed', 'default'.
- `variant` - One of `dark` or `auto`. Use `auto` for system dependent light/dark theme. Works only with `ios`, `flat` and `material` theme.
  Defaults to 'default' if not specified.
- `size` - One of 'small', 'medium', 'large'.
  Defaults to 'medium' if not specified.
- `onLabel` - The label for the _on_ state. Defaults to 'On'.
- `offLabel` - The label for the _off_ state. Defaults to 'Off'.
- `showLabels` - Defaults to 'false', if 'true' will display labels on left and ride side of toggle switch
- `disabled` - Defaults to `false`, which means you can click the toggle.
  When `true`, an `.x-toggle-disabled` class is set on the toggle and an `.x-toggle-container-disabled` class is set on the component.
- `name` - A name to differentiate multiple toggles, gets passed to the `toggle` action. Defaults to 'default'.

### Configuring

Add a configuration for `ember-toggle` to include only the themes that
you will use, as well as any other default settings that apply to all toggles
in your app. These defaults can be overriden on a per toggle basis
(except the options regarding themes being added to your app's build step).

This configuration is located in `config/environment.js`.
The following is an example of how you can configure this addon:

```js
ENV['ember-toggle'] = {
  includedThemes: ['light', 'default', 'flip'],
  excludedThemes: ['flip'],
  excludeBaseStyles: false, // defaults to false
  defaultShowLabels: true, // defaults to false
  defaultTheme: 'light', // defaults to 'default'
  defaultSize: 'small', // defaults to 'medium'
  defaultOffLabel: 'False', // defaults to 'Off'
  defaultOnLabel: 'True', // defaults to 'On'
};
```

> note: the IOS theme is referred to as just `ios` not `ios7` as was indicated in the originating CSS source

To exclude (not include) a theme, means that it's css styles will not be bundled with
your application, keeping your app's css bundle size smaller.

> **Note:** including a blank array e.g. `includeThemes: []` will not include any themes, leaving
> you to define your own theme styles. See the `vendor/ember-toggle/themes` directory
> for reference.
> **Note:** you may also want to set `excludeBaseStyles: true` so that this addon doesn't include the styles
> used by all the themes.

## Advanced Usage

If you need custom labels, additional markup, or non-standard behavior, you are in the right section.

The `x-toggle` component also provides a composable component API.

```hbs
<XToggle
  @showLabels={{true}}
  @value={{this.value}}
  @onToggle={{fn (mut this.value)}}
  as |toggle|
>
  <toggle.offLabel />
  <toggle.switch />
  <toggle.onLabel />
</XToggle>
```

The above is a simple example that returns a basic toggle, but you can see how
this could be used to wrap the switch or the labels in custom markup or logic.

### Single Label

This format allows greater flexibility with labels, like the single label use-case.

```hbs
<XToggle
  @showLabels={{true}}
  @value={{this.value}}
  @onToggle={{fn (mut this.value)}}
  as |toggle|
>
  <toggle.label @value={{not this.value}}>
    <b>turn {{if this.value 'off' 'on'}}</b>
  </toggle.label>

  <toggle.switch @theme='flip' @onLabel='diff on' @offLabel='diff off' />
</XToggle>
```

> Note: The `not` helper is a custom Ember helper in the above example.

## Contributing

See the [Contributing] guide for details.

## License

MIT

[npm-badge]: https://img.shields.io/npm/v/ember-toggle.svg
[npm-badge-url]: https://www.npmjs.com/package/ember-toggle
[ember-observer-badge]: http://emberobserver.com/badges/ember-toggle.svg
[ember-observer-url]: http://emberobserver.com/addons/ember-toggle
[demo]: http://knownasilya.github.io/ember-toggle/
[contributing]: CONTRIBUTING.md
[simplify]: https://github.com/knownasilya/ember-toggle/tree/simplify

repository: knownasilya/ember-toggle

repo_name: knownasilya/ember-toggle


text:
[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![MIT License][license-shield]][license-url]
[![LinkedIn][linkedin-shield]][linkedin-url]

Note Taker

  A note taking application which allows users to write, save and delete notes in a JSON file using Express.

    View deployment

  ·

    View code

  ·

    Report Bug

  ## Table of Contents

  * [About the Project](#about-the-project)
    * [Built With](#built-with)
  * [Contributing](#contributing)
  * [License](#license)
  * [Contact](#contact)

  ## About The Project

![Project screenshot][product-screenshot]

A note taking application which allows users to write, save and delete notes in a JSON file using Express.

Built as an assignment for the University of Washington Full Stack Coding Bootcamp.

### Built With

- HTML
- CSS
- JavaScript
- jQuery
- Node.js

## Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3.  Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

## Installation

1. Clone the repo

```sh
git clone https://github.com/derek-watson14/NoteTaker.git
```

2. Install NPM packages

```sh
npm install
```

3. Run program

```sh
node app
```

Alternatively, you can visit the version deployed on Heroku [here](https://mighty-headland-56701.herokuapp.com/).

## Usage

This application provides a web based GUI and backend hosted on Heroku. There is no user login at this time.

## License

Distributed under the MIT License. See `LICENSE` for more information.

## Contact

Derek Watson - [LinkedIn][linkedin-url] -<EMAIL_ADDRESS>
Project Link: [https://github.com/derek-watson14/NoteTaker](https://github.com/derek-watson14/NoteTaker)

[contributors-shield]: https://img.shields.io/github/contributors/derek-watson14/NoteTaker.svg?style=flat-square
[contributors-url]: https://github.com/derek-watson14/NoteTaker/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/derek-watson14/NoteTaker.svg?style=flat-square
[forks-url]: https://github.com/derek-watson14/NoteTaker/network/members
[stars-shield]: https://img.shields.io/github/stars/derek-watson14/NoteTaker.svg?style=flat-square
[stars-url]: https://github.com/derek-watson14/NoteTaker/stargazers
[issues-shield]: https://img.shields.io/github/issues/derek-watson14/NoteTaker.svg?style=flat-square
[issues-url]: https://github.com/derek-watson14/NoteTaker/issues
[license-shield]: https://img.shields.io/github/license/othneildrew/Best-README-Template.svg?style=flat-square
[license-url]: https://tldrlegal.com/license/mit-license
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=flat-square&logo=linkedin&colorB=555
[linkedin-url]: https://linkedin.com/in/watsonderek
[product-screenshot]: images/screenshot.png


text:
---
layout: post
title: "Lootly! Development is Beginning - Help Appreciated"
date: 2005-04-26
comments: false
category: ruby
tags: [lootly]
---
I know, I know, I said before that I was going to keep updating everyone about
the progress of my issue tracking revamping. And I will. In fact, if you read
the last update your pretty much up-to-date because I have been busy with PAID
work since then.

However, not only paid work is starting to eat into my time. I have found a
catalyst to get me moving on Lootly! A reader of this blog, Carlos, offered to
help me get running with Lootly! If you don't know what Lootly is, I suggest
you [go here](http://rawlinson.us/blog/?cat=12) and read a little of the
background info on it.

I have actually already written Lootly! Sort of. It started out in CF5 and
tied into an older version of Amazon Web Services. I then upgraded the xml
processing with CF6 came out but didn't really do any significant work on it
beyond that. For instance, one thing I wanted to do, but never got around to,
was refactoring to take advantage of CFCs.

It was hosted on our companies only public facing server. However, some schmo
installed a poorly written ASP script on the same server, then we were hit by
a hacker, and all personal efforts had to come off the machine since we also
host some customer stuff there. That sucked mainly because it was the only way
I could afford (free!) CF hosting.

So, where does that leave me? Well I have debated back and forth (with myself)
about using something other than CF for Lootly! simply because I can't afford
a CF host that would support my eventual needs. Actually, I just afford any CF
host. I pay about $10/month for my current PHP host and that is about all I
can justify to my wife. My personal debate focused primarilly around Ruby and
PHP. Both pretty cool and feature rich languages that can fill the bill. The
biggest strike against Ruby is the same as CF - finding a host that I can
afford. Everyone offers PHP hosting; but not everyone has Ruby.

However, a big plus in favor of Ruby is Rails. I think it is an incredibly
slick looking framework. I have dug into a bit and it was amazing how quickly
I was able to build a simple application. It was even faster than CF - and CF
is about as fast as you can get really. Ruby also has some really cool
shortcuts for quickly creating mutators (getters/setters).

```ruby
      class Song

      attr_reader :name, :artist, :duration

      end

```

This creates getters on the Song class for the name, artist and        duration fields.

Example thanks to [    Philip Jacob](http://www.whirlycott.com/phil/2005/04/13/ruby-first-impressions/).

Recent development in PHP land such as the release of mach-ii for      PHP and CAKE (a Rails like framework) make PHP very intriguing as      well. Plus, once again there is that cost factor. However, I have      decided to start out with Ruby. I want to learn the language      anyway and this seems like a great opportunity to do so. Who      knows, maybe I'm crazy.

extension: markdown

gha_language: CSS


text:
### PLEASE READ THE FOLLOWING INSTRUCTIONS

Tag your issue accordingly:

* is it about Bulma or about the Docs?
* is it a bug/feature/question or do you need help?
* if it's a bug, is it a browser bug?

Thanks for helping out! 😇

Please remove any unused content (including these instructions) before submitting your issue.

### Checklist

* [ ] This is about the Bulma **CSS framework**
* [ ] This is about the Bulma **Docs**
* [ ] I'm using Bulma **version** [x.x.x]
* [ ] My **browser** is:
* [ ] This is a **Sass** issue: I'm using version [x.x.x]
* [ ] I am sure this issue is **not a duplicate**?

### Description

_[Description of the bug, enhancement, or question]_

### Steps to Reproduce

1. _[First Step]_
2. _[Second Step]_
3. _[and so on...]_

### Expected behavior

_[What you expected to happen]_

### Actual behavior

_[What actually happened]_

repository: freeCodeCampTO/memberDirectory

repo_name: freeCodeCampTO/memberDirectory


text:
# Backbone UI  [![Build Status](https://travis-ci.org/perka/backbone-ui.png?branch=master)](https://travis-ci.org/perka/backbone-ui)

Backbone UI provides a simple way to represent your Backbone Models and Collections as UI components.

For full documentation, see: http://perka.github.com/backbone-ui

repository: Wordenskjold/backbone-ui

repo_name: Wordenskjold/backbone-ui


text:
# Adding Entries

## Adding Activities

### Diaper Change

<video style="max-width: 320px;" autoplay controls loop muted playsinline>
  <source src="../../assets/videos/diaper_change_add.mp4" type="video/mp4">
</video>

From the top navigation bar select the plus sign to add an activity. Select
Diaper Change. If necessary, modify the child or time for the change. Select
whether the diaper is wet, solid, or both, and if add any details such as color,
amount, etc. When complete, select Submit.

### Feeding

<video style="max-width: 320px;" autoplay controls loop muted playsinline>
  <source src="../../assets/videos/feeding_add.mp4" type="video/mp4">
</video>

From the top navigation bar select the plus sign to add an activity. Select
Feeding. If necessary, modify the child, or start/end time for the feeding.
Select the type of food, feeding method, amount, and any notes. When complete,
select Submit.

### Note

<video style="max-width: 320px;" autoplay controls loop muted playsinline>
  <source src="../../assets/videos/note_add.mp4" type="video/mp4">
</video>

From the top navigation bar select the plus sign to add an activity. Select
Note. If necessary, modify the child the note is for. Enter any details you want
to remember such as a new food tried or vomiting, etc. Modify the time or date
of note as needed. When complete, select Submit.

### Sleep

<video style="max-width: 320px;" autoplay controls loop muted playsinline>
  <source src="../../assets/videos/sleep_add.mp4" type="video/mp4">
</video>

From the top navigation bar select the plus sign to add an activity. Select
Diaper Change. If necessary, modify the child. Select the start time for the
feeding. This time must be prior to the end time. When complete, select Submit.

### Tummy Time

<video style="max-width: 320px;" autoplay controls loop muted playsinline>
  <source src="../../assets/videos/tummy_time_add.mp4" type="video/mp4">
</video>

From the top navigation bar select the plus sign to add an activity. Select
Tummy Time. If necessary, modify the child. Select the start time for the
activity. This time must be prior to the end time. When complete, select Submit.

## Adding Measurements

### BMI

<video style="max-width: 320px;" autoplay controls loop muted playsinline>
  <source src="../../assets/videos/bmi_add.mp4" type="video/mp4">
</video>

### Circumference

<video style="max-width: 320px;" autoplay controls loop muted playsinline>
  <source src="../../assets/videos/head_circumfrence_add.mp4" type="video/mp4">
</video>

### Temperature

<video style="max-width: 320px;" autoplay controls loop muted playsinline>
  <source src="../../assets/videos/temperature_add.mp4" type="video/mp4">
</video>

From the top navigation bar select the plus sign to add an activity. Select
Temperature. If necessary, modify the child or time the temperature was taken.
Input the temperature and enter any notes about the instance. When ready, select
Submit.

### Weight

<video style="max-width: 320px;" autoplay controls loop muted playsinline>
  <source src="../../assets/videos/weight_add.mp4" type="video/mp4">
</video>

From the top navigation bar select the plus sign to add an activity. Select
Weight. If necessary, modify the child or date the child was weighed. Input the
weight and enter any notes about the instance. When ready, select Submit.

repository: babybuddy/babybuddy

gha_language: Python

repo_name: babybuddy/babybuddy


text:
# node-tls-server
A NodeJS TLS server with a self signed certificate

# Usage
To generate the server key and certificate:
```
./generateKeys.sh
```

To start the server:
```
node server.js
```

# Example
Try to connect to the server with:
```
openssl s_client -connect localhost:<PORT>
```

# License
```
  Copyright (c) 2018 joansanfeliu

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

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

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

repository: joansanfeliu/node-tls-server

repo_name: joansanfeliu/node-tls-server


text:
# Kaleidoscopic Kings

## Installation

To get the project up and running is simple. Clone the repository and run `pipenv install`

If you are on Windows you will need to install additional Windows Kivy dependencies as per the [documentation](https://kivy.org/doc/stable/installation/installation-windows.html)

```
python -m pip install docutils pygments pypiwin32 kivy_deps.sdl2==0.1.* kivy_deps.glew==0.1.*
```

## What is it

Our project is broken down into two core parts - story engine and frontend.

Frontend display nicely the output of the backend and links frontend user interaction with backend varaibles.

Backend is completely modular and supports fully dynamic stories each having their own modular cards, states,
and assets.

There is also a very basic GUI editor which we were not able to fully complete due to deadline, we can say it's
alpha.

## Game engine

Game stories are separated in folder and in those folders there is a strict directory layout.

It contains all game assets and game story data in json format. One can copy this folder,
change things inside of it manually and he'll get a complete new story experience complete with different assets
 and everything. This can be done easier with our editor but sadly it is in alpha and it was not completed fully.
 You can use it only if you are familiar with it since there was not enough time to add all options to it.

### Jurassic Greg

Current story pack we have created imagines you as Greg, a prehistoric man.
 Whilst you
didn't ask for this kind of evolution, you've got to live with it now, and with all the choices that come alongside being a robust modern man.
For example, T-Rexes, should you kick them?

Throughout the game you'll be presented with a range of cards, you don't have to micromanage every little decision of
life - just some of the little decisions. Whether to take a bath in the river, make a pterodactyl omelette, or whether
maybe you *should* have kicked that T-Rex, you'll be responsible for ensuring the continuation of the great line of Greg.

Each choice you make will have two options, you need to decide whats best for Greg.

## Using it

### Playing the game
Playing the game is just about as simple as it  gets. You run the app, and you're presented with a choice. You make a choice,
rinse and repeat.
![example screen](https://i.imgur.com/35j6Fmj.png "Playing the game")

### Making your own game

### Defining your own story
If you want to define your own story, or even if you just want to extend Greg's story, all you need to do is create json
files to represent your events and choices using the alpha editor or editing them manually (as editor isn't fully complete).

### Customising your game
In order to customise the look and feel of your game, you'll need to create a folder for your game at the top level, which contains all the assets required.
These necessary assets and the structure can be seen in Jurassic Greg's implementation in the game_data/caveman directory.

## The Team

* **[Charlie](https://github.com/CharlieADavies)** - *Team leader*
  * Charlie focused on getting the Kivy layout working. Finding assets, shifting things around by 5 pixels at a time.
    Coming up with the overall look and feel for Jurassic Greg, as well as the customisable design.
* **[Braindead](https://github.com/albertopoljak)**
  * BrainDead was the MVP of the project, implementing practically the entire backend of the system, both the editor and the engine.
    Taking general ideas from the whole team, providing plenty of his own, and turning them all into reality.
* **[Heagan](https://github.com/Heagan)**
  * Heagan was a key player in the idea and design phase, providing insight and research into the design and implementation git co
    of the eventual game, as well as implementing Animations for the front end of the app.
* **[GlowingRunes](https://github.com/glowingrunes)**
  * In addition to wireframing the layout, defining the style, and designing the first UI, GlowingRunes provided some
    fantastic audio assets for the project, carrying the unique look and feel throughout the game.
* **soufianeh#4390** - MIA

## Assets and licenses
* Assets from Vecteezy  Vectors by Vecteezy
    * CardArt/cat.png
    * CardArt/river.jpg
    * CardArt/forest.png
    * CardArt/cave.png
    * CardArt/dodo.png
    * CardArt/greg_the_caveman.png
    * CardArt/strange_fruit.png
    * CardArt/kickable_dino.png
    * CardArt/test.jpg
    * CardArt/pufferfish.png
    * GameArt/LeftButton.png
    * GameArt/RightButton.png
    * GameArt/MainBackground.png

* Other assets:
    * caveman.wav, death.wav, dino_roar.wav, water.wav, food.wav, health_increase.wav, health_decrease.wav all made by GlowingRunes
    * All other sound assets from the BBC sounds archive
    * GameArt/MainStateBackground.png  -  Pixabay
    * CardBackground.png  - stone tablet png 1


text:
# Type Extensions

As a project gets larger, your roots might start to get large.  You can seperate out parts of a exposed GraphQL type using @GQLExtension.

To use it, annotate the type (or specific methods) with @GQLExtension, then register the type using builder.extension(TheType.class).

Each method must the the type being extended as the first parameter.

repository: zourzouvillys/graphql

repo_name: zourzouvillys/graphql