text:
---
Title: A Philosophical Darkey
transcriber: Ryan Cordell
Date: 1872-06-20
Newspaper: Herald and Tribune
Location: Jonesborough, TN
Author:
Cited source:
Page URL: https://chroniclingamerica.loc.gov/lccn/sn85033429/1872-06-20/ed-1/seq-1/
---

**A Philosophical Darkey**

An elderly darkey, with a very philosophical and retrospective cast of countenance, was squatting upon his bundle on the hurricane deck of one of the Western river steamers, toasting his shins against the chimney, and apparently plunged in a state of profound meditation. His dress and appearance indicated familiarity with camp life, and it being soon after the siege and capture of Fort Donelson, I was inclined to disturb his reveries, and on interrogation found that he had been with the Union forces at that place, when I questioned further. His philosophy was so much in the Falstaffian vein that I will give his views in his own words as near as my memory will serve me:

Were you in the fight?

Stood your ground, did you?

No, sa, I runs.

Run at the first fire, did you?

Yes, sa, an' would hab run soonar had I know'd it was comin'.

Why, that wasn't very creditable to your courage.
Dat isn't in my line, sa—cookin's my profession.
Well, but have you no regard for your reputation?
Reputation! nuffin to me de side ob life."
Do you consider your self worth more than other people's?
It's worth more to me, sa.

Then you must value it very highly?

Yes, sa. I does; dan all dis world; more dan a million dollars, sa; for what would dat be wuth to a man wid be bref out of him? Self-preserbashun am de fust law wid me, sa.
But why should you act upon a different rule from other men?
Cause, sa, different men sets different value on derselves; my life is not in de market.

But if you lost it, you would have the satisfaction of knowing that you died for your country.

What satisfaction would dat be to me, when der power of feelin' was gone?

Then patriotism and honor are nothing to you?
Nuffin,' whatever, sa—I regard dem as among the varieties.
If our soldiers were like you, traitors might have broken up the Government without resistance."

Yes, sa; der would hab been no help for it. I wouldn't put my life in de scales ginst any guberment dat ever existed, for no guberment could replace de loss to me. Spect, dough dat de guberment's safe, if da all like me.

Do you think that any of your company would have missed you if you had been killed?

It is safe to say that the darkey corpse of that African will never darken the field of carnage.

repository: sarahebull/transcriptions

repo_name: sarahebull/transcriptions


text:
A spinning cube that does nothing useful!](/screenshot.png?raw=true)

Runs in browser using WebGL / THREE.js.

Developed as a project for a Computer Graphics class.

WASD to move, QE to rotate.

Status
------
Nothing in the way of gameplay yet, just a small hardcoded area to wander around in.

Dependencies
------------
Eventually I will get a real dependency/build set up working, but until then, I've included
a copy of the following required libraries, all of which are available under the MIT License:

+ [Require.js](https://github.com/jrburke/requirejs)
+ [Three.js](https://github.com/mrdoob/three.js)
+ [Tween.js](https://github.com/tweenjs/tween.js)

Getting it Running
------------------
Check it out [here](https://beanbeam.github.io/dungeon), or make the files available with a webserver:
```
cd {whatever}/dungeon
python3 -m http.server
```
Then just connect to the server, `localhost:8000` if you ran the above command.

license: MIT

repository: beanbeam/dungeon

branch_name: refs/heads/main

extension: md

gha_language: JavaScript

license_type: permissive

repo_name: beanbeam/dungeon


text:
# HealthChecks.Extensions

A set of ASP.NET Health Checks extensions

[![Build status](https://ci.appveyor.com/api/projects/status/94f8gktyknvmmu6t/branch/main?svg=true)](https://ci.appveyor.com/project/adrianiftode/healthchecks-extensions/branch/main)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=HealthChecks.Extensions&metric=alert_status)](https://sonarcloud.io/dashboard?id=HealthChecks.Extensions)
[![NuGet](https://img.shields.io/nuget/v/HealthChecks.Extensions.svg)](https://www.nuget.org/packages/HealthChecks.Extensions)

```ps
PM> Install-Package HealthChecks.Extensions
```
```ps
> dotnet add package HealthChecks.Extensions
```
```xml
<PackageReference Include="HealthChecks.Extensions" Version="1.0.1" />
```
## Conditional Health Checks

ASP.NET Core offers Health Checks Middleware, but is not always desirable to run them in every context.

For example, in environments like the development one, some dependencies might not be available at all, but others could be.

Other dependencies might be used later during the application lifetime, maybe when their configuration is finished, or when some feature flag is enabled.
`Conditional Health Checks` leverages the possibility to decide when a health check should be actually checked.

### Examples
```csharp
public void ConfigureServices(IServiceCollection services)
{
  services.AddHealthChecks()

    // Check on Redis only when the environment is other than development
    .AddRedis(Configuration["Redis:ConnectionString"])
        .CheckOnlyWhen(Registrations.Redis, !Environment.IsDevelopment())

    // Express the condition as a predicate.
    // Due to this, the condition is evaluated with every request
    //
    // In this example when the `ADependency:Setting` config is changed,
    // then the health check on `A Dependency` is re-evaluated as usual.
    //
    // In the Redis example such a condition is evaluated once, at startup.
    .AddCheck("A Dependency", () => HealthCheckResult.Healthy())
        .CheckOnlyWhen("A Dependency",
               () => !string.IsNullOrEmpty(Configuration["ADependency:Setting"]))

    // Check on RabbitMQ only a specific feature flag is set.
    // The condition is executed asynchronously with every health check request
    // and it has access to the ServiceProvider and the HealthCheckContext.
    .AddRabbitMQ()
        .CheckOnlyWhen(Registrations.RabbitMQ,
                    async (sp, context, token) =>
                    {
                        var featureFlags = sp.GetService<IFeatureFlags>();
                        return await featureFlags.IsSet("AFeatureDependingOnRabbitMQ");
                    })

    // Specify a typed policy to enable executing a health check
    // This policy could have an exhaustive implementation and
    // reused with other dependencies.
    .AddCheck("Dependency1", () => HealthCheckResult.Healthy())
        .CheckOnlyWhen<FeatureFlagsPolicy>("Dependency1",
            conditionalHealthCheckPolicyCtorArgs: "A Flag for a Feature that depends on Dependency1")

    // Specify a typed policy to check on multiple health checks
    .AddCheck("Dependency2", () => HealthCheckResult.Healthy())
    .AddCheck("Dependency3", () => HealthCheckResult.Healthy())
        .CheckOnlyWhen<FeatureFlagsPolicy>(new[] { "Dependency2", "Dependency3" },
            conditionalHealthCheckPolicyCtorArgs: "A Flag for a Feature that depends on both dependencies.")

    // Customize health check responses when the health check registration is not evaluated
    // By default the HealthStatus is HealthStatus.Healthy

    // A tag is also included in the conditional health check entry
    // to mark the fact it was not checked
    //
    // By default this value the tag name is `NotChecked`, so this is also customizable
    .AddCheck("CustomizedStatus", () => HealthCheckResult.Healthy())
        .CheckOnlyWhen("CustomizedStatus",
            conditionToRun: true,
            options: new ConditionalHealthCheckOptions
            {
                HealthStatusWhenNotChecked = HealthStatus.Degraded,
                NotCheckedTagName = "NotActive"
            });
}
```


text:
# Design Patterns Midterm Exam

## Category
- [Allowed Resources](#allowed-resources)
- [Template](#template)
- [Problem](#problem)
    - [Problem 1: Composite](#problem-1-composite-20)
    - [Problem 2: Iterator](#problem-2-iterator-20)
    - [Problem 3: Visitor](#problem-3-visitor-20)
    - [Problem 4: Parser & Builder](#problem-4-parser-builder-35)
    - [Problem 5: Document](#problem-5-document-5)
- [File Structure](#file-structure)

## Allowed Resources
You can use following resources for to complete the midterm problems.

- [Java class documentation](https://docs.oracle.com/javase/8/docs/api/allclasses-noframe.html)
- [Dictionary](https://dictionary.cambridge.org/zht/)
- Physical English version text book - "Design Patterns: Elements of Reusable Object-Oriented Software
- Your own code from [gitlab](https://ssl-gitlab.csie.ntut.edu.tw)
- All the other resources are forbidden

## Midterm Project Template
- Download from [Google drive](https://drive.google.com/open?id=1LwCkLPB46oslXfISuQp8KI0SJmEcuLx_)

## Problem
For the midterm, you'll build a **DPFormat translator** to translate a DP Format string to a formatted output string that is fit for display on console. The example below is a DP Format string:

```
# Title1
## Subtitle1
** Subtitle1's text
## Subtitle2
### Subsubtitle
** Subsubtitle's text
```

When represented as a string, the above DP Format string representation will be:

```
# Title1\n## Subtitle1\n** Subtitle1's text\n## Subtitle2\n### Subsubtitle\n** Subsubtitle's text\n
```

**That is, we always have a `\n` at the end of a line.**

Upon parsing the string above, the following object structure is built (see Problems 1 and 4):

```
Title1
├── Subtitle1
│   └── Subtitle1's text
├── Subtitle2
│   └── Subsubtitle
│       └── Subsubtitle's text
```

On the other hand, given this object structure, the `WriteVisitor` (see Problem 3) creates the following output string for viewing on console:
```
Title1
    Subtitle1
      Subtitle1's text
    Subtitle2
        Subsubtitle
          Subsubtitle's text
```

Description:
- The symbol **#** means `Title`, and the symbol **\*\*** means `Text`.
  - A symbol with multiple **#** means a subtitles,`Title` with a different level; for example if a subtitle begins with **##**, it is a level 2 subtitle, and so on.
- Between the first space and the `\n` is the description.
    - Example: The description of `# Title1` is `Title1`
    - Example: The description of `** Subtitle1's text` is `Subtitle1's text`
- Every `Text` (**\*\***) belongs to the closes `Title` before it.
    - Example: the description `Subtitle1's text` belongs to `Subtitle1`
- Every `Title` (**#**) can contain **zero or more** subtitles:
    - In the example, the title `Title1` contains two level 2 subtitles, `Subtitle1` and `Subtitle2`; this means that `Subtitle1` does **NOT** contain `Subtitle2`;
- Every `Title` or `Subtitle` is followed by **at most one** `Text`.

### Problem 1: Composite (20%)
- Use **Composite pattern** with `DPFormat` as *Component*, `Text` as *Leaf*, and `Title` as *Composite* to build your program.
- The `level` attribute in `Title` is the number of the symbol **#**. This means that both `Title` and `Subtitle` objects are instances of the class `Title`.

### Problem 2: Iterator (20%)
- Use **Iterator pattern** to visit your structure. **No point will be given** if you access the structure directly.
- `Text` returns a `NullIterator`.

### Problem 3: Visitor (20%)
- Use **Visitor pattern** to implement the `WriteVisitor`. Please follow the Visitor pattern or **No point will be given**.
- For the class `WriteVisitor`, it accepts a `DPFormat` object and and uses `getResult()` to return the result.
- For `Title`:
    - Level 1: No indent;
    - Level 2: 4 spaces;
    - Level 3: 8 spaces, and so on.
- For `Text`, it adds 2 more spaces from the title which it belongs.
    - For example, `Subtitle1's text`: Add plus 2 more spaces to the indent of `Subtitle1`.

- Example:
    - Given the object structure:
    ```
    Title1
    ├── Subtitle1
    │   └── Subtitle1's text
    ├── Subtitle2
    │   └── Subsubtitle
    │       └── Subsubtitle's text
    ```
    - The result should be:
    ```
    Title1
        Subtitle1
          Subtitle1's text
        Subtitle2
            Subsubtitle
              Subsubtitle's text

    ```

### Problem 4: Parser & Builder (35%)
- `DPFormatParser` parses a given DPFormat string and uses `DPFormatBuilder` to build object structure:
- If there is a format error, skip the wrong format and continue parsing. Here are some examples or correct and wrong formats:
    - correct: "# Here is title\n" -> build a `Title` object with the description "Here is title"
    - correct: "# Title #\n" -> build a `Title` with the description "Title #"
    - Wrong: "#Title1\n" -> **Ignore it and no need to throw exception** (there needs to be a space between "#" and "Title1")
    - Wrong: "*** text\n" -> **Ignore it and no need to throw exception**

### Problem 5: Document (10%)
- `Document` stores a list of `DPFormat` objects where the string representation of every object begins with a **#**.
- `parse(String source)` accepts the whole source, and parses and stores them to a list of `DPFormat` objects.
    - `parse(String source)` can be used two or more times on multiple sources. The new result will be appended to the existed result.
- `transfer()` should use `WriteVisitor` to read all the `DPFormat` object in the list, and transfer to the view format.
- Example:
  1. source: "# Title1\n**text1\n## Subtitle1\n# Title2\n## Subtitle2\n"
  2. We could use `parse(String source)` to split the source into "# Title1\n**text1\n## Subtitle1\n" and "# Title2\n## Subtitle2\n", and store both of the DPFormat objects to the list of DPFormat objects.
  3. We use `transfer()` to get the string for viewing the DPFormat objects in the list.

branch_name: refs/heads/master

gha_language: Java

gha_license_id: MIT


text:
---
tags: [money]
---

Over the past week, I've seen numerous posts to this effect:

> I think the market will continue to drop. Should I sell now and buy back later?

It's a reasonable question, given recent events. After all, it's hard to sit by
and watch 30% of your portfolio evaporate.

But there's something wrong with the original assumption. Namely, the market
doesn't obey the laws of classical physics. There is no such thing as market
momentum. It moves unpredictably, except to those with insider information.
The fact that the market has been down lately tells you *exactly zero
information* about the future, regardless of volatility. It's impossible to
make a rational decision to sell based solely on recent market trends.

Here's the key insight: the forecast is already included in today's price -
it's "priced in." If experts thought the market was going to go down even
further, *it would already be down*. A rational investor will refuse to buy
higher, and sell lower, than their predicted future price.  The current market
reflects everyone's best guess at the future price, including institutional
investors with more resources than the average person. And in case it's
non-obvious, experts *domniate* the market.  They largely control the price of
any given stock.

Putting it all together: the price of a stock goes up when experts are happily
surprised, and down when they're disappointed. Unless you can predict when
institutional investors will be surprised, don't try to time the market.
Otherwise it's just gambling. Instead, invest for the long term. Pick a
strategy and stick with it, even at times like these.

One final note: I've found it helpful to remember that volatility, not overall
price, governs opportunity cost. It's easy to feel bad about missing out on a
stock that triples in value overnight. Realizing that you can also make money
by correctly guessing a series of rapid price changes, and realizing that
*it's the same thing*, takes some of the edge off.

gha_language: HTML


text:
# frontend

frontend for all my emulator cores (currently only GB)

## Cores

<https://github.com/ITotalJustice/TotalGB>

## Credits

- <https://github.com/ocornut/imgui>

- <https://github.com/libsdl-org/SDL>

- <https://github.com/mlabbe/nativefiledialog>

- <https://github.com/gabomdq/SDL_GameControllerDB>

- <https://github.com/madler/zlib>

- <https://github.com/zlib-ng/minizip-ng>

- <https://github.com/ITotalJustice/TotalGB>

- thank you to tikwurp#1280 for creating the app logo!

repository: ITotalJustice/frontend

repo_name: ITotalJustice/frontend


text:
# Changelog

All notable changes to this project will be documented in this file.

## v0.18.0 (2023-07-18)

#### :rocket: Enhancement
* [#929](https://github.com/chrislopresto/ember-freestyle/pull/929) Support `ember-modifier` v4 ([@bertdeblock](https://github.com/bertdeblock))

#### :bug: Bug Fix
* [#928](https://github.com/chrislopresto/ember-freestyle/pull/928) Fix compatibility with `ember-cli` v5 ([@bertdeblock](https://github.com/bertdeblock))

#### :house: Internal
* [#950](https://github.com/chrislopresto/ember-freestyle/pull/950) Update versions of ember-qunit and ember-test-helpers ([@lukemelia](https://github.com/lukemelia))
* [#949](https://github.com/chrislopresto/ember-freestyle/pull/949) Fix type errors ([@bertdeblock](https://github.com/bertdeblock))

#### Committers: 2
- Bert De Block ([@bertdeblock](https://github.com/bertdeblock))
- Luke Melia ([@lukemelia](https://github.com/lukemelia))

## v0.17.0 (2022-10-18)

#### :rocket: Enhancement
* [#856](https://github.com/chrislopresto/ember-freestyle/pull/856) Make the navigation menu sticky ([@bertdeblock](https://github.com/bertdeblock))
* [#867](https://github.com/chrislopresto/ember-freestyle/pull/867) Add an optional "CSS Variables" block to Freestyle::Usage ([@lukemelia](https://github.com/lukemelia))

#### Committers: 1
- Bert De Block ([@bertdeblock](https://github.com/bertdeblock))
- Luke Melia ([@lukemelia](https://github.com/lukemelia))

#### :rocket: Enhancement
* [#856](https://github.com/chrislopresto/ember-freestyle/pull/856) Make the navigation menu sticky ([@bertdeblock](https://github.com/bertdeblock))

#### Committers: 1
- Bert De Block ([@bertdeblock](https://github.com/bertdeblock))

## v0.16.0-beta.0 (2022-09-22)

#### :boom: Breaking Change
* [#847](https://github.com/chrislopresto/ember-freestyle/pull/847) Convert to Glimmer, Typescript, & Glint ([@lukemelia](https://github.com/lukemelia))

#### Committers: 1
- Luke Melia ([@lukemelia](https://github.com/lukemelia))

## v0.15.0 (2022-09-14)

#### :rocket: Enhancement
* [#828](https://github.com/chrislopresto/ember-freestyle/pull/828) Render headings instead of divs ([@KamiKillertO](https://github.com/KamiKillertO))

#### :bug: Bug Fix
* [#827](https://github.com/chrislopresto/ember-freestyle/pull/827) Fix aside menu ([@KamiKillertO](https://github.com/KamiKillertO))
* [#823](https://github.com/chrislopresto/ember-freestyle/pull/823) Fix rendering too many submenus ([@bertdeblock](https://github.com/bertdeblock))

#### :memo: Documentation
* [#835](https://github.com/chrislopresto/ember-freestyle/pull/835) Recommend `exclude` option instead of `blacklist` option ([@bertdeblock](https://github.com/bertdeblock))

#### :house: Internal
* [#844](https://github.com/chrislopresto/ember-freestyle/pull/844) Move to release-it to manage release and CHANGELOG. ([@lukemelia](https://github.com/lukemelia))
* [#836](https://github.com/chrislopresto/ember-freestyle/pull/836) Update Ember to v4.6 ([@bertdeblock](https://github.com/bertdeblock))
* [#837](https://github.com/chrislopresto/ember-freestyle/pull/837) Use spread syntax instead of Ember's `assign` polyfill ([@bertdeblock](https://github.com/bertdeblock))
* [#810](https://github.com/chrislopresto/ember-freestyle/pull/810) Update Ember to v4.4 ([@bertdeblock](https://github.com/bertdeblock))
* [#752](https://github.com/chrislopresto/ember-freestyle/pull/752) Resolve `ember-modifier` deprecations ([@bertdeblock](https://github.com/bertdeblock))

#### Committers: 3
- Benjamin JEGARD ([@KamiKillertO](https://github.com/KamiKillertO))
- Bert De Block ([@bertdeblock](https://github.com/bertdeblock))
- Luke Melia ([@lukemelia](https://github.com/lukemelia))

## [0.14.0](https://github.com/chrislopresto/ember-freestyle/compare/v0.13.2...v0.14.0) (2022-03-11)

### ⚠ BREAKING CHANGES

* remove `freestyle-showdown-content` component
* update `ember-modifier` to v3
* update to Ember v4.2

* remove `freestyle-showdown-content` component ([5956a9e](https://github.com/chrislopresto/ember-freestyle/commit/5956a9ea183ddb7274a83478c7dbdcaab86a93d8))
* update `ember-modifier` to v3 ([700eb07](https://github.com/chrislopresto/ember-freestyle/commit/700eb071847449f9843f7dc767b26cf843aa492d))
* update to Ember v4.2 ([f6646a2](https://github.com/chrislopresto/ember-freestyle/commit/f6646a223880ce7882d1412aa38bc109b2f4f649))

### [0.13.2](https://github.com/chrislopresto/ember-freestyle/compare/v0.13.1...v0.13.2) (2021-11-21)

### [0.13.1](https://github.com/chrislopresto/ember-freestyle/compare/v0.13.0...v0.13.1) (2021-11-21)

This release didn't make it to npm. 0.13.2 has the same stuff.

### Features

* remove dependency on `ember-cli-sass` and `sass` ([5482db1](https://github.com/chrislopresto/ember-freestyle/commit/5482db1b11332526e6916f2147e59216120b5fd2))

### Bug Fixes

* pass down [@hide](https://github.com/hide)Controls argument ([c8eac40](https://github.com/chrislopresto/ember-freestyle/commit/c8eac406cc1e59b99f659b68fed7af5b4722d5d4))

## [0.13.0](https://github.com/chrislopresto/ember-freestyle/compare/v0.12.11...v0.13.0) (2021-10-29)

### ⚠ BREAKING CHANGES

* remove the use of `ember-json-viewer`
* drop support for Node v10

### Features

* deprecate `<FreestyleShowdownContent />` component ([78f2568](https://github.com/chrislopresto/ember-freestyle/commit/78f25681c40d33d56c1789601503f3d5ccca88da))

### Bug Fixes

* fix generated id for `freestyle-dynamic-input` component ([942c901](https://github.com/chrislopresto/ember-freestyle/commit/942c901293827e51f35a976623ccdeb0139181e9))
* import computed.or directly ([ecb6811](https://github.com/chrislopresto/ember-freestyle/commit/ecb6811368e41c10466bf859e3bb9118f5683bfc))
* import htmlSafe from @ember/template ([57ea33f](https://github.com/chrislopresto/ember-freestyle/commit/57ea33f6651342488e6cc6209a041dbc15ce977f))
* make AST plugin functional ([87f521c](https://github.com/chrislopresto/ember-freestyle/commit/87f521ce1371a31f0f1fad9530a973f595819723))
* resolve deprecations related to built-in component events ([a4d07c6](https://github.com/chrislopresto/ember-freestyle/commit/a4d07c6661299e9ab161a75a35a50ead5e755707))

* drop support for Node v10 ([2add9c7](https://github.com/chrislopresto/ember-freestyle/commit/2add9c7152a5b58b9de45b4e188b836b656d5fb5))
* remove the use of `ember-json-viewer` ([023f559](https://github.com/chrislopresto/ember-freestyle/commit/023f5591f5531d61188c20d4107447e26172d2b0))

### [0.12.11](https://github.com/chrislopresto/ember-freestyle/compare/v0.12.10...v0.12.11) (2021-03-23)

### Bug Fixes

* Move glimmer/tracker to the deps list since ([3a39dc6](https://github.com/chrislopresto/ember-freestyle/commit/3a39dc6daa2d6a69f6b1e090c19e216edf3fef8d))
* rendering a color palette ([336af81](https://github.com/chrislopresto/ember-freestyle/commit/336af817a43553a3662ebb0cc4b0d174fcf0b23b))

### [0.12.10](https://github.com/chrislopresto/ember-freestyle/compare/v0.12.9...v0.12.10) (2021-03-17)

### Bug Fixes

* blueprint subsection invocation ([#515](https://github.com/chrislopresto/ember-freestyle/issues/515)) ([ad7f63a](https://github.com/chrislopresto/ember-freestyle/commit/ad7f63abf60f2b7013b91881ea2aa0484835226b))

### [0.12.9](https://github.com/chrislopresto/ember-freestyle/compare/v0.12.8...v0.12.9) (2021-03-12)

### Bug Fixes

* @ember/render-modifiers must be a normal dependency ([4bacc17](https://github.com/chrislopresto/ember-freestyle/commit/4bacc1755df39f0e75a1741ae7401150030e63b0))

### [0.12.8](https://github.com/chrislopresto/ember-freestyle/compare/v0.12.7...v0.12.8) (2021-03-03)

### Features

* Add option to not show all in menu ([#372](https://github.com/chrislopresto/ember-freestyle/issues/372)) ([5395fec](https://github.com/chrislopresto/ember-freestyle/commit/5395fec0b36bcc22a3b74fe297675d1e576a2747))

### [0.12.7](https://github.com/chrislopresto/ember-freestyle/compare/v0.12.6...v0.12.7) (2021-02-26)

### Bug Fixes

* Only avoid preprocessing ember-freestyle's templates not the templates of an addon that depends on it ([8b3df73](https://github.com/chrislopresto/ember-freestyle/commit/8b3df7364fbcccb946993f581b0244ae9f0fa311))

### [0.12.6](https://github.com/chrislopresto/ember-freestyle/compare/v0.12.5...v0.12.6) (2021-02-25)

### Bug Fixes

* Switch to `has-block` ([6ea33e6](https://github.com/chrislopresto/ember-freestyle/commit/6ea33e6d2d6a8c9820af9af7a52142f441a1ec95))

### [0.12.5](https://github.com/chrislopresto/ember-freestyle/compare/v0.12.4...v0.12.5) (2021-02-24)

### [0.12.4](https://github.com/chrislopresto/ember-freestyle/compare/v0.12.3...v0.12.4) (2021-02-17)

### Bug Fixes

* Improve handling of named-blocks-polyfill mangled hbs ([c456bff](https://github.com/chrislopresto/ember-freestyle/commit/c456bff7059e3ac85d60d7b262eb4156ae528e2d))

### [0.12.3](https://github.com/chrislopresto/ember-freestyle/compare/v0.12.2...v0.12.3) (2021-02-04)

### Bug Fixes

* Test and fix for Args.String with [@options](https://github.com/options) code path ([c8cd62a](https://github.com/chrislopresto/ember-freestyle/commit/c8cd62a8429c2a9cbfe530ea269068f476dfc30b))

### [0.12.2](https://github.com/chrislopresto/ember-freestyle/compare/v0.12.1...v0.12.2) (2021-02-04)

### Features

* <Freestyle::Usage> ([f5baa3e](https://github.com/chrislopresto/ember-freestyle/commit/f5baa3eb930762bae72678f61e624289ab8fd4a2))

### Bug Fixes

* Don't run AST transform on freestyle itself, just on it's parent app/addon ([e086fbf](https://github.com/chrislopresto/ember-freestyle/commit/e086fbf84f6b34f21e4ac4336cbd986542786ba6))
* Support for nested addon ([93c6183](https://github.com/chrislopresto/ember-freestyle/commit/93c618363799055de5a325d9d80132b8417f18ca))

### [0.12.1](https://github.com/chrislopresto/ember-freestyle/compare/v0.12.0...v0.12.1) (2020-09-22)

## [0.12.0](https://github.com/chrislopresto/ember-freestyle/compare/v0.11.10...v0.12.0) (2020-05-21)

### ⚠ BREAKING CHANGES

* Remove support for freestyle-note

- A stub component has been left to throw an error which points the documentation

* test: Update test matrix support to ember 3.12 and 3.16

* Preserve formatting for <FreestyleUsage> source blocks in AST transform

- also moved unindenting to the AST plugin rather than in-browser

* style: Improve documentation site styles

* chore: removed unused import

Co-authored-by: Luke Melia<EMAIL_ADDRESS>
### Features

* Support Freestyle Usage|Note angle bracket component invoc… ([#300](https://github.com/chrislopresto/ember-freestyle/issues/300)) ([61b668c](https://github.com/chrislopresto/ember-freestyle/commit/61b668c6a7ddf50d80146d8f1a2b79deb9ceb5bf))

* BREAKING CHANGE: Switch to AST transform for freestyle-usage source preview, drop support for comment-delineated snippets, remove freestyle-notes component (#357) ([5cc6f42](https://github.com/chrislopresto/ember-freestyle/commit/5cc6f425ccfd590924e03d80900947926dd4bc37)), closes [#357](https://github.com/chrislopresto/ember-freestyle/issues/357)

### [0.11.10](https://github.com/chrislopresto/ember-freestyle/compare/v0.11.9...v0.11.10) (2020-04-03)

### [0.11.9](https://github.com/chrislopresto/ember-freestyle/compare/v0.11.8...v0.11.9) (2019-10-07)

### [0.11.8](https://github.com/chrislopresto/ember-freestyle/compare/v0.11.7...v0.11.8) (2019-10-06)

### Bug Fixes

* Remove jQuery usage and update project dependencies ([#238](https://github.com/chrislopresto/ember-freestyle/issues/238)) ([f77ba52](https://github.com/chrislopresto/ember-freestyle/commit/f77ba52))

### [0.11.7](https://github.com/chrislopresto/ember-freestyle/compare/v0.11.6...v0.11.7) (2019-10-06)

### [0.11.6](https://github.com/chrislopresto/ember-freestyle/compare/v0.11.5...v0.11.6) (2019-10-06)

### [0.11.5](https://github.com/chrislopresto/ember-freestyle/compare/v0.11.4...v0.11.5) (2019-10-06)

### Features

* Add support for markdown tables ([#196](https://github.com/chrislopresto/ember-freestyle/issues/196)) ([2a63a4e](https://github.com/chrislopresto/ember-freestyle/commit/2a63a4e))

### [0.11.4](https://github.com/chrislopresto/ember-freestyle/compare/v0.11.3...v0.11.4) (2019-10-06)

### [0.11.3](https://github.com/chrislopresto/ember-freestyle/compare/v0.11.2...v0.11.3) (2019-10-06)

### Bug Fixes

* Remove computed property override deprecation ([#198](https://github.com/chrislopresto/ember-freestyle/issues/198)) ([71b8b64](https://github.com/chrislopresto/ember-freestyle/commit/71b8b64))

## [0.11.2](https://github.com/chrislopresto/ember-freestyle/compare/v0.11.1...v0.11.2) (2019-10-06)

## [0.11.1](https://github.com/chrislopresto/ember-freestyle/compare/v0.11.0...v0.11.1) (2019-10-06)

# [0.11.0](https://github.com/chrislopresto/ember-freestyle/compare/v0.10.0...v0.11.0) (2019-10-06)

### Features

* Update ember-cli-sass to use Dart Sass. [191](https://github.com/chrislopresto/ember-freestyle/pull/191)

# [0.10.0](https://github.com/chrislopresto/ember-freestyle/compare/v0.9.0...v0.10.0) (2018-11-07)

### Bug Fixes

* Don't include blank lines when determining how much to unindent [181](https://github.com/chrislopresto/ember-freestyle/pull/181) ([danwenzel](https://github.com/danwenzel))

### Features

* Remove Slack and add Discord [189](https://github.com/chrislopresto/ember-freestyle/pull/189) ([Windvis](https://github.com/Windvis))
* Drop support for node v4 & use broccoli-plugin [185](https://github.com/chrislopresto/ember-freestyle/pull/185) ([lukemelia](https://github.com/lukemelia))

# [0.9.0](https://github.com/chrislopresto/ember-freestyle/compare/v0.8.1...v0.9.0) (2018-09-10)

### Bug Fixes

* Fix component action syntax [179](https://github.com/chrislopresto/ember-freestyle/pull/179) ([wagenet](https://github.com/wagenet))

### Features

* Update snippet documentation [182](https://github.com/chrislopresto/ember-freestyle/pull/182) ([mswanson](https://github.com/mswanson))
* Add range input to freestyle-dynamic [174](https://github.com/chrislopresto/ember-freestyle/pull/174) ([danwenzel](https://github.com/danwenzel))
* Add tests for freestyle dynamic [171](https://github.com/chrislopresto/ember-freestyle/pull/171) ([danwenzel](https://github.com/danwenzel))

## [0.8.1](https://github.com/chrislopresto/ember-freestyle/compare/v0.8.0...v0.8.1) (2018-03-01)

### Bug Fixes

* Fix freestyle notes [169](https://github.com/chrislopresto/ember-freestyle/pull/169) ([danwenzel](https://github.com/danwenzel))

# [0.8.0](https://github.com/chrislopresto/ember-freestyle/compare/v0.7.0...v0.8.0) (2018-02-27)

### Bug Fixes

* Use correct property name [160](https://github.com/chrislopresto/ember-freestyle/pull/160) ([danwenzel](https://github.com/danwenzel))

### Features

* Tidy up eslint config [168](https://github.com/chrislopresto/ember-freestyle/pull/168) ([chrislopresto](https://github.com/chrislopresto))
* Upgrade to latest ember versions & fix all warnings/errors [157](https://github.com/chrislopresto/ember-freestyle/pull/157) ([sivakumar-kailasam](https://github.com/sivakumar-kailasam))

# [0.7.0](https://github.com/chrislopresto/ember-freestyle/compare/v0.6.2...v0.7.0) (2018-02-20)

### Features

* Rename freestyle snippets module [159](https://github.com/chrislopresto/ember-freestyle/pull/159) ([chrislopresto](https://github.com/chrislopresto))
* Update LTS testing config [158](https://github.com/chrislopresto/ember-freestyle/pull/158) ([chrislopresto](https://github.com/chrislopresto))
* Update documentation for ember 2.4 [154](https://github.com/chrislopresto/ember-freestyle/pull/154) ([ctjhoa](https://github.com/ctjhoa))
* Update ember-cli-showdown and ember-cli-htmlbars [150](https://github.com/chrislopresto/ember-freestyle/pull/150) ([Dhaulagiri](https://github.com/Dhaulagiri))
* Remove jQuery dependency [149](https://github.com/chrislopresto/ember-freestyle/pull/149) ([scanieso](https://github.com/scanieso))
* Add FreestyleDynamic component to interact with component properties [100](https://github.com/chrislopresto/ember-freestyle/pull/100) ([danwenzel](https://github.com/danwenzel))

## [0.6.2](https://github.com/chrislopresto/ember-freestyle/compare/v0.6.1...v0.6.2) (2017-11-01)

### Bug Fixes

* Fixes for freestyleguide header [141](https://github.com/chrislopresto/ember-freestyle/pull/141) ([gijsbotje](https://github.com/gijsbotje))

### Features

* Update docs [147](https://github.com/chrislopresto/ember-freestyle/pull/147) ([chrislopresto](https://github.com/chrislopresto))
* Update README [146](https://github.com/chrislopresto/ember-freestyle/pull/146) ([chrislopresto](https://github.com/chrislopresto))
* Update to ember-cli 2.16 [145](https://github.com/chrislopresto/ember-freestyle/pull/145) ([chrislopresto](https://github.com/chrislopresto))
* Rename snippet processing variables for clarity [144](https://github.com/chrislopresto/ember-freestyle/pull/144) ([chrislopresto](https://github.com/chrislopresto))
* Improve spacing for hidden subsections [137](https://github.com/chrislopresto/ember-freestyle/pull/137) ([robabby](https://github.com/robabby))
* Inherit font-family from component [136](https://github.com/chrislopresto/ember-freestyle/pull/136) ([robabby](https://github.com/robabby))

## [0.6.1](https://github.com/chrislopresto/ember-freestyle/compare/v0.6.0...v0.6.1) (2017-07-14)

### Features

* Port docs site [135](https://github.com/chrislopresto/ember-freestyle/pull/135) ([chrislopresto](https://github.com/chrislopresto))
* Remove outdated and unused cruft [134](https://github.com/chrislopresto/ember-freestyle/pull/134) ([chrislopresto](https://github.com/chrislopresto))
* Fix blueprint for contextual components [133](https://github.com/chrislopresto/ember-freestyle/pull/133) ([chrislopresto](https://github.com/chrislopresto))

# [0.6.0](https://github.com/chrislopresto/ember-freestyle/compare/v0.5.0...v0.6.0) (2017-07-09)

### Features

* Yielded Component API [130](https://github.com/chrislopresto/ember-freestyle/pull/130) ([chrislopresto](https://github.com/chrislopresto))

# [0.5.0](https://github.com/chrislopresto/ember-freestyle/compare/v0.4.2...v0.5.0) (2017-07-09)

### Features

* Load Highlight.js themes remotely [129](https://github.com/chrislopresto/ember-freestyle/pull/129) ([chrislopresto](https://github.com/chrislopresto))

## [0.4.2](https://github.com/chrislopresto/ember-freestyle/compare/v0.4.1...v0.4.2) (2017-07-01)

### Bug Fixes

* Fix horizontal scroll on content [121](https://github.com/chrislopresto/ember-freestyle/pull/121) ([rtablada](https://github.com/rtablada))

### Features

* Replace broccoli-unwatched-tree with broccoli-source [127](https://github.com/chrislopresto/ember-freestyle/pull/127) ([Kerrick](https://github.com/Kerrick))
* Update ember-cli-showdown to ^3.2.1 [124](https://github.com/chrislopresto/ember-freestyle/pull/124) ([lukemelia](https://github.com/lukemelia))
* Remove wip status from README [119](https://github.com/chrislopresto/ember-freestyle/pull/119) ([simonihmig](https://github.com/simonihmig))
* Change snippet delimiter from `:` to `--` [118](https://github.com/chrislopresto/ember-freestyle/pull/118) ([chrislopresto](https://github.com/chrislopresto))
* Change to underscore delimiter for Windows-friendly snippet names [117](https://github.com/chrislopresto/ember-freestyle/pull/117) ([chrislopresto](https://github.com/chrislopresto))

## [0.4.1](https://github.com/chrislopresto/ember-freestyle/compare/v0.4.0...v0.4.1) (2017-05-03)

### Bug Fixes

* Fix ember-cli-showdown config [116](https://github.com/chrislopresto/ember-freestyle/pull/116) ([chrislopresto](https://github.com/chrislopresto))

# [0.4.0](https://github.com/chrislopresto/ember-freestyle/compare/v0.3.0...v0.4.0) (2017-05-03)

### Features

* Drop support for Ember versions before 2.8 [113](https://github.com/chrislopresto/ember-freestyle/pull/113) ([chrislopresto](https://github.com/chrislopresto))
* Optimize Syntax Highlighting [111](https://github.com/chrislopresto/ember-freestyle/pull/111) ([chrislopresto](https://github.com/chrislopresto))

# [0.3.0](https://github.com/chrislopresto/ember-freestyle/compare/v0.2.14...v0.3.0) (2017-05-03)

### Bug Fixes

* Fix treeForAddonStyles relative pathing [106](https://github.com/chrislopresto/ember-freestyle/pull/106) ([chrislopresto](https://github.com/chrislopresto))

### Features

* Remove ember-truth-helpers dependency [112](https://github.com/chrislopresto/ember-freestyle/pull/112) ([chrislopresto](https://github.com/chrislopresto))
* Update dependencies [110](https://github.com/chrislopresto/ember-freestyle/pull/110) ([chrislopresto](https://github.com/chrislopresto))
* Use yarn for dependency management [109](https://github.com/chrislopresto/ember-freestyle/pull/109) ([chrislopresto](https://github.com/chrislopresto))
* Update to ember-remarkable 3.6.1 [108](https://github.com/chrislopresto/ember-freestyle/pull/108) ([chrislopresto](https://github.com/chrislopresto))
* Update to ember-remarkable 3.6.0 [107](https://github.com/chrislopresto/ember-freestyle/pull/107) ([chrislopresto](https://github.com/chrislopresto))
* Wire up control of highlight.js theme [104](https://github.com/chrislopresto/ember-freestyle/pull/104) ([chrislopresto](https://github.com/chrislopresto))
* Move styles to addon tree [103](https://github.com/chrislopresto/ember-freestyle/pull/103) ([chrislopresto](https://github.com/chrislopresto))
* Upgrade to ember-cli 2.13 [102](https://github.com/chrislopresto/ember-freestyle/pull/102) ([chrislopresto](https://github.com/chrislopresto))
* Cleanup jshint artifacts [101](https://github.com/chrislopresto/ember-freestyle/pull/101) ([chrislopresto](https://github.com/chrislopresto))

## [0.2.14](https://github.com/chrislopresto/ember-freestyle/compare/v0.2.13...v0.2.14) (2017-02-24)

### Bug Fixes

* Fix 'calling set on destroyed object' error [97](https://github.com/chrislopresto/ember-freestyle/pull/97) ([tamzinblake](https://github.com/tamzinblake))
* Fix\(freestyle-menu\): Reset f queryParam in menu [83](https://github.com/chrislopresto/ember-freestyle/pull/83) ([fsmanuel](https://github.com/fsmanuel))
* Fix snippet language detection [76](https://github.com/chrislopresto/ember-freestyle/pull/76) ([wagenet](https://github.com/wagenet))

### Features

* Update to ember-cli-github-pages 0.1.2 [96](https://github.com/chrislopresto/ember-freestyle/pull/96) ([chrislopresto](https://github.com/chrislopresto))
* Update ember-truth-helpers to 1.3.0 [95](https://github.com/chrislopresto/ember-freestyle/pull/95) ([zlotnika](https://github.com/zlotnika))
* Use `includes` instead of `contains`, which is deprecated in ember 2.8+ [94](https://github.com/chrislopresto/ember-freestyle/pull/94) ([lukemelia](https://github.com/lukemelia))
* Update ember-cli-eslint. [93](https://github.com/chrislopresto/ember-freestyle/pull/93) ([LucasHill](https://github.com/LucasHill))
* Update remarkable and ember-remarkable [86](https://github.com/chrislopresto/ember-freestyle/pull/86) ([chrislopresto](https://github.com/chrislopresto))
* Update ember-normalize [85](https://github.com/chrislopresto/ember-freestyle/pull/85) ([chrislopresto](https://github.com/chrislopresto))
* Update to Ember 2.8 and Ember CLI 2.8 [79](https://github.com/chrislopresto/ember-freestyle/pull/79) ([chrislopresto](https://github.com/chrislopresto))
* change notes and usage seperator from colon to underscore in order ma… [73](https://github.com/chrislopresto/ember-freestyle/pull/73) ([zidjian257](https://github.com/zidjian257))

## [0.2.13](https://github.com/chrislopresto/ember-freestyle/compare/v0.2.12...v0.2.13) (2016-08-16)

### Bug Fixes

* a11y & template linting fixes [77](https://github.com/chrislopresto/ember-freestyle/pull/77) ([sivakumar-kailasam](https://github.com/sivakumar-kailasam))

### Features

* Removes quotes to enable fontFamily on freestyle-typeface component [140](https://github.com/chrislopresto/ember-freestyle/pull/140) ([wagenet](https://github.com/wagenet))
* Return false for `isDevelopingAddon` [74](https://github.com/chrislopresto/ember-freestyle/pull/74) ([elidupuis](https://github.com/elidupuis))
* Move rendered component next to its corresponding code snippet [70](https://github.com/chrislopresto/ember-freestyle/pull/70) ([vine77](https://github.com/vine77))
* Add some better test coverage before refactoring. [66](https://github.com/chrislopresto/ember-freestyle/pull/66) ([migbar](https://github.com/migbar))

## [0.2.12](https://github.com/chrislopresto/ember-freestyle/compare/v0.2.11...v0.2.12) (2016-05-24)

### Bug Fixes

* Fix Menu When Page Loaded While Section or Subsection Focused [60](https://github.com/chrislopresto/ember-freestyle/pull/60) ([chrislopresto](https://github.com/chrislopresto))

### Features

* Support SCSS Note Snippets [63](https://github.com/chrislopresto/ember-freestyle/pull/63) ([chrislopresto](https://github.com/chrislopresto))
* Warn if duplicate slugs are detected [62](https://github.com/chrislopresto/ember-freestyle/pull/62) ([chrislopresto](https://github.com/chrislopresto))
* Scope freestyle options for safekeeping [51](https://github.com/chrislopresto/ember-freestyle/pull/51) ([chrislopresto](https://github.com/chrislopresto))

## [0.2.11](https://github.com/chrislopresto/ember-freestyle/compare/v0.2.10...v0.2.11) (2016-05-20)

### Features

* Update ember-cli-eslint [59](https://github.com/chrislopresto/ember-freestyle/pull/59) ([chrislopresto](https://github.com/chrislopresto))
* Add changelog [58](https://github.com/chrislopresto/ember-freestyle/pull/58) ([chrislopresto](https://github.com/chrislopresto))
* Display freestyle-collection variants inline [57](https://github.com/chrislopresto/ember-freestyle/pull/57) ([chrislopresto](https://github.com/chrislopresto))
* Add live demo url [46](https://github.com/chrislopresto/ember-freestyle/pull/46) ([chrislopresto](https://github.com/chrislopresto))
* Add subsection header [44](https://github.com/chrislopresto/ember-freestyle/pull/44) ([chrislopresto](https://github.com/chrislopresto))
* Update README.md [42](https://github.com/chrislopresto/ember-freestyle/pull/42) ([knownasilya](https://github.com/knownasilya))
* Add anatomy and component rundown to README [41](https://github.com/chrislopresto/ember-freestyle/pull/41) ([chrislopresto](https://github.com/chrislopresto))
* Lint Lint Lint [40](https://github.com/chrislopresto/ember-freestyle/pull/40) ([chrislopresto](https://github.com/chrislopresto))
* generate blueprint in dummy app for addons [38](https://github.com/chrislopresto/ember-freestyle/pull/38) ([mszoernyi](https://github.com/mszoernyi))
* basic working within an addon documentation [35](https://github.com/chrislopresto/ember-freestyle/pull/35) ([chrisvdp](https://github.com/chrisvdp))

## [0.2.10](https://github.com/chrislopresto/ember-freestyle/compare/v0.2.9...v0.2.10) (2016-04-20)

### Features

* Support nested addon usage [34](https://github.com/chrislopresto/ember-freestyle/pull/34) ([chrislopresto](https://github.com/chrislopresto))

## [0.2.9](https://github.com/chrislopresto/ember-freestyle/compare/v0.2.8...v0.2.9) (2016-04-08)

### Features

* Provide default Ember Freestyle color palette [28](https://github.com/chrislopresto/ember-freestyle/pull/28) ([chrislopresto](https://github.com/chrislopresto))

## [0.2.8](https://github.com/chrislopresto/ember-freestyle/compare/v0.2.7...v0.2.8) (2016-04-07)

### Features

* Add blueprint to set up most things on install [26](https://github.com/chrislopresto/ember-freestyle/pull/26) ([chrislopresto](https://github.com/chrislopresto))
* Remove json config experiments [25](https://github.com/chrislopresto/ember-freestyle/pull/25) ([chrislopresto](https://github.com/chrislopresto))
* Further cleanup on JSON experiments [24](https://github.com/chrislopresto/ember-freestyle/pull/24) ([aluink](https://github.com/aluink))
* Remove mappy-bp dependency [22](https://github.com/chrislopresto/ember-freestyle/pull/22) ([chrislopresto](https://github.com/chrislopresto))

## [0.2.7](https://github.com/chrislopresto/ember-freestyle/compare/v0.2.6...v0.2.7) (2016-03-30)

### Features

* Talk Tweak Town [19](https://github.com/chrislopresto/ember-freestyle/pull/19) ([chrislopresto](https://github.com/chrislopresto))

## [0.2.6](https://github.com/chrislopresto/ember-freestyle/compare/v0.2.5...v0.2.6) (2016-03-03)

## [0.2.5](https://github.com/chrislopresto/ember-freestyle/compare/v0.2.4...v0.2.5) (2016-03-03)

## [0.2.4](https://github.com/chrislopresto/ember-freestyle/compare/v0.2.3...v0.2.4) (2016-03-03)

## [0.2.3](https://github.com/chrislopresto/ember-freestyle/compare/v0.2.2...v0.2.3) (2016-03-03)

### Features

* Add ability to focus on usage components [9](https://github.com/chrislopresto/ember-freestyle/pull/9) ([chrislopresto](https://github.com/chrislopresto))
* add bower dependencies to parent project [7](https://github.com/chrislopresto/ember-freestyle/pull/7) ([andrewfan](https://github.com/andrewfan))

## [0.2.2](https://github.com/chrislopresto/ember-freestyle/compare/v0.2.1...v0.2.2) (2016-02-29)

### Bug Fixes

* add missing ember-truth-helpers dependency [5](https://github.com/chrislopresto/ember-freestyle/pull/5) ([andrewfan](https://github.com/andrewfan))

### Features

* Make friendlier for consuming apps [8](https://github.com/chrislopresto/ember-freestyle/pull/8) ([chrislopresto](https://github.com/chrislopresto))

## [0.2.1](https://github.com/chrislopresto/ember-freestyle/compare/v0.2.0...v0.2.1) (2016-02-22)

### Features

* Improve Note Components [4](https://github.com/chrislopresto/ember-freestyle/pull/4) ([chrislopresto](https://github.com/chrislopresto))

# [0.2.0](https://github.com/chrislopresto/ember-freestyle/compare/v0.1.1...v0.2.0) (2016-02-22)

### Features

* Avoid pod structure for better compatibility [3](https://github.com/chrislopresto/ember-freestyle/pull/3) ([chrislopresto](https://github.com/chrislopresto))

## [0.1.1](https://github.com/chrislopresto/ember-freestyle/compare/v0.1.0...v0.1.1) (2016-02-21)

### Features

* Standardize dependencies [2](https://github.com/chrislopresto/ember-freestyle/pull/2) ([chrislopresto](https://github.com/chrislopresto))

# 0.1.0 (2016-02-14)

### Features

* Wire up freestyle-usage-controls [1](https://github.com/chrislopresto/ember-freestyle/pull/1) ([chrislopresto](https://github.com/chrislopresto))

repository: chrislopresto/ember-freestyle

gha_language: TypeScript

repo_name: chrislopresto/ember-freestyle


text:
# Virtual Window for Unity

Allows the screen to simulate a "window"- users can peek in, look around, even move around a 3-dimensional scene generated in Unity.

This program was first demonstrated through [the museum installation Yayoi Virtual Window](https://github.com/Yasu31/Yayoi_Virtual_Window) in the [Osaka Museum of Yayoi Culture 大阪府立弥生文化博物館](http://www.kanku-city.or.jp/yayoi/), a museum dedicated to the Yayoi period of Japanese history.

# todo- add video
# todo- more demo scenes, like from this [architecture model](https://free3d.com/3d-model/house-modern-40978.html)
# Features
* **displays 3D scenery** that behaves as if the computer display was a **window**
* look & move around the scene freely- please see the video to grasp the concept.
* (relatively) easily integrable to Unity scenes
* does **not** require special hardware to run (only a webcam and a somewhat fast computer)

You are free to use this for your projects (but do let me know if you do, because I'd love to hear about your ideas and implementations! I can link to it here, if you want)

# User Manual
## Requirements
### webcam & [FaceOSC](https://github.com/kylemcdonald/ofxFaceTracker/releases) software
to track user's face. This software is required to be running while Virtual Window is running. Sends face position & gesture data over [OSC](http://opensoundcontrol.org/introduction-osc), a network protocol for transferring data between apps and devices.
 The display changes accordingly.

### to move around scene
arrow keys

mouse (left&right button to go left&right, scroll wheel to go forward & back)

move your head around **more**.(the software sets up a virtual "fence" about 100cm sideways and 60cm front-back in front of the screen, of which if you pass through, the box which the camera is in moves in that direction too)(this feature may feel more of a nuisance, can toggle with "m" key)

### reset camera position
spacebar

### set up parameters
I strongly recommend setting up various parameters for your environment, to ensure a realistic rendering. In the sidebar of the Main Camera, these public parameters can be set:
* fovDegrees- field of view of the camera, in degrees
* numerator- divides this value by the face size to get the face's distance from the screen.
* screenDimension- a Vector2 object. x is the width, y is the height. in centimeters
* cameraPos- a Vector2 object. Sets the offset of the camera. For normal configurations(in which the camera is above the display, as in most notebook PCs), this can be kept to zero. If not, set the horizontal and vertical offset of the camera from that position(right above the screen) in centimeters.

## Finding out the optimal parameters
The first two parameters("fovDegrees" and "numerator") are quite unintuitive, however it is quite important to set them to an appropriate value in order to calculate the correct face position of the user. So there is an easy way to find the optimal value- **set the checkbox "set_parameters_mode" before running**, and you can set the fovDegrees with the right&left arrows, and the numerator with the up&down arrows. The values, along with the face positions, are displayed as well. It is recommended to:
1. check the box "set_parameters_mode" and run the scene
1. using the up&down arrows, change the value of "numerator" until the z value shows the correct distance of your face from the screen(in centimeters)
1. using the right&left arrows, change the value of "fovDegrees" until the x or y value shows the correct offset of your face from the center of screen(in centimeters)
1. Once the face position is satisfactory, take note of the numerator&fovDegrees values.
1. quit the scene, change the values to the optimal ones, and deselect the set_parameters_mode checkbox.

# To use Virtual Window yourself
## creating a scene
**todo: create template scene!**
(TODO) The template scene already includes the necessary scripts and objects to run Virtual Window, so by adding objects to this scene, you can readily generate an interactive scene. If you're going to add this to an existing scene, please follow the steps below...
## adding the Virtual Window program to an existing scene
(TODO- make it very easy to follow along! make a video)

# How it works
(TODO)


text:
# Changes made to original files

## @material-ui/icons

```
packages/material-ui-icons/src/utils/createSvgIcons

- import SvgIcon from '@material-ui/core/SvgIcon';
+ import SvgIcon from '@docly/web/SvgIcon';
```

The built icon files uses the `SvgIcon` component on runtime, which needs to import SvgIcon from `@docly/web` rather than `@material-ui`.

We refer to our npm-package, which is necessary if we want to publish the icon library as a separate package like it's done in m-ui: `@material-ui/icons` could be `@docly/icons`. This would probably be a good idea in case we want to add custom icons and/or pictograms to our icon collection.

Another tried option was to refer to the `SvgIcon` using it's relative path; it works in the library but breaks the docs site in dev-mode:

```
+ import SvgIcon from '../../SvgIcon';
```

repository: mindoktor/material-ui

repo_name: mindoktor/material-ui


text:
<img src="http://i.imgur.com/wYjsCqz.png"/>

# paStash condiments
NPM Plugin Modules for Pastash NG (@pastash/pastash)

### Notes
* Only works with exports from `@pastash/pastash` 1.0.44 _and higher_
* Only works with plugins and commands published in the `@pastash` keyspace

### Usage
To use a plugin alongside `pastash` both should be installed globally:
```
npm install -g @pastash/pastash
npm install -g @pastash/input_dummy
```

Configuration functions not provided internally result in an npm lookup using a combination of `type` and `name`
##### Example
```
input {
  dummy {}
}
```
##### Lookup
`require("@pastash/input_dummy")`

repository: sipcapture/paStash

branch_name: refs/heads/next

repo_name: sipcapture/paStash


text:
# Planet Four Catalog

This is a repository with the files used to create a versioned and conda-installable catalog of the results from [Aye et al, 2019](https://arxiv.org/abs/1803.10341).

See [Data users section](#data-users) below if you just want to install the catalog and use it.

## Description

It was important for us to put the Planet Four catalog that is described [here](https://planetfour.org/results) under version control.
The new [Intake](https://intake.readthedocs.io/en/latest/) package for data access and distribution is enabling us to achieve this.
Not only will it enable users to simply install and update the catalog using `conda` commands, but, provided in future updates, example data plots created from the installed catalog simply by executing `plot()` will make the user faster comfortable with what is offered by the catalag. Stay tuned! (Click "Watch" above to be notified about any changes.)

This repository contains everything to built the catalog, so it mostly serves as an example to other data producers how to share their data using `conda`.

## Data users

Install the catalog by using my conda channel:

```
conda install -c michaelaye planetfour-catalog
```
and then access it inside Python like so:

```python
import intake
# list what catalogs intake has available:
print(list(intake.cat)
```
```
['planet4']
```
```python
# get the data as pandas.DataFrame:
fans = intake.cat.p4cat.fans.read()
fans.shape
```
```
(158476, 24)
```
```
# get a description of the catalog
intake.cat.planet4.fans.describe()
```
```bash
{'name': 'fans',
 'container': 'dataframe',
 'plugin': ['csv'],
 'description': 'Fan data of the Planet Four catalog',
 'direct_access': 'forbid',
 'user_parameters': [],
 'metadata': {'origin_url': 'https://www.planetfour.org/results'},
 'args': {'urlpath': 'https://www.dropbox.com/s/o70a1x8xzrxfyvg/P4_catalog_v1.1_L1C_cut_0.5_fan.csv.gz?dl=1',
  'csv_kwargs': {'blocksize': None, 'compression': 'gzip'}}}
```

## Data producers

Build this catalog by doing:

`conda build -c intake p4catalog`

Currently I am simply serving the files via Dropbox links. To be improved.

### Caveats

Things I stumpled upon while producing this:

* Intake is using Dask for reading the remote CSV files and producing the pandas.DataFrames; however, Dask is **not** supporting `zip` as a compression format, so use `gzip` to be fully compatible. In this case, use the `blocksize: null` entry in the `yaml` file to indicate to Dask that you don't make sure of automatic data split-and-scatter.
* Think about how you want the user to access the data. For example, maybe don't repeat the word `cat` (for catalog) as `intake` already has `cat` in its data access path, so it's superfluous.
* If you want to distribute more than one file, but want to provide them under one identifying namespace (e.g. here: `planet4`), you need to **both** nest the catalog files **and** reflect that structure in the shell script that copies the catalog files around inside the `$CONDA_PREFIX/share/intake` folder. Just follow this example and you should see how it works.

Let me (and the Intake project) know any troubles you face.


text:
![Material design library logo](images/logo.png)

# Material Design Android Library

This is a fork of the original  Material Design Library Project . I have just renamed one of the resource file to eliminate the the conflict error ""Error:Attribute "rippleColor" has already been defined"" which occurs when you use Material Design Library.

You can use the gradle dependency, you have to add these lines in your build.gradle file:

```xml
repositories {
    maven { url "https://jitpack.io" }
}

dependencies {
	  compile 'com.github.vajro:MaterialDesignLibrary:1.6'
}
```
I have modified the "rippleColor" color attribute to "mRippleColor". Hope this helps few people who faced same error as mine.

To know more about how to use the controls and elements, check out the Original ReadMe file.

repository: VeniShan/lostandfound

repo_name: VeniShan/lostandfound


text:
# ePaxos

[![Build Status](https://travis-ci.com/bbengfort/epaxos.svg?branch=master)](https://travis-ci.com/bbengfort/epaxos)
[![GoDoc](https://godoc.org/github.com/bbengfort/epaxos?status.svg)](https://godoc.org/github.com/bbengfort/epaxos)

**Actor based implementation of the [ePaxos consensus algorithm](http://efficient.github.io/epaxos/).**

## Quick Start

To install this implementation of ePaxos on a system:

```
$ go get github.com/bbengfort/epaxos/...
```

This should install the `epaxos` command on your system. Create a configuration file that defines the peers for the network and other parameters as follows:

```json
{
  "timeout": "100ms",
  "aggregate": true,
  "log_level": 5,
  "peers": [
    {
      "pid": 1,
      "name": "alpha",
      "ip_address": "<IP_ADDRESS>",
      "domain": "localhost",
      "port": 3264
    },
    {
      "pid": 2,
      "name": "bravo",
      "ip_address": "<IP_ADDRESS>",
      "domain": "localhost",
      "port": 3265
    },
    {
      "pid": 3,
      "name": "charlie",
      "ip_address": "<IP_ADDRESS>",
      "domain": "localhost",
      "port": 3266
    }
  ]
}
```

The configuration file can be stored as a .toml, .json, .yml, .yaml file in the following locations:

- `/etc/epaxos.json`
- `~/.epaxos.json`
- `$(pwd)/epaxos.json`

Or the path to the configuration file can be passed to the command at runtime. To run an ePaxos replica process:

```
$ epaxos serve -n alpha
```

The -n command specifies which peer configures the local replica, by default if no name is specified, then the hostname of the machine is used. To commit a command to the ePaxos log:

```
$ epaxos commit -k "key" -v "value"
```

This commits the command named "key" with the specified "value" to the log. Note that the client is automatically redirected to a leader in a round-robin fashion and requires the same configuration to connect.

repository: bbengfort/epaxos

repo_name: bbengfort/epaxos


text:
# Changelog

## version 1.0.5 to be released

- ...

## version 1.0.4

- add class to td, for custom styles

## version 1.0.3

- fix allow currency and sortable attributes work together
- fix display format of data time

## version 1.0.2

- fix application of ability model on record actions

## version 1.0.1

- fix table headers for associated model with ransack

## version 0.1.13.beta

- added whole row clikable link as an option

## version 0.1.12.beta

- added option to don't truncate cell strings, passing `:no_truncate` as an attribute parameter
- added settings option to change trucate defaults such as `separator`, `length` and `omission`

## version 0.1.11.beta

- added `localized` table cell, passing :l as an attribute parameter

## version 0.1.10.beta

- fix table_for_cell_for_image_image_class in helper

## version 0.1.9.beta

- removed `.capitalize` from `human_attribute_name("#{attribute}")`
- added `percentage numeric_type cell` with `configurable precision decimals`
- changed `PaperClip class defintion` with `Paperclip class defintion`
- added `setting image class` with `configurable class`

## version 0.1.8.beta

- added Changelog.md
- removed dependencies:
  - Bootstrap
  - Fontawesome
  - include media
- use `human_attribute_name` for attributes translations
- check if Ransack is defined to apply `sort_link`
- table_for optional settings in initializer
- table_for configurable breakpoint
- when attibute is an association and no asssciation attribute specified try title or name
- customizable icon font and action icons
- cell differentaite `Time` and `TimeWithZone`
- `Numeric` with option `:currency` to format with `number_to_currency`


text:
# Code Size Tips

*Optimizing code size for the Particle platform*

There are several different things you might want to optimize for, described in the sections below.

## Flash

The Photon/P1/Electron have a 128 Kbyte (131072 byte) flash memory sector for user code. Within the flash, there are a number of things including:

- Your compiled code
- Strings
- Variables initialized to values other than 0
- C++ template expansions
- Some overhead

### Your compiled code

The flash memory section contains your compiled C++ code. It's compiled optimized for size, so the compiler itself will attempt to make your code as small as possible.

There's also a bit of overhead; the smallest possible program uses about 4460 bytes (targeting system firmware 0.6.2).

```
void setup() {
}

void loop() {
}
```

The size output is:

```
Output of arm-none-eabi-size:

text	data	bss	dec	hex
4460	8	1424	5892	1704

In a nutshell:
Flash used	4468 / 110592	4.0 %
RAM used	1432 / 20480	7.0 %
```

This output is from Particle Build (Web IDE). Use the Verify button, then click on the i-in-circle icon in the status bar in the status bar at the bottom of the window.

Note: The maximum value in RAM used is wrong. It's 20480 bytes on the Spark Core. You can exceed this by quite a bit and your code will continue to work. The Photon and Electron usually have at least 60 Kbytes free. The amount used, however, is correct.

### Strings

String constants are also included in the flash memory section. Here's a slightly longer code example with a string constant:

```
void setup() {
    Serial.begin(9600);
}

void loop() {
    Serial.println("abc");
    delay(1000);
}
```

```
Flash used	4612 / 110592	4.2 %
RAM used	1432 / 20480	7.0 %
```

If you make the string longer by about 50 bytes:

```
void setup() {
    Serial.begin(9600);
}

void loop() {
    Serial.println("abc01234567890123456789012345678901234567890123456789");
    delay(1000);
}
```

```
Flash used	4660 / 110592	4.2 %
RAM used	1432 / 20480	7.0 %
```

Note that the flash used is not exactly 50 bytes larger because of the way strings are laid out in memory and padding, but it's close.

The compiler is smart enough to reuse duplicate strings:

```
void setup() {
    Serial.begin(9600);
}

void loop() {
    Serial.println("abc01234567890123456789012345678901234567890123456789");
    Serial.println("abc01234567890123456789012345678901234567890123456789");
    delay(1000);
}
```

```
Flash used	4660 / 110592	4.2 %
RAM used	1432 / 20480	7.0 %
```

However changing just one byte means the string can't be shared anymore:

```
void setup() {
    Serial.begin(9600);
}

void loop() {
    Serial.println("abc01234567890123456789012345678901234567890123456789");
    Serial.println("xbc01234567890123456789012345678901234567890123456789");
    delay(1000);
}
```

```
Flash used	4724 / 110592	4.3 %
RAM used	1432 / 20480	7.0 %
```

Using a `const char *` variable increases the size of the flash used by 4 bytes, the size of a pointer variable. It also increases RAM used by 4 bytes.

```
const char *str = "abc01234567890123456789012345678901234567890123456789";

void setup() {
    Serial.begin(9600);
}

void loop() {
    Serial.println(str);
    delay(1000);
}
```

```
Flash used	4664 / 110592	4.2 %
RAM used	1436 / 20480	7.0 %
```

However, using `const char * const` instead drops the flash and RAM usage back down to what it would be for just using the string constant.

```
const char * const str = "abc01234567890123456789012345678901234567890123456789";

void setup() {
    Serial.begin(9600);
}

void loop() {
    Serial.println(str);
    delay(1000);
}
```

```
Flash used	4660 / 110592	4.2 %
RAM used	1432 / 20480	7.0 %
```

The reason is that `const char *` indicates that you can't modify the contents of str. However, you can assign str to a completely different value later on. By making it `const char * const`, str can't be modified at all, so the compiler doesn't need to reserve a variable or initializer, saving 4 bytes of flash and 4 bytes of RAM.

### Variables initialized to values other than 0

Starting with this code:

```
unsigned long valueA = 0;
unsigned long valueB = 0;

void setup() {
    Serial.begin(9600);
}

void loop() {
    Serial.printlnf("a=%lx b=%lx", valueA, valueB);
    delay(1000);
}
```

```
Flash used	4756 / 110592	4.3 %
RAM used	1440 / 20480	7.0 %
```

If instead, valueA and valueB are initialized to some other values, you get this:

```
unsigned long valueA = 0x12345678;
unsigned long valueB = 1;

void setup() {
    Serial.begin(9600);
}

void loop() {
    Serial.printlnf("a=%lx b=%lx", valueA, valueB);
    delay(1000);
}
```

```
Flash used	4764 / 110592	4.3 %
RAM used	1440 / 20480	7.0 %
```

The amount of RAM is the same, because the variables are still allocated but an additional 8 bytes of flash are used, because the values are initialized to non-zero values.

The compiler puts all of the values initialized to zero near each other and bulk sets them to 0 through code, rather than saving the individual values in flash.

Making the variables const, so they cannot be modified, saves both flash and RAM.

```
const unsigned long valueA = 0x12345678;
const unsigned long valueB = 1;

void setup() {
    Serial.begin(9600);
}

void loop() {
    Serial.printlnf("a=%lx b=%lx", valueA, valueB);
    delay(1000);
}
```

```
Flash used	4740 / 110592	4.3 %
RAM used	1432 / 20480	7.0 %
```

Using const variables is the same as using \#define in terms of flash and RAM, however they're better because they have an explicit type.

```
#define valueA 0x12345678
#define valueB 1

void setup() {
    Serial.begin(9600);
}

void loop() {
    Serial.printlnf("a=%lx b=%lx", valueA, valueB);
    delay(1000);
}
```

```
Flash used	4740 / 110592	4.3 %
RAM used	1432 / 20480	7.0 %
```

In C/C++ the actual variable names you use are not included in the compiled code, so using really long names doesn't make your flash consumption any larger.

```
const unsigned long valueWithAnExceptionallyLongNameThisWouldByAPainToType = 0x12345678;
const unsigned long valueB = 1;

void setup() {
    Serial.begin(9600);
}

void loop() {
    Serial.printlnf("a=%lx b=%lx", valueWithAnExceptionallyLongNameThisWouldByAPainToType, valueB);
    delay(1000);
}
```

```
Flash used	4740 / 110592	4.3 %
RAM used	1432 / 20480	7.0 %
```

Variables also includes initialized arrays.

```
const uint8_t buf[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };

void setup() {
    Serial.begin(9600);
}

void loop() {

    Serial.printlnf("buf[0]=%d", buf[0]);
    delay(1000);
}
```

```
Flash used	4740 / 110592	4.3 %
RAM used	1432 / 20480	7.0 %
```

Making the array non-const means the array can be modified at runtime, so it's necessary to also allocate RAM for it, as described in more detail in the next section.

```
uint8_t buf[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };

void setup() {
    Serial.begin(9600);
}

void loop() {

    Serial.printlnf("buf[0]=%d", buf[0]);
    delay(1000);
}
```

```
Flash used	4752 / 110592	4.3 %
RAM used	1444 / 20480	7.1 %
```

## Statically allocated RAM

Certain variables that require RAM are allocated at compile time. These include:

- Global variables and objects
- Static local variables

In this simple example, we have a small 28-byte buffer allocated as a global variable:

```
char buf[28];

void setup() {
    Serial.begin(9600);
}

void loop() {
    Serial.println(buf);
    delay(1000);
}
```

```
Flash used	4596 / 110592	4.2 %
RAM used	1460 / 20480	7.1 %
```

If we make the buffer 100 bytes larger, the RAM used goes up by 100 bytes as expected:

```
char buf[128];

void setup() {
    Serial.begin(9600);
}

void loop() {
    Serial.println(buf);
    delay(1000);
}
```

```
Flash used	4596 / 110592	4.2 %
RAM used	1560 / 20480	7.6 %
```

Zero initialization is free. This uses the same amount of flash and RAM:

```
char buf[128] = {0};

void setup() {
    Serial.begin(9600);
}

void loop() {
    Serial.println(buf);
    delay(1000);
}
```

```
Flash used	4596 / 110592	4.2 %
RAM used	1560 / 20480	7.6 %
```

However as stated above, initialization to non-zero values requires the entire buffer contents be saved in flash. In addition to not being a valid cstring, note how much the flash usage increases!

```
char buf[128] = {255};

void setup() {
    Serial.begin(9600);
}

void loop() {
    Serial.println(buf);
    delay(1000);
}
```

```
Flash used	4724 / 110592	4.3 %
RAM used	1560 / 20480	7.6 %
```

Making the variable a static local variable results in the same usage as the example before the last one.

```
void setup() {
    Serial.begin(9600);
}

void loop() {
    static char buf[128];
    Serial.println(buf);
    delay(1000);
}
```

```
Flash used	4596 / 110592	4.2 %
RAM used	1556 / 20480	7.6 %
```

Note that leaving the static keyword out does make a difference - without static is a stack allocated variable, which is discussed below.

One of the advantages of using a statically allocated buffer like this is that since the memory is allocated at compile time, if your code successfully compiles, you know the RAM will be available when it's run.

For example, if you try to compile this, you get an error. A bit obscure, but an error nonetheless:

```
char buf[128000];

void setup() {
    Serial.begin(9600);
}

void loop() {
    Serial.println(buf);
    delay(1000);
}
```

```
arm-none-eabi/bin/ld: target/workspace.elf section `.bss' will not fit in region `SRAM'
arm-none-eabi/bin/ld: Insufficient room for heap.
arm-none-eabi/bin/ld: link_heap_start is in the wrong memory space
arm-none-eabi/bin/ld: region `SRAM' overflowed by 42132 bytes
```

## Dynamically allocated RAM (heap)

### Memory allocated with malloc, new, etc.

Here's an example not using malloc.

```
char buf[1000];

void setup() {
    Serial.begin(9600);
}

void loop() {
    Serial.println(buf);
    delay(1000);
}
```

```
Flash used	4596 / 110592	4.2 %
RAM used	2432 / 20480	11.9 %
```

And here's the example using malloc instead:

```
char *buf;

void setup() {
    Serial.begin(9600);
    buf = (char *) malloc(1000);
}

void loop() {
    Serial.println(buf);
    delay(1000);
}
```

```
Flash used	4644 / 110592	4.2 %
RAM used	1436 / 20480	7.0 %
```

Note that the RAM used went down, but there's no such thing as a free lunch. The RAM used measure is RAM allocated at compile time, and when you use malloc, it just allocates the data at runtime instead.

To illustrate this better, here's a more complicated example using malloc. You can see how the free memory (dynamically allocated heap space) drops.

```
char *buf;

void setup() {
    Serial.begin(9600);
    Serial.printlnf("before %lu", System.freeMemory());
    buf = (char *) malloc(1024);
    Serial.printlnf("after %lu", System.freeMemory());
}

void loop() {
    Serial.printlnf("buf[0]=%d", buf[0]);
    delay(1000);
}
```

```
Flash used	4900 / 110592	4.4 %
RAM used	1436 / 20480	7.0 %
```

And the output on the serial monitor when running the program:

```
before 59336
after 58328
buf[0]=0
```

The drop in free RAM isn't exactly 1000 bytes because there's some overhead for each memory allocation as well.

### String objects

The [String](https://docs.particle.io/reference/firmware/#string-class) object allocates the data for the string itself dynamically, on the heap. The object itself (16 bytes) is allocated based on how it's allocated.

This is a really simple program:

```
String str;

void setup() {
    Serial.begin(9600);
}

void loop() {
    Serial.println(str);
    delay(1000);
}
```

```
Flash used	4836 / 110592	4.4 %
RAM used	1448 / 20480	7.1 %
```

Initializing it adds a uses a little more flash, but even though the string can be modified, it doesn't increase RAM used because the string contents are stored dynamically on the heap. It would show up as a decrease in System.freeMemory() instead.

```
String str("hello, this is a test");

void setup() {
    Serial.begin(9600);
}

void loop() {
    Serial.println(str);
    delay(1000);
}
```

```
Flash used	4868 / 110592	4.4 %
RAM used	1448 / 20480	7.1 %
```

### Fragmentation

One thing to watch out for is fragmentation. When you allocate a block of memory on the heap it needs to stay in that location until freed.  You might have enough free bytes, but not enough contiguous bytes to allocate a large block.

It's usually a good idea to allocate any large buffers you need early, either as static variables (statically allocated) or using malloc/new early in execution (from setup, for example).

## Stack

Stack allocated variables include most function local variables.

```
void setup() {
    Serial.begin(9600);
}

void loop() {
    char buf[256]; // <- stack allocated

    Serial.printlnf("buf[0]=%d", buf[0]);
    delay(1000);
}
```

```
Flash used	4740 / 110592	4.3 %
RAM used	1432 / 20480	7.0 %
```

The main advantage of the stack allocated variables is they only take up space when in the scope of the function, and allocation is very fast. Since the allocation goes away when the function exits, it does not lead to fragmentation.

The main caveat is that the stack size is limited:

- Main loop thread: 6144 bytes
- Software timer callbacks: 1024 bytes

Remember that if you have a function that calls another function, the local variables for both functions will be on the stack. It's the total of all of the local variables for the deepest nesting of functions you can have.

Also note that stack allocation variables are not initialized to zero automatically, so make sure you initialize them!

## Retained memory

[Retained memory](https://docs.particle.io/reference/firmware/photon/#backup-ram-sram-), or the special static RAM (SRAM) or backup RAM section in the processor, is a special block of 3068 bytes that is preserved when the processor is in deep sleep mode and across resets. On the Photon, it's also possible to add a coin cell battery to preserve the contents when the power is removed.

Unlike flash, the SRAM block can be written to at full processor speed, and does not wear out when written to.

Retained memory does not affect the flash size or the RAM used size - it's allocated out of the separate SRAM block.

```
STARTUP(System.enableFeature(FEATURE_RETAINED_MEMORY));

retained char saved[32];

void setup() {
    Serial.begin(9600);
}

void loop() {

    Serial.printlnf("saved[0]=%d", saved[0]);
    delay(1000);
}
```

```
Flash used	4804 / 110592	4.3 %
RAM used	1464 / 20480	7.1 %
```


text:
---

layout: post
title:  "Why pasta comes in all shapes and sizes"
date:   "2020-06-17 01:00:00"
author: Lee Ho Sung
categories: TED
tags: 영어 TED 파스타 음식 문화
image:
  path: https://img.youtube.com/vi/yyVMZHjaY40/0.jpg
---

<iframe width="560" height="315" src="https://www.youtube.com/embed/yyVMZHjaY40" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
파스타는 다양한 모영과 크기를 가지고 있는데 그것에는 나름의 이유가 있다. 파스타는 그 자체가 문화다.

The paste is about putting together water and some power so that you can shape it. There are cultures in the world that use powders. In Italy, we tend to use durum wheat.

Pasta existed for centuries, but it blossomed during the Renaissance. And in the late 17th century, it became more mass-produced.

Whenever you design an object of any kind, you think of how you want it to perform. So think about the same for pasta. Do you want it to be ribbed or smooth? The ribbed ones absorb the sauce better. Do you want it to be round or square? They have a different feel on the palate. Everything is for a reason.

There are many different ways to divide kinds of pasta, but one of the basic divisions is between fresh pasta and dry pasta. Dry pasta is always made with durum wheat flour and water, while fresh pasta could be made with flour, eggs, and additional water.

We can also divide them into long and short. Le'ts talk about some classical types of short pasta. Penne. We all know them. They are cut at a slanted angle, perfect for keeping the sauce. "Farfalle" means butterflies. "Orecchiette" means little ears, and "Conquillia" means shells, of course. The form of pasta is not only about just giving it shape but also about how it touches the palate and the tongue.

When you hone one object across centuries, standards become high. Many great designers miserably failed to impose a new shape onto the pasta because they were not centuries of families of grandmothers trying to improve on the thinness of the walls of the pasta. There's no way to find one designer of one investor of pasta. That's the beauty of it. It belongs to the people.


text:
# Just Bin It

A lightweight program for histogramming neutron event data for diagnostic purposes.

## Setup
Python 3.6+ only.

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

## Usage

```
usage: main.py [-h] -b BROKERS [BROKERS ...] -t TOPIC [-c CONFIG_FILE]
               [-g GRAPHITE_CONFIG_FILE] [-o] [-s]

optional arguments:
  -h, --help            show this help message and exit
  -c CONFIG_FILE, --config-file CONFIG_FILE
                        configure an initial histogram from a file
  -g GRAPHITE_CONFIG_FILE, --graphite-config-file GRAPHITE_CONFIG_FILE
                        configuration file for publishing to Graphite
  -o, --one-shot-plot   runs the program until it gets some data, plot it and
                        then exit. Used for testing
  -s, --simulation-mode
                        runs the program in simulation mode. 1-D histograms
                        only.

  -l LOG_LEVEL, --log-level LOG_LEVEL
                        sets the logging level: debug=1, info=2, warning=3,
                        error=4, critical=5.

required arguments:
  -b BROKERS [BROKERS ...], --brokers BROKERS [BROKERS ...]
                        the broker addresses
  -t TOPIC, --topic TOPIC
                        the configuration topic
```

## How to run
This assumes you have Kafka running somewhere with an incoming stream of event
data (ev42 schema).

For demo/testing purposes this could be Kafka running on localhost with the
NeXus-Streamer running in the background using the SANS_test_reduced.hdf5
dataset.

Start the histogrammer from the command-line:
```
python main.py --brokers localhost:9092 --topic hist_commands
```

Next send a JSON configuration via Kafka (the format of the message is described
in greater detail below).

An example of sending a configuration via Python might look like:

```python
from kafka import KafkaProducer

CONFIG_JSON = b"""
{
  "cmd": "config",
  "data_brokers": ["localhost:9092"],
  "data_topics": ["TEST_events"],
  "histograms": [
    {
      "type": "hist1d",
      "tof_range": [0, 100000000],
      "num_bins": 50,
      "topic": "output_topic"
    }
  ]
}
"""

producer = KafkaProducer(bootstrap_servers='localhost:9092')
producer.send("hist_commands", CONFIG_JSON)
producer.flush()
```

This will start histogramming data from the `TEST_events` topic and publish the
histogrammed data to `output_topic` using the hs00 schema.

To see what the data looks like run the example client:

```
python client/client.py --brokers localhost:9092 --topic output_topic
```
This will plot a graph of the most recent histogram.

### Configuring histogramming

A JSON histogramming configuration has the following parameters:

* "data_brokers" (string array): the addresses of the Kafka brokers
* "data_topics" (string array): the topics to listen for event data on
* "start" (seconds since epoch in ns): only histogram data after this time [optional]
* "stop" (seconds since epoch in ns): only histogram data up to this time [optional]
* "interval" (seconds): only histogram for this interval [optional]
* "histograms" (array of dicts): the histograms to create, contains the following:
    * "type" (string): the histogram type (hist1d or hist2d)
    * "tof_range" (array of ints): the time-of-flight range to histogram
    * "det_range" (array of ints): the range of detectors to histogram [2-D only]
    * "num_bins" (int): the number of histogram bins
    * "topic" (string): the topic to write histogram data to
    * "source" (string): the name of the source to accept data from
    * "id" (string): an identifier for the histogram which will be contained in the published histogram data [optional]

If "start" is not defined then counting with start with the next message.
If "stop" is not defined then counting will not stop.

If "interval" is defined in combination with "start" and/or "stop" then the message will be treated as invalid and ignored.

For example:
```json
{
  "cmd": "config",
  "data_brokers": ["localhost:9092"],
  "data_topics": ["TEST_events"],
  "start":<PHONE_NUMBER>538999557,
  "stop":<PHONE_NUMBER>538999557,
  "histograms": [
    {
      "type": "hist1d",
      "tof_range": [0, 100000000],
      "num_bins": 50,
      "topic": "output_topic_for_1d",
      "source": "monitor1",
      "id": "histogram1"
    },
    {
      "type": "hist2d",
      "tof_range": [0, 100000000],
      "det_range": [100, 1000],
      "num_bins": 50,
      "topic": "output_topic_for_2d"
    }
  ]
}
```

Note: sending a new configuration replace the existing configuration meaning that
existing histograms will no longer be updated.

### Restarting the count
To restarting the histograms counting from zero, send the restart command:
```json
{
  "cmd": "restart"
}
```
This will start all the histograms counting from zero but will not change any other
settings, such as bin edges etc.

### One-shot plot
When the `one-shot-plot` option is specified then the program with collect a
small amount of data, histogram it and then plot the histogram before stopping.
This can be useful for checking that the data and program are behaving correctly.

Note: no histogram data is written to the output topic in Kafka with this mode.

```
python main.py --brokers localhost:9092 --topic hist_commands --one-shot-plot
```

### Supplying a configuration file
An initial histogramming configuration can be supplied via the `config-file`
commandline option.
This enables a histogram to be created without the need to send a command from a
Kafka client, this could be useful for debugging as it allows the system to be
set up quickly.

The configuration file should contain the standard JSON for configuring histograms
as described above.

```
python main.py --brokers localhost:9092 --topic hist_commands --config_file example_configs/config1d.json
```

Note: this configuration will be replaced if a new configuration is sent the command
topic.

An example configuration file (config.json) is included in the example_configs
directory.

### The outputted histogram data
The histogram data generated by just-bin-it is written to Kafka using the hs00 FlatBuffers schema.
The info field is used to store extra data about the histogram such as the histogramming state and
the histogram ID.
This data is stored as a string representation of a JSON dictionary, for example:

```json
{
    "state": "COUNTING",
    "id": "histogram1"
}
```

### Sending statistics to Graphite
To enable statistics about the histograms to be send to Graphite it is necessary
to supply a configuration JSON file, for example

```
python main.py --brokers localhost:9092 --topic hist_commands --graphite-config-file graphite_config.json
```

The file must contain the following:

* "address" (string): the server name or address of the Graphite server.
* "port" (int): the port Graphite is listening on.
* "prefix" (string): the overarching name to store all histogram data under.
* "metric" (string): the base name to give individual histograms,
the histogram index will be auto appended.

For example:
```json
{
  "address": "<IP_ADDRESS>",
  "port": 2003,
  "prefix": "just-bin-it",
  "metric": "histogram-"
}
```

In this case, the histogram data would be stored in Graphite as
`just-bin-it.histogram-0`, `just-bin-it.histogram-1` etc. depending on the number
of histograms.

An example configuration file (graphite.json) is included in the example_configs
directory.

## Supported schemas

Input data: [ev42](https://github.com/ess-dmsc/streaming-data-types) only.
Output data: [hs00](https://github.com/ess-dmsc/streaming-data-types) only.

The commit hooks are handled using [pre-commit](https://pre-commit.com).

To install the hooks for this project run:
```
pre-commit install
```

To test the hooks run:
```
pre-commit run --all-files
```
This command can also be used to run the hooks manually.

### Running unit tests
From the top directory:
```
py.test --cov .
```

For HTML output:
```
pytest --cov --cov-report html .
```

### Formatting
Formatting is handled by [Black](https://black.readthedocs.io/en/stable/).

It should be added as a commit hook (see above).

### mutmut
Occasionally run mutmut to check that mutating the code causes tests to fail.

To run:
```
mutmut run --use-coverage  --paths-to-mutate .
```

To see the ID of the mutations that survived the tests run:
```
mutmut results
```
This produces a list of the mutation numbers that survived, to see the actual
code change for the ID run:
```
mutmut show 56
```
where 56 can be replaced with the appropriate ID.

Note: there will be a number of false-positives.

repository: mattclarke/just-bin-it

repo_name: mattclarke/just-bin-it


text:
# generator-jhipster-hipselect
[![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Dependency Status][daviddm-image]][daviddm-url]
> JHipster blueprint,

# Introduction

This is a [JHipster](https://www.jhipster.tech/) blueprint, that is meant to be used in a JHipster application.
It replaces standard HTML 'select' elements, in Vue templates, with their [v-select](https://vue-select.org/) counterparts.

# Prerequisites

As this is a [JHipster](https://www.jhipster.tech/) blueprint, we expect you have JHipster and its related tools already installed:

- [Installing JHipster](https://www.jhipster.tech/installation/)

# Installation

## With NPM

To install this blueprint:

```bash
npm install -g generator-jhipster-hipselect
```

To update this blueprint:

```bash
npm update -g generator-jhipster-hipselect
```

## With Yarn

To install this blueprint:

```bash
yarn global add generator-jhipster-hipselect
```

To update this blueprint:

```bash
yarn global upgrade generator-jhipster-hipselect
```

# Usage

To use this blueprint, run the below command

```bash
jhipster --blueprint hipselect
```

## Running local Blueprint version for development

During development of blueprint, please note the below steps. They are very important.

1. Link your blueprint globally

Note: If you do not want to link the blueprint(step 3) to each project being created, use NPM instead of Yarn as yeoman doesn't seem to fetch globally linked Yarn modules. On the other hand, this means you have to use NPM in all the below steps as well.

```bash
cd hipselect
npm link
```

2. Link a development version of JHipster to your blueprint (optional: required only if you want to use a non-released JHipster version, like the master branch or your own custom fork)

You could also use Yarn for this if you prefer

```bash
cd generator-jhipster
npm link

cd hipselect
npm link generator-jhipster
```

3. Create a new folder for the app to be generated and link JHipster and your blueprint there

```bash
mkdir my-app && cd my-app

npm link generator-jhipster-hipselect
npm link generator-jhipster (Optional: Needed only if you are using a non-released JHipster version)

jhipster -d --blueprint hipselect

```

# License

Apache-2.0 © [Angelos Anagnostopoulos](https://anagnostic.org)

[npm-image]: https://img.shields.io/npm/v/generator-jhipster-hipselect.svg
[npm-url]: https://npmjs.org/package/generator-jhipster-hipselect
[travis-image]: https://travis-ci.org/el95149/generator-jhipster-hipselect.svg?branch=master
[travis-url]: https://travis-ci.org/el95149/generator-jhipster-hipselect
[daviddm-image]: https://david-dm.org/el95149/generator-jhipster-hipselect.svg?theme=shields.io
[daviddm-url]: https://david-dm.org/el95149/generator-jhipster-hipselect


text:
# Topology Maps

NetBox can generate simple topology maps from the physical network connections recorded in its database. First, you'll need to create a topology map definition under the admin UI at Extras > Topology Maps.

Each topology map is associated with a site. A site can have multiple topology maps, which might each illustrate a different aspect of its infrastructure (for example, production versus backend infrastructure).

To define the scope of a topology map, decide which devices you want to include. The map will only include interface connections with both points terminated on an included device. Specify the devices to include in the **device patterns** field by entering a list of [regular expressions](https://en.wikipedia.org/wiki/Regular_expression) matching device names. For example, if you wanted to include "mgmt-switch1" through "mgmt-switch99", you might use the regex `mgmt-switch\d+`.

Each line of the **device patterns** field represents a hierarchical layer within the topology map. For example, you might map a traditional network with core, distribution, and access tiers like this:

```
core-switch-[abcd]
dist-switch\d
access-switch\d+;oob-switch\d+
```

Note that you can combine multiple regexes onto one line using semicolons. The order in which regexes are listed on a line is significant: devices matching the first regex will be rendered first, and subsequent groups will be rendered to the right of those.

repository: MarcelRaschke/netbox

branch_name: refs/heads/develop

gha_language: Python

repo_name: MarcelRaschke/netbox


text:
# pyganalytics

A python package to easily get data from Google Analytics

### 1) Installation

Open a terminal and install pyganalytics package

    pip install pyganalytics

repository: dacker-team/pyganalytics

repo_name: dacker-team/pyganalytics


text:
# elastalert-ci

Continuous integration for Elastalert rules; compatible with Docker Compose,
Kubernetes, and CircleCI.

**Note**: This is an early version of a side-project. It might change rapidly,
or might not be updated at all; use it with this in mind. I would not recommend
using this image to anyone who is not already somewhat familiar with Elasticsearch,
ElastAlert, and Docker.

## What is this?

This repository provides a Docker image which you can use to create CI pipelines
for your ElastAlert detection rules.

This repo provides an example of how you can use Docker Compose - see the
`docker-compose.yaml` for more details.

[elastalert-dummy-rules](https://github.com/ferozsalam/elastalert-dummy-rules)
provides an example of how you could use this image within a CircleCI pipeline.

![](https://padlock.argh.in/images/circleci.png)

Both the Docker Compose and CircleCI configurations spin up an Elasticsearch
container and an ElastAlert container, uploads provided test data to the
Elasticsearch container, and then runs `elastalert-test-rule` against all the
rules that are provided to it. The results of `elastalert-test-rule` are passed
to a wrapper script that collects the results of all rules that have run,
returning a 0 exit code if all alerts have fired and a 1 exit code if any
rules haven't fired.

Key features:

- Works against all types of Elastalert rules, applying filters
  (unlike `elastalert-test-rule` when run with the `--data` flag)
- Designed to work recursively against all Elastalert rules in a folder
- Can ignore rules that don't have data to test against

Current limitations:

- Can currently only check for positive matches
- Can't check for a specific number of positive matches
- Can't check for specific output in the alert text
- Does not work with aggregations (but can check if an aggregated rule fires
  if the aggregation period is ignored)

## How do I use this?

Aside from the CircleCI config, there are three things you
will need to add to your existing repository of rules to make this work in your
repository:

1. Data to match against for each rule that you that you want to run CI processes
against.
    - Multiple rules can refer to the same data file, if this works for you.
    - See `data.json` for an example of how the data should be formatted; you
      can use `util/es-data-exporter.py` to create data in this format. See
      [this post][0] for an example of how to do this end to end.
    - These files can have any name you like, and can be located anywhere
      in your repository of rules.
2. An index of data files, in the format of `data-files.yaml`. Each reference should have
   the following:
    - `filename`: The location of the data file relative to the repository root
    - `rules`: List of rules that you want to test against this data file
    - `start_time`: The timestamp of the earliest record in the dataset, in the format `YYYY-MM-DDThh:mm:ss`
    - `end_time`: The timestamp of the latest record in the dataset, in the format `YYYY-MM-DDThh:mm:ss`

Then define your Docker Compose/CircleCI configuration as required, using the examples
provided above as a guide.

[0]: https://padlock.argh.in/2020/10/04/elastalert-ci-example.html
[1]: https://github.com/ferozsalam/elastalert-dummy-rules/blob/master/.circleci/config.yml

repository: ferozsalam/elastalert-ci

repo_name: ferozsalam/elastalert-ci


text:
# Track a Streak of Anything (streak)

## What is it?

This is a simple app that displays the calendar of the current month on the terminal with the days highlighted in green, if the days are found in a streaks log file. In the past I have used spreadsheets to track goals with streaks, like this summers #rwrunstreak from Runner's World. Now, with streak, it's easy to keep track of those goals right in the terminal.

## Install Build Requirements

Install the compiler:

```
brew install crystal
```

## Compiling

To build a debug version:

```
make
```

To build a release version:

```
make release
```

To install the binary:
```
make install
```

## Usage

### Streaks Log File

Streak reads streaks data from either the file referenced in the environment variable STREAKS_LOG or the default location:

```
$HOME/.local/log/streaks.log
```

### Streaks Log Format

The format of the streaks log file, is a file containg one date timestamp per line where the date is formatted in the RFC 2822 date format. The `date` utility can generate the proper timestamp using the `-R` option:

```
date -R
```

Here is an simple bash function that can be added to your $HOME/.bashrc file to create an entry:

```
mark-streak-done() {
  [ -d $HOME/.local/log ] || mkdir -p $HOME/.local/log
  date -R >> $HOME/.local/log/streaks.log
```

Then to mark a streak in the log:
```
mark-streak-done
```

### Update Streaks with Git Hook
I'm going to use streak to track my streak of 2^5 submissions. To automate this tracking, I've created a git pre-push hook:

.git/hooks/pre-push:
```
[ -d $HOME/.local/log ] || mkdir -p $HOME/.local/log
date -R >> $HOME/.local/log/streaks.log
exit 0
```

Now, everytime that I push to my two-pow-five repository, it will update my streaks log. It does not hurt anything to have multiple entries on the same day in the streaks log.

### Displaying Streaks Calendar

To display the current month and streaks:

```
streak
```
Expected output:

```
   September 2019
Su Mo Tu We Th Fr Sa
 1  2  3  4  5  6  7
 8  9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
```

The days with a streak marked in the log file will be highlighted in green. Now keep that 2^5 streak going!

repository: ericem/two-pow-five

repo_name: ericem/two-pow-five


text:
---
published: true # change to true once ready to post
year: '2012'

title: "National Parks Conservation Association – Grand Teton" # project title or client name
excerpt: "Assessing the Impact of Fences on Wildlife Migration in Grand Teton National Park" # shows on project list page
client_website: "http://www.npca.org"
category: "environment" #see list at `./_data/categories.yml`

seo_description: "" # goes in project meta description
# This file uses Kramdown. See https://kramdown.gettalong.org/syntax.html for syntax
---

## Spatial Analysis Project:
National Parks Conservation Association’s (NPCA) mission is to protect and enhance America’s National Parks for present and future generations. A particular focus of NPCA’s Grand Teton Field office is to work to protect wildlife and their migration corridors. Concerns have been raised by NPCA members and the local community in Teton County, WY regarding existing fencing within Grand Teton National Park. NPCA would like to better understand the perceived problems with existing fences in Grand Teton National Park and whether conflicts exist for wildlife.

#### Data available:
The GIS data includes shape files for four attribute layers covering Grand Teton National Park that will be necessary to support the project. These include:
1. Fence shape files
2. Land ownership shape files
3. Topographic terrain shape files
4. Vegetation cover shape files

#### Maps and Reports that will be created:
There will be several maps created in order for NPCA to complete a fence assessment. There will be initial maps created to be used for field work. Once the field work is completed, the field observations on current conditions need to be incorporated into final maps for analysis and NPCA’s assessment report. This assessment will enable NPCA to understand the areas where improvements can be made, and identify existing wildlife friendly fences that do not need improvements.

#### How the maps and reports will be used:
The maps will allow NPCA to understand the current status and extent of fences in Grand Teton National Park that may affect wildlife movements within the park and between the park and adjacent lands. NPCA will complete field work on accessible fences to assess their type, condition, height and potential hazards or barriers to wildlife. Of particular interest are fences that are in known movement corridors for ungulates.

NPCA will also incorporate available information on past fence removals in the park and assess what has been done well in fence design, such as current wildlife crossings and fences that meet wildlife friendly specifications. The report will acknowledge historic and present land uses and management needs for fences, such as ranch in-holdings and seasonal horse pastures.

This fencing assessment will enable NPCA to offer specific critique of potential problem fences and make recommendations to Grand Teton National Park for design modifications that will serve both resource management needs and reduce or remove conflicts with wildlife.

repository: azavea/summer-of-maps-website

repo_name: azavea/summer-of-maps-website