text:
## Actor Terminology

#### Actor (Instance)

An individual object in a Scene that has a "parent" Actor Type. Note that each Actor shares the Behaviors, and related Attributes and Attribute values, that a user attaches to its "parent" Actor Type.

#### Actor Type

A template or "blueprint" that an Actor is based on. An Actor Type is the "parent" of an Actor. Each Actor Type can have its own set of Behaviors that define what its "child" Actors can do and any other related game logic characteristics.

#### Actor Group

The specific Collision Group associated with an Actor Type, and any related child Actors. An Actor Type can have more than one Collision Group associated with it.

#### Animation

A group of images that display in order over a set period of time. An Actor Type can have multiple Animations but a Tile can only have a single Animation. An individual image in an Animation is called an Animation Frame. Each Animation associated with an Actor Type can have its own Collision Group(s). An Animation can be set to play once or to repeat (looping). A Tile cannot have more than one Collision Group associated with its Animation. In addition, each Animation will have its own Collision Shape.

#### Collision Group

A Collision Group is an arbitrary category that Actor Types, and their child Actors, can belong to. A user can define which Collision Groups can interact and which cannot. A user can also create new Collision Groups and define how they interact with one another. There are five default Collision Groups that a user cannot change: Players, Tiles, Doodads/Decoration, Actors, and Regions. A user can assign any Actor Type to one of those groups or to new groups. Be default, all Actor Types belong to the "Actors" Collision Group. Tiles always belong to their own Collision Group and cannot be associated with any other group. Doodads and Regions are non-colliding groups. They are used to detect collisions but not move colliding Actors.

#### Collision Shape

A Collision Shape is the shape of one set of collision bounds for a given Animation. It can be rectangular, circular, or polygonal (i.e customizable by a user).

#### Frame

A single image within an Animation. Each Frame shares the Collision Group(s) specified for a complete Animation. A Frame cannot have its own Collision Group(s) separate from those of its Animation and Actor Type. In the case of a Frame in a Tile's animation, the Collision Group is always Tiles.

#### Origin Point

Only used when you need to reference "origin" coordinates related to an Actor for specific operations. Two operations refer to the Origin Point's coordinates, rotate and scale. A user can choose a number of options for the Origin Point from a dropdown menu in the Actor Type Appearance tab and create custom coordinates for an Origin Point. The Origin Point is relative to the default horizontal and vertical (x and y) coordinates of a given Actor Type's Animation. Origin Point ONLY applies to Web games, not iOS games.

#### Sensor

An option related to the collision bounds and group(s) associated with an Actor Type. An Actor that has collision bounds set as Sensors will detect when something else collides with it but won't produce a standard collision response (i.e. bouncing off each other). If an Actor collides with another Actor that has its collision bounds set to the Sensor option, the two Actors will appear to pass through one another. A user can still perform logic on Actors (via Behaviors) that are Sensors, though. For example, although one Actor that is a Sensor can pass through another, that Actor could still take damage from colliding with another Actor.

## Behavior Terminology

#### Behavior

Modular gameplay logic that a user can attach to an Actor Type or to a Scene. Also, when creating a Behavior, a user must specify whether the Behavior is an Actor Behavior or a Scene Behavior.

#### Actor Behavior

A Behavior attached to an Actor Type. Note that each Actor shares the Actor Behaviors, and related default Attribute values, with its parent Actor Type.

#### Scene Behavior

A Behavior attached to a Scene. Scene Behaviors use different options in Design Mode to perform logic that would only apply to a Scene. For example, in a Scene Behavior, when referring to an Actor in the Scene, you must select a specific Actor. In Actor Behaviors, the default Actor is the one the Actor Behavior is attached to.

#### Attribute

A configurable property in a Behavior, represented by a blue Block in Design Mode. Each Attribute has a category it falls into called a type. Examples include Number, Text, Control, Scene, etc. Attributes can be Hidden or Non-Hidden. A user cannot configure Hidden Attributes from an Actor Type's Behavior tab or a Scene's Behavior tab, whereas a user can configure Non-Hidden Attributes (Attribute values can always be configured from Design Mode, though). Attributes are local to the Behavior instance they are associated with. This means if you have two Actors of the same Actor Type in your Scene, Actors created from that Actor Type will each have their own set of values for their Behaviors' Attributes. For example, if Actor Type A has a Behavior called Move, and that Behavior has an Attribute called Speed, then each Actor created will have its own separate Speed Attribute value.

Actor ID 1
Move (Speed: 5)

Actor ID 2
Move (Speed: 5)

Because those values are independent, you can use Behavior logic to change the value for one Actor and not the other, as shown below.

Actor ID 1
Move (Speed: 5)

Actor ID 2
Move (Speed: 10)

#### Game Attribute

A "global" or "universal" Attribute that is accessible by any and all Behaviors in a game. Game Attributes are represented by purple Blocks in Design Mode.

#### Block

A single element used to perform some kind of game logic in Stencyl's Design Mode. Each Block type is color coded, and shaped, to allow users to easily distinguish between Blocks and determine how they should interact with one another.

#### Expression Block

A Block that fits into a blank in another Block.

#### Action Block

A Block used in Design Mode that performs an in-game action of some kind. Action Blocks typically have "notches" that indicate they can fit within Event Blocks and attach to one another to perform logic in sequential order.

#### Event

A Block in Design Mode used to detect when certain conditions are met in a game or specify when certain types of logic should occur. Action Blocks can fit inside Event blocks. There are four basic types of Event blocks: When Created, Always, When Collided, and When Drawing. When Created performs logic when the game is initialized, i.e. when it starts. Always performs the logic contained in it every single step, which is a 100 times per second. When Drawing performs drawing-related logic every frame, in most games at a rate of 60 frames per second (FPS). When Collided performs the logic contained within it when the Actor (the one with a Behavior with this Block attached to it) collides with a Tile or another Actor.

#### Messaging

A way for Behavior instances to communicate with, and change the values of, other Behavior instances. Note that Behavior instances can send messages to specific other Behavior instances, to all instances of another Behavior, or to all Behavior instances in a scene, i.e. all the Behavior instances attached to the Scene itself and to all Actors in a Scene.

#### Message

An individual "phrase" sent between Behaviors is called a Message. Note that for Messages to be received properly, the Message must be spelled in the When This Hears Event Block EXACTLY as it appears in the messaging Action Block.

#### Boolean

A value that can be true or false. Also an Attribute type that can have a value of true or false. Represented by hexagonal Blocks in Design Mode. Booleans are often used to check whether or not specific in-game conditions have been met.

#### Number

A positive or negative number that can also have decimal values. This is an Attribute type in Design Mode. This is also a type of Game Attribute.

#### Text

Characters or symbols that cannot be manipulated mathematically. Also known as a "string" in programming terms. Words are a good example of Text. Text is an Attribute type in Design Mode. This is also a type of Game Attribute.

#### List

A group of objects organized in sequential order by index number. All Lists begin at index number 0 (the first item in the List has an index number of 0). This is an Attribute type in Design Mode. This is also a type of Game Attribute.

#### Control

An Attribute type in Design Mode that refers to a specific, arbitrary type of user input. Note that a Control Attribute can refer to input from a mouse click, keyboard press, or touchscreen.

#### Sound

An Attribute type in Design Mode that can refer to an arbitrary sound file (generally in MP3 format). This can be a sound effect or a music loop.

#### Channel

An independent "voice" that you can assign a Sound Attribute to. You can use Blocks in Design Mode to manipulate when Channels start and stop playing, volume, and fading.

## Development / Debugging

#### Print

A Block in Design Mode that prints the value of Attributes (or Game Attributes) to the console. This is commonly used to "debug," i.e. troubleshoot, games by letting the developer know whether certain Attribute values are changing as they should. For example, if a Behavior is supposed to increase the value of an Attribute when that Behavior receives a Message, the Print Block can show the Attribute's value on the Console so you can check whether it's changing correctly or not.

#### Comment

A type of Block that you can attach to others in Design Mode that performs no in-game logic or function but can display text for others to read. Stencyl's game engine ignores Comment Blocks entirely when running a game. This type of Block is typically used when an individual wants to explain how the logic in a Behavior works to someone else. Comment Blocks can show a single line of text or multiple lines of text.

#### Console

A special window that shows the internal functions occurring in your game. You can bring up the Console when testing a Flash-based game by pressing the ~ key. Attribute values can be tracked and displayed in the Console via the Print Block. For games made for iOS devices, the Console refers to the native Console App that appears when testing a game in the iOS Simulator on a Mac.

#### Stack Trace

A list of all the logic that has occurred when running Stencyl, in chronological order, while the program is running, including when testing a game. The Stack Trace is shown in Logs.

#### Logs

Logs are files that show text of the Stack Trace for Stencyl. When Stencyl or a game reports an error, the Logs can often help determine what the problem is. You can generate Logs for Stencyl by clicking on the Debug option and selecting Generate Logs. The Logs will be output to a location of your choice on your computer (for example, your computer's desktop).

## Scene Terminology

#### Scene

A "level" or area in a game. A Scene can also be used for menus, cutscenes, titles, and end credits. A user can create Scenes in the Scene Editor.

#### Region

An arbitrary, invisible (unless you're debugging your game and use a specific Block to make it visible) rectangular area in a Scene. You can perform logic on Actors (via Behaviors) that enter Regions, for example using a Region as a transition point between Scenes.

#### Terrain

Rather than using a grid of Tiles, a user can create Terrain, a surface that Actors can collide with, that has an arbitrary number of points. This is useful when a user wants to create highly customized collision shapes (though custom collision shapes are also possible with Tiles).

#### Joint

A connection between two Actors that a user can add in the Scene Editor. There are three types: Stick Joint, a straight, immobile connection between two Actors; a Hinge Joint, a connection that can bend, like a hinge; and a Sliding Joint, a connection that Actors can slide along.

#### Layer

A plane of Tiles organized by depth. The "lowest" Layer will be drawn first, and "higher" Layers will be drawn on top of the lower ones. A user can create an arbitrary number of Layers in a Scene.

#### Tile

A rectangular graphic that can have collision bounds applied to it. Tiles are organized into Tilesets and are used to make Scenes. A user can select different collision shapes to apply to a given Tile or no collision shape. A user can place Tiles on the same or different Layers. A Tile can have any arbitrary rectangular shape and size, i.e. square or rectangular. Common sizes include 16 x 16, 32 x 32, 48 x 48, and 64 x 64.

#### Tileset

A collection of Tiles used to draw collision surfaces, and scenery Actors can't collide with, in a Scene. A Tileset has a maximum size of 2,880 x 2,880 pixels for Web (Flash) games and 1,024 x 1,024 (at standard, non-retina resolution) for iOS games. All Tiles in a Tileset will have the same rectangular dimensions a user chooses when uploading, or creating, a Tileset.

#### Camera

Where in a Scene the viewport (the screen size for a game) is focused. There are a number of Blocks that can move the viewport. For example, the Camera could be locked to the player's Actor and follow that Actor around. The Camera can scroll automatically. The Camera could also be fixed, for example in puzzle games where the Scene's size matches the screen size.

#### Background

An image drawn behind (below) the lowest layer of Tiles. A user can add a Background via the Background Editor.

#### Foreground

An image drawn in front of the highest Layer of Tiles.

#### Instance Customization

The ability to change the non-hidden Attribute values associated with an individual Actor's Behavior(s). You can change an Actor's Behavior(s)' Attribute values by right-clicking on an Actor in the Scene Editor and clicking "Customize Behavior."

## Game Terminology

#### Game

A type of file Stencyl uses to hold all of your game's information, essentially the collection of graphics, sounds, and gameplay logic (Behaviors) that make up a game. There are three types of games you can make, Web, Desktop and Mobile. Web games are exportable in SWF format (for use with the Flash player) or JS format (for HTML5). Desktop games are exported as .EXE (Windows executables) and .APP (Mac app bundles). Mobile games are exportable as .IPA files for use with iOS-based (Apple) devices and .APK files for use with Android-based devices.

#### Kit

A template for a game. Kits already include a number of Behaviors to make a game in a specific genre. Kits are designed to make it easy to make a game in a given genre. Some of the Kits that Stencyl offers include the Jump & Run Kit, for making platformers; and the Space Shooter Kit, for making scrolling shoot-em-up games. Users can create new Kits to share with others.

#### Preloader

The screen that appears before a game starts. The Preloader can be used to show a custom logo in a splash screen. The Stencyl logo appears either after the preloader screen or as a badge in the lower-right corner of the preloader. You can have the default Stencyl splash screen removed by purchasing a license for Web games. The splash screen does not exist for iOS games and is instead represented by a watermark.

#### Site Lock

The ability to make a game playable only on designated websites, for example for sponsored Web games.

## Graphics / Drawing

#### Actor Space

When drawing text or custom shapes, this refers to an Actor as the point of origin for whatever is being drawn. Whatever is drawn will have its origin as the upper left corner (0, 0) of the Actor.

#### Screen Space

When drawing text or custom shapes, this refers to the screen as the point of origin for whatever is being drawn. Whatever is drawn will have its origin as the upper left corner (0, 0) of the screen window.

## Products

#### Stencyl (previously known as StencylWorks)

Stencyl's game development toolset.

#### StencylForge

A web-based service accessible from inside Stencyl, that allows you to share game assets with others and download game assets that others have uploaded.

## Areas of the Toolset

#### Welcome Center

The screen you see when you open Stencyl. You can select a Game or Kit to work on or create a new Game or Kit.

#### Dashboard

The hub from which you can access other Editors, and game assets, in a Game or Kit in Stencyl.

#### Actor Editor

An Editor in Stencyl that allows you to create and customize Actor Types, from Animations to the Behaviors attached to an Actor Type.

#### Background Editor

An Editor in Stencyl that allows you to upload images to use as backgrounds and foregrounds, and set scrolling speeds for them.

#### Scene Editor

An Editor in Stencyl that allows you to create and edit Scenes, and place Actors in a game's Scenes. The Inspector pane (added in 2.x) is a properties pane that allows you to customize Actors on the fly.

#### Tileset Editor

An Editor in Stencyl that allows you to upload and edit Tilesets, including setting up Animations and collision bounds for individual Tiles.

#### Design Mode

Stencyl's visual code editor, which uses Blocks that can snap into one another, to create game logic. Design Mode can be used to create Actor Behaviors and Scene Behaviors. Stencyl's Design Mode visual code Block system is based on MIT's Scratch software and is used with permission. Note that code written in specific programming languages (depending on the platform the game is targeting) can also be embedded in Blocks.

#### Code Mode

A development environment, built into Stencyl, that allows you to use different common programming languages to create Behaviors.

## Technologies

#### Haxe

A multi-platform language similar to JavaScript and ActionScript that cross-compiles to Flash bytecode, JavaScript and C++. This enables exporting to most commercially important platforms (Flash, HTML5, Windows/Mac/Linux, iOS, Android) from a single codebase.

#### OpenFL (and Lime)

A reimplementation of the Flash API within Haxe. Effectively, allows a game or an engine to be written in a Flash-like manner and exported to all platforms. OpenFL stands for Open Flash Library.

#### Box2D

A free, open-source physics engine, created by Erin Catto, that Stencyl uses to provide physics for games.

#### Objective-C

A programming language, developed by Apple, used to write software programs that can run on iOS devices (iPhone, iPad, Apple TV). In Stencyl 3.0 and beyond, Objective-C can be used in extensions to enhance games with native functionality.

repository: Stencyl/stencylpedia

gha_language: Batchfile

repo_name: Stencyl/stencylpedia


text:
---
title: 'Makefile rule for Jekyll drafts'
date: 2020-03-08 00:00:00
tags: [jekyll, makefile]
layout: post
---

I’ve previously written about my [fondness for Makefiles](/makefiles-are-for-the-web), so it feels on brand that I continue talking about it.

My latest idea was to leverage these files for blogging. Jekyll posts follow a simple [`YEAR-MONTH-DAY-title.MARKUP` format](https://jekyllrb.com/docs/posts/), which seemed perfect to be automated. In an ideal world, I would like to just start writing and my computer to figure out these details.

Since I had previously outsourced some Jekyll development commands to my own Makefile (you can check the source code [here](https://github.com/gnclmorais/blog/blob/gh-pages/Makefile)), I guessed this could be another one. I’ll leave you with my final result for now and I’ll explain it afterwords:

```make
FILENAME:=./_drafts/$(shell date +'%Y-%m-%d')-.md
define post
---
title: ''
date: $(shell date +'%Y-%m-%d') 00:00:00
tags:
layout: post
---
endef
export post
draft:
  touch $(FILENAME)
  echo "$$post" > $(FILENAME)
```

If you put this on a Makefile and run `make draft`, this is what you get:

```bash
goncalomorais@amadeus:~/D/g/_/blog|gh-pages✓
➤ make draft
touch ./_drafts/2020-03-08-.md
echo "$post" > ./_drafts/2020-03-08-.md
```

Let’s see what does this create:

```bash
goncalomorais@amadeus:~/D/g/_/blog|gh-pages⚡?
➤ git status
On branch gh-pages
Your branch is ahead of 'origin/gh-pages' by 1 commit.
  (use "git push" to publish your local commits)

Untracked files:
  (use "git add <file>..." to include in what will be committed)
  _drafts/2020-03-08-.md

nothing added to commit but untracked files present (use "git add" to track)

goncalomorais@amadeus:~/D/g/_/blog|gh-pages⚡?
➤ cat _drafts/2020-03-08-.md
---
title: ''
date: 2020-03-08 00:00:00
tags:
layout: post
---
```

What does this all mean, though? Let’s break it down bit by bit to have a better understanding of why we need them.

---

```make
FILENAME:=./_drafts/$(shell date +'%Y-%m-%d')-.md
```
The line above allows us to generate a file with the format `YYYY-MM-DD-.md` on the `_drafts` folder and save it on a _make_ variable (not a regular shell variable), which a [kind soul on StackOverflow](https://stackoverflow.com/a/41316280/590525) made at point to differentiate.

```make
define post
---
title: ''
date: $(shell date +'%Y-%m-%d') 00:00:00
tags:
layout: post
---
endef
export post
```
Next, we’re using a nice way to [define a multiline string on Makefiles](https://gist.github.com/azatoth/1030091), which allows us to store it on a variable so we can later insert it on the draft file we just created.

```make
draft:
  touch $(FILENAME)
  echo "$$post" > $(FILENAME)
```
Finally, the bow that wraps everything nicely. The rule `draft` now runs two simple commands:
- `touch` sets the modification and access times of files, but if any file does not exist, it gets created;
- `echo` _technically_ display a line of text, but the `>` operator is redirecting the output to the new file we just created, filling it in with the Jekyll post header.

That’s it, we’re now able to run `make draft` and quickly create a draft file for today’s blog entry. This post was created like that!

license: MIT

repository: gnclmorais/blog

branch_name: refs/heads/gh-pages

extension: md

gha_language: SCSS

gha_license_id: MIT

license_type: permissive

repo_name: gnclmorais/blog


text:
# SeoulWind

It is designed for the [infographic](https://en.wikipedia.org/wiki/Infographic) of Seoul air quality.

In now days, we are very interested in air quality due to air pollution.

weather cast only shows a number of a wind speed, index of fine dust.

We are really want to know the intuitive information.

This site and github focuses the needs.

### Overlay
 - Wind, PM2.5, PM10, SO2, NO2, O3, CO, Temperature, Humidity
### Inspiration
 - [HINT.FM wind map](http://hint.fm/wind/)
 - [東京風速](https://air.nullschool.net/)

### Air Data
 - [서울 열린데이터 광장](http://data.seoul.go.kr/)
 - [서울시 대기환경 정보](http://cleanair.seoul.go.kr/)
 - [서울시 자동기상관측시스템](http://aws.seoul.go.kr/)

### Map Data
 - [seoul-maps](https://github.com/southkorea/seoul-maps)

### Modules
 - DB Engine : PostgreSQL
 - Compiler : Python 3.5
 - Web framework : [django 2.0](https://www.djangoproject.com)
 - javascripts
    - [D3](https://d3js.org/)
    - [when](https://github.com/cujojs/when)
    - [topojson](https://github.com/topojson/topojson)
    - [jquery](https://jquery.com/)

branch_name: refs/heads/master

gha_language: Python


text:
- [Kadena (blockchain)](#kadena-blockchain)
  - [Kadena history](#kadena-history)
  - [Blockchain Topology (Chainweb)](#blockchain-topology-chainweb)
  - [Concensus protocol (ScalableBFT / Tangaroa)](#concensus-protocol-scalablebft--tangaroa)
- [Pact (language)](#pact-language)
  - [Pact ???Entities](#pact-entities)
  - ???
- [Formal verification](#formal-verification)
  - [Properties](#properties)
  - [Invariants](#invariants)
  - [Schema Invariants](#schema-invariants)
  - [Current State](#current-state)
- [Links](#links)
  - ???
  - ???
  - ???

## Kadena (blockchain)

### Kadena history
[Kadena](http://kadena.io/) is a continuation of the **JP Morgan** project Juno/Tangaroa, which was developed based on the **Raft consensus algorithm**. Kadena was built by the two key developers who built Juno: Will Martino and Stuart Popejoy, that iterated on the idea for a year and open sourced the project in February of 2016, adding Pact.

### Blockchain Topology (Chainweb)
Chainweb is a parallel-chain architecture which can combine hundreds to thousands of Proof-of-Work blockchains, increasing throughput to 10,000 transactions per second and beyond. The Chainweb network transacts a single currency using trustless Simple Payment Verification (SPV) cross-chain transfers. Chains incorporate the Merkle roots of each other to enforce a single super chain offering an effective hash power that is the sum of each individual chain’s hash rate.

### Concensus protocol (ScalableBFT / Tangaroa)
ScalableBFT is Byzantine Fault Tolerant (BFT) variant of the Raft consensus algorithm inspired by the original Raft algorithm and the Practical Byzantine Fault Tolerance (PBFT) algorithm.

## Pact (language)

**Pact is an interpreted language**. Pact sources saved in ??blockchain?? (no compilation step) and interpreted during ???. For any function definition in a Pact module, any subsequent call to another function is inlined (???when???: before typecheck/verify/exec). Pact module loading to resolve all references in advance, meaning that instead of addressing functions in a lookup table, the function definition is directly injected (or “inlined”) into the callsite. where the code is always available.

**Pact is Turing-incomplete language**. Pact prohibits recursion and unterminated loops (recursion is detected when smart-contract modules are loaded into the blockchain). Pact does support operation on list structures via *map*, *fold* and *filter*, but since there is no ability to define infinite lists, these are necessarily bounded. Bitcoin Script is Turing-incomplete too.

Pact does not need to employ any kind of cost model like Ethereum’s "gas" to limit computation. The lack of recursion also means Pact	can	aggressively	inline	function	calls	at	module	load	time,	 boosting	performance.

**Pact is database-focused language**.

Blockchain data	in	Pact	interpreted as	named tables,	which	have	a key-row structure,	support	 schemas,	and	support	a	versioned,	columnar	history. Smart Contracts are like stored procedures over database that save checked invariants and .

In Pact, tables can be guarded by a module, preventing direct access to the table, and allowing the module to define a coherent and safe data-access API.

**Atomic execution**. A single message sent into the blockchain to be evaluated by Pact is atomic: the transaction succeeds as a unit, or does not succeed at all.

**Key-Row Model**. Blockchain execution can be likened to OLTP (online transaction processing) database workloads, which favor denormalized data written to a single table. Pact’s data-access API reflects this by presenting a key-row model, where a row of column values is accessed by a single key. Pact does not support joining tables.

**Queries**.  Pact offers a query mechanism for selecting rows from a table. While visually similar to SQL, the *select*, *where* and *filter* operations offer a streaming interface to a table
```
(reverse (sort ['age]
  (select 'employees ['first-name,'last-name,'age]
    (and? (where 'title (= "Programmer"))
          (where 'salary (< 90000))))))
```

**Pact is ???authorizing language**. authorizing users to perform sensitive operations.

**Pact has Formal verification support in design**.

Т.е. перед выполнение любого смарт контракта среда исполнения имеет один файл (inline) исходного не компилированного кода на Pact, упрощенного (нет циклов, рекурсии, гарантированная остановка). Этот код используя keysets модифицирует blockchain, представленный как база данных. Код имеет врапления ?invarians and ?properties, до исполнения ?SMT-prover (например ?Z3) осуществляет ???.

### Pact ???Entities

Execution Modes
1. **Contract definition**.
Code is sent into the blockchain to establish the smart contract, as comprised of code (modules), tables (data), and keysets (authorization). This can also include database-modifying code, for instance to initialize data.
2. **Transaction execution**.
Refer to business events enacted on the blockchain, like a payment, a sale, or a workflow step of a complex contractual agreement. A transaction is generally a single call to a module function.
3. **Queries and local execution**.
Querying data is carried out as a local execution on the node receiving the message. Pact code has no ability to distinguish between transactional and local execution.

Contract Definition components
1. **Keyset definition**. Definition stores in the global keyset database.
2. **Module declaration**. Functions, Schema definitions, Table definitions.

A	smart	contract	in	Pact	is	comprised	of	three	core	elements:	tables,	keysets,	and	a	code	module.

Secondary facts
- Pact interpreter is written in Haskell
- Pact uses unbounded integers which don’t overflow
- Variables are immutable: they cannot be re-assigned, or modified in-place

## Formal verification

With Pact’s system, you can specify particular properties in order to prove they are true for all possible inputs and states, but unlike full specification, you don’t need to specify every detail of your program.

The Yoke formal verification system starts by compiling Pact smart contract code directly into the SMT-LIB2 language. This code can then be loaded into the Z3 theorem prover, yielding a system usable by experts in SMT techniques.

Yoke offers a simple domain specific language (DSL) that can be inserted directly into Pact code to express inviolable business rules.

Pact 2.4 introduces a powerful new system to allow developers to specify **properties** and **invariants** right next to their code.

The big difference here is that these properties and invariants, along with the Pact code itself, are directly compiled into **SMT-LIB2** to be verified by the **Z3** theorem prover, an extremely powerful tool that can test the entire universe of inputs and database states with lightning speed, ensuring that the code can never violate these rules.

Pact’s property checker works by realizing the language’s semantics in an SMT (“Satisfiability Modulo Theories”) solver – by building a formula for a program, and testing the validity of that formula. The SMT solver can prove that there is no possible assignment of values to variables which can falsify a provided proposition about some Pact code. Pact currently uses Microsoft’s Z3 theorem prover to power its property checking system.

Such a formula is built from the combination of the functions in a Pact module, the properties provided for those functions, and invariants declared on schemas in the module.

For any function definition in a Pact module, any subsequent call to another function is inlined. Before any properties are tested, this inlined code must pass typechecking.

### Properties

**Properties** has vocabulary for talking about function inputs and outputs, and database interactions.

**Properties** are used on functions to establish behavior that must be enforced no matter what inputs are provided, or what state the blockchain database is in, and resemble “contracts” from languages like Racket or Eiffel.

### Invariants

**Invariants** have vocabulary for talking about the shape of data.

Pact’s **invariants** correspond to a simplified initial step towards refinement types, from the world of formal verification.

**Invariants** are rules governing database columns, ensuring that no code that ever writes to the database can ever violate those rules, resembling database constraints in traditional RDBMSs.

### Schema Invariants

For schema invariants, the property checker takes an inductive approach: it assumes that the schema invariants hold for the data currently in the database, and checks that all functions in the module maintain those invariants for any possible DB modification.

### Current state

For this initial release we don’t yet support 100% of the Pact language, and the implementation of the property checker itself has not yet been formally verified, but this is only the first step. We’re excited to continue broadening support for every possible Pact program, eventually prove correctness of the property checker, and continually enable authors to express ever more sophisticated properties about their smart contracts over time.

### Links

#### Kadena links
- Martino, Popejoy, Quaintance, Jan2018, [ChainWeb White Paper](http://kadena.io/docs/chainweb-v15.pdf)
- Quaintance, Martino, Jan2018, ["ChainWeb Protocol Security Calculations"](http://kadena.io/docs/chainweb_calculations_v7.pdf)
- [Project Summary Whitepaper](http://kadena.io/docs/KadenaPublic.pdf)
- [github.com/kadena-io](https://github.com/kadena-io)
- [Ex-J.P. Morgan Heads’ Multi-Chain Smart Contract Platform Kadena](https://medium.com/theblock1/ex-jp-morgan-heads-multi-chain-smart-contract-platform-kadena-4d3be4cedf0)
- Jan2017, ["Kadena Blockchain Uses ScalableBFT Consensus Protocol, Offering 8-12,000 TPS"](https://www.chainofthings.com/news/2017/1/16/kadena-blockchain-uses-scalablebft-consensus-protocol-to-offer-8000-tps)

#### Pact Info
- [github.com/kadena-io/pact](https://github.com/kadena-io/pact)
- [Pact Whitepaper](http://kadena.io/docs/Kadena-PactWhitepaper.pdf)
- [Pact Reference Docs](http://pact-language.readthedocs.io/)
- [Try Pact is in the browser](http://kadena.io/try-pact/)
- [Syntax and linter for the Pact](https://github.com/kadena-io/pact-atom)

#### Pact News
- [Pact 2.4 Is Out! ("The Pact Property Checker" section)](https://medium.com/kadena-io/pact-2-4-is-out-dd88a3e7ca31)
- [Pact Formal Verification: Making Blockchain Smart Contracts Safer](https://medium.com/kadena-io/pact-formal-verification-for-blockchain-smart-contracts-done-right-889058bd8c3f)

repository: golovach-ivan/Correct-by-Construction

repo_name: golovach-ivan/Correct-by-Construction


text:
+++
date = 2019-10-21T09:54:54+02:00
weight = 5
+++

We understand that every migration is different; however, based on our experience with over a million active customers and helping organizations of all ages, industries, and geographies migrate to the cloud, we have seen a standardized migration process take shape. This process can generally be broken into three phases of activities: **1) Assess, 2) Mobilize and 3) Migrate and modernize**.

In this workshop we will focus on **Migrate & Modernize** phase, you will learn how to migrate a fictional application to AWS cloud by:

  - **Re-platforming** of database with AWS Database Migration Service
  - **Re-hosting** of webserver with AWS CloudEndure Migration
  - **Modernization** of webserver to containers running on Amazon Elastic Container Service
  - (optional) Improvement of **Operation Excellence**, **Security**, **Performance Efficiency** and **Cost Optimization** of the deployed architecture by following the Well Architected Framework

gha_language: CSS

gha_license_id: NOASSERTION


text:
# Expense-Tracker
 An Expense Tracker app Built with Mern Stack using Hooks (useState, useContext, useReducer) and the Context API

> Full stack expense tracker
## Usage

```
change config.env file in config folder
expense-tracker\config\config.env

# Prod
NODE_ENV=production
# Dev
NODE_ENV=developement
```

```
 npm install
 cd client npm install
 cd ..

 # Run front and backend
 npm run dev

 # Backend only
 npm run server

 # Frontend only
 npm run client
 ```

 ### Build client for production
```
 cd client
 npm run build
 ```
 ### Production
 ```
 npm start
```

branch_name: refs/heads/main


text:
## Factor Combinations

Numbers can be regarded as product of its factors. For example,

```
8 = 2 x 2 x 2;
  = 2 x 4.
```

Write a function that takes an integer *n* and return all possible combinations of its factors.

**Note:**

1. Each combination's factors must be sorted ascending, for example: The factors of 2 and 6 is `[2, 6]`, not `[6, 2]`.
2. You may assume that *n* is always positive.
3.

**Examples:**

input: `1`

output:
```
[]
```

input: `37`

output:
```
[]
```

input: `12`

output:
```
[
  [2, 6],
  [2, 2, 3],
  [3, 4]
]
```

input: `32`

output:
```
[
  [2, 16],
  [2, 2, 8],
  [2, 2, 2, 4],
  [2, 2, 2, 2, 2],
  [2, 4, 4],
  [4, 8]
]
```

repository: cloudzfy/leetcode

repo_name: cloudzfy/leetcode


text:
Attean Semantic Web Framework
=============================

Attean is a Perl framework for working with RDF data and SPARQL queries.
It features parsers and serializers for many different RDF formats including
RDF/XML, Turtle, N-Triples and N-Quads, as well as SPARQL formats like
SPARQL-XML, SPARQL-JSON, SPARQL-CSV and SPARQL-TSV.

Attean features support for SPARQL 1.1 queries, and a set of APIs and command
line tools to parse, transform, query, and serialize RDF data.

Getting Attean
--------------

Attean is available from:

* [GitHub](https://github.com/kasei/attean/)
* [CPAN](https://metacpan.org/release/Attean)

And is also available as [Debian packages](https://packages.qa.debian.org/liba/libattean-perl.html).

Getting Help
------------

A group of perl-rdf developers are usually available in the
[perlrdf IRC channel](irc://irc.perl.org/perlrdf) where we're happy to answer
questions.

You can also:

* Email our [mailing list](http://lists.perlrdf.org/listinfo/dev)
* Create a new [GitHub Issue](https://github.com/kasei/attean/issues) or submit a pull request

repository: ppisar/attean

repo_name: ppisar/attean


text:
# ApiregistrationV1ServiceReference

ServiceReference holds a reference to Service.legacy.k8s.io
## Properties

Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**name** | **String** | Name is the name of the service |  [optional]
**namespace** | **String** | Namespace is the namespace of the service |  [optional]
**port** | **Integer** | If specified, the port on the service that hosting webhook. Default to 443 for backward compatibility. `port` should be a valid port number (1-65535, inclusive). |  [optional]

repository: kubernetes-client/java

gha_language: Java

repo_name: kubernetes-client/java


text:
# Tabs on scripting.com
I changed the way tabs work on the "Scripting News" home page.

There are three tabs: Blog, Links and About.

When you click on a tab, you are redirected with a url of this form:
* http://scripting.com/?tab=name

Where name is the name of the tab you're going to.

That way you always have a link to the tab in the address bar.

And the browser's Back button works.

It used to do it all with JavaScript without redirecting.

It also no longer remembers what tab you had frontmost last time you visited the site. This was always annoying. Not a good heuristic. When I come to scripting.com 99 times out of 100 I want to see the blog. It doesn't matter what I was looking at last time I visited.

This was suggested a long time ago, has been on my todo list ever since, and I finally got around to doing it. It's even worse than it appears. :boom:

repository: scripting/Scripting-News

gha_language: HTML

repo_name: scripting/Scripting-News


text:
---
layout: page
title: Software Testing Events
subtitle: Software Testing Events.
---

## Why attend Events?

Software Testing Conferences are a very great place to attend to learn and get informed about new tools, techniques, and technologies.It is also a place where you will also have a chance to make great network opportunities.If you are interested in attending the events or wanting to know more about them, I have created a list of Testing Events with name, date, and location.

# Top 2017 Software Testing Events.

## Quality Jam Conference ATL 2017

  ![qualityjam](https://cloud.githubusercontent.com/assets/10678180/23596959/b140002a-01f4-11e7-8b29-9c092e6579c2.JPG)

> Quality Jam 2017, QASymphony’s Software Testing Conference, is back and better than ever!  This two-day event will feature all-star
> speakers, hands-on product training and the opportunity to network with the leading minds in software testing.  Additionally, leaders > from QASymphony will be sharing the product roadmap for 2017.

> The goal is to provide you with ideas, insights and practical knowledge to help you improve the speed and quality of software that
> your company creates

 http://qualityjam.net/

Date: April 18-19, 2017

Place:
Westin Hotel Buckhead
3391 Peachtree Rd NE
Atlanta, GA 30326

## The Agile Testing Days USA 2017

The Agile Testing Days USA are dedicated to the North, Middle and South American community of Software Testers with an Agile Mindset for constant learning and international networking.

Be ready for three intense days of professional input, deep conversations and a lot of fun. You will leave inspired by many expert talks, hands-on workshops and numerous other activities. It will significantly enhance your daily working processes and business.

The Agile Testing Days originated in Germany, and have been rated Europe’s greatest Agile Software Testing Event and 2nd best Agile Conference worldwide.

Now it’s time to bring the conference to the USA.

We look forward to welcoming you to the first edition of the Agile Testing Days USA.

![usagiletestingdays](https://cloud.githubusercontent.com/assets/10678180/21833018/d12d8970-d774-11e6-9f80-ea1c57400eed.JPG)

 https://agiletestingdays.us/

Date: JUNE 19 – 21, 2017

Place:
DoubleTree by Hilton Hotel Boston North Shore
50 Ferncroft Rd
Danvers, MA 01923
USA

Phone:
 +1<PHONE_NUMBER>

## Automation Guild Conference 2017

**This is a 5 Day Online Conference Dedicated 100% to Test Automation. In this conference 25 + World-Leading Test Automation Experts will Share Their Secrets.**

![automationguild](https://cloud.githubusercontent.com/assets/10678180/20657230/e6f0ea38-b4f9-11e6-9b5d-6457e1461bdb.JPG)

Conference URL:  https://automationguild.com/

Date: January 9-13th 2017

Place: Online Conference . Watch at your comfort !

Learn more about the Automation Guild conference by checking out the Automation Guild session sneak peeks by clicking this link .

 https://automationguild.com/sessions/

# Top 2016 Software Testing Events.

## Online Test Conference First

### First Online Conference ever held and its totally FREE

![onlinetestconference](https://cloud.githubusercontent.com/assets/10678180/20452446/4950207c-adcf-11e6-982c-00ddecdf9b0e.PNG)

Conference URL:  http://www.onlinetestconf.com/

Date: NOVEMBER 29 -30 ,2016

Place: Online From your browser

## TestBash Philadelphia 2016

![testbash_2016](https://cloud.githubusercontent.com/assets/10678180/19627662/a03c9690-9911-11e6-8476-ef6f973f5f19.png)

Conference URL:  https://ti.to/mot/testbash-philadelphia-2016

Date: NOVEMBER 10 -11 ,2016

Place: FringeArts Theatre, 140 N. Columbus Blvd. (at Race St.) Philadelphia, PA 19106

## imPACt 2016

![impact2016](https://cloud.githubusercontent.com/assets/10678180/19400693/f8a68c10-921c-11e6-91df-800aeb687883.png)

Conference URL:  https://www.cmg.org/conferences/impact-2016/

Date: NOVEMBER 7-10,2016

Place: HYATT REGENCY, LA JOLLA, CA

## STARWEST

![starwest](https://cloud.githubusercontent.com/assets/10678180/19400982/553d3c52-921e-11e6-96e6-b8d5ed2996e9.png)

Conference URL:  https://starwest.techwell.com/

Date : OCTOBER 2-7,2016

Venue: Disneyland Hotel: 1150 West Magic Way , Anaheim, CA 92802

## STPCon Fall 2016

![stpcon](https://cloud.githubusercontent.com/assets/10678180/19401297/2270bd88-9220-11e6-81ec-de279cca054b.png)

Conference URL:  http://fall2016.stpcon.com/

Date: September 19 - 22

Venue: Sheraton Dallas Hotel :  400 North Olive Street , Dallas, Texas, 75201

## Velocity New York

![velocity_2016](https://cloud.githubusercontent.com/assets/10678180/19627757/8110808a-9914-11e6-833b-afcad1b7b14c.png)

Conference URL:  http://conferences.oreilly.com/velocity/devops-web-performance-ny

Date : SEPTEMBER 19-22,2016

Venue: New York Hilton Midtown: 1335 Avenue of the Americas, New York, New York, 10019

## LIQE LEADERSHIP IN QUALITY ENGINEERING 2016

![cigniti1_2016](https://cloud.githubusercontent.com/assets/10678180/19627848/35747a12-9916-11e6-846b-8f04798f983f.png)

Conference URL:  http://www.cigniti.com/liqe/

Date : SEPTEMBER 15,2016

Venue: THE GAYLORD TEXAN RESORT & CONVENTION CENTER: 1501 GAYLORD TRAIL, GRAPEVINE, TEXAS 76051, USA

## STAREAST

![stareast](https://cloud.githubusercontent.com/assets/10678180/19628130/52caa284-991c-11e6-951e-ff4873171ae5.png)

Conference URL:  https://stareast.techwell.com/

Date: May 1 - 6

Venue: Renaissance Orlando at Sea World :  ORLANDO , FLORIDA

https://www.youtube.com/watch?v=at7a7-dIGhY&list=PLg74w4qP0mfG6dxeLw8vrHQGu9Yt4gwp-


text:
# Service capabilities (Components v2)

<<../../_v2_banner.md>>

[Service capabilities][glossary-service] allow components to connect to
[FIDL services][fidl-service] provided either by other components or the
component framework itself.

Note: _Protocol_ and _service_ capabilities are distinct types of capabilities.
A protocol represents a single instance of a
[FIDL protocol][glossary-fidl-protocol], while a service represents zero or more
instances of a [FIDL service][glossary-fidl-service]. See the documentation on
[protocol capabilities][protocol-capability] for more details.

## Providing service capabilities

To provide a service capability, a component must define the capability and
[route](#routing-service-capabilities) it from `self`. The component hosts the
service capability in its [outgoing directory][glossary-outgoing].

To define the capability, add a `capabilities` declaration for it:

```json5
{
    capabilities: [
        {
            service: "fuchsia.example.ExampleService",
        },
    ],
}
```

This defines a capability hosted by this component whose outgoing directory path
is `/svc/fuchsia.example.ExampleService`. You can also customize the path:

```json5
{
    capabilities: [
        {
            service: "fuchsia.example.ExampleService",
            path: "/my_svc/fuchsia.example.MyExampleService",
        },
    ],
}
```

## Routing service capabilities

Components route service capabilities by either:

-   [exposing](#routing-service-capability-expose) them,
-   or [offering](#routing-service-capability-offer) them.

### Exposing {#routing-service-capability-expose}

Exposing a service capability gives the component's parent access to that
capability. This is done through an [`expose`][expose] declaration.

```json5
{
    expose: [
        {
            service: "fuchsia.example.ExampleService",
            from: "self",
        },
    ],
}
```

The `from: "self"` directive means that the service capability is provided by
this component. In this case the service must have a corresponding
[definition](#providing-service-capability).

### Offering {#routing-service-capability-offer}

Offering a service capability gives a child component access to that capability.
This is done through an [`offer`][offer] declaration.

```json5
{
    offer: [
        {
            service: "fuchsia.example.ExampleService",
            from: "self",
            to: [ "#child-a", "#child_b" ],
        },
    ],
}
```

## Consuming service capabilities

When a component [uses][use] a service capability that has been [offered][offer]
to it, that service is made available through the component's
[namespace][glossary-namespace].

Consider a component with the following manifest declaration:

```
{
    use: [
        {
            service: "fuchsia.example.ExampleService",
        },
    ],
}
```

When the component attempts to open the path
`/svc/fuchsia.example.ExampleService`, the component framework performs
[capability routing][capability-routing] to find the component that provides
this service. Then, the framework connects the newly opened channel to this
provider.

You can also customize the namespace path:

```json5
{
    use: [
        {
            service: "fuchsia.example.ExampleService",
            path: "/my_svc/fuchsia.example.MyExampleService",
        },
    ],
}
```

For more information about the open request, see
[life of a protocol open][life-of-a-protocol-open].

[capability-routing]: /docs/concepts/components/v2/component_manifests.md#capability-routing
[expose]: /docs/concepts/components/v2/component_manifests.md#expose
[fidl-service]: /docs/concepts/components/v2/services.md
[framework-services]: /docs/concepts/components/v2/component_manifests.md#framework-services
[glossary-fidl]: /docs/glossary.md#fidl
[glossary-fidl-protocol]: /docs/glossary.md#protocol
[glossary-fidl-service]: /docs/glossary.md#service
[glossary-namespace]: /docs/glossary.md#namespace
[glossary-outgoing]: /docs/glossary.md#outgoing-directory
[glossary-protocol]: /docs/glossary.md#protocol-capability
[glossary-service]: /docs/glossary.md#service-capability
[life-of-a-protocol-open]: /docs/concepts/components/v2/capabilities/life_of_a_protocol_open.md
[offer]: /docs/concepts/components/v2/component_manifests.md#offer
[protocol-capability]: /docs/concepts/components/v2/capabilities/protocol.md
[routing-example]: /examples/components/routing
[use]: /docs/concepts/components/v2/component_manifests.md#use


text:
# cdn-origin

Simple but quick Golang webserver that serves requests to get files and
redirects from [PostgreSQL](https://www.postgresql.org).

### Features
- Serves files, short URLs and "tombstones" (deleted file markers)
- Allows for URL previewing on short URLs (add `?preview`)
- Allows for thumbnail generation on images via external thumbnailer service (if
  enabled, add `?thumbnail`)
- Can be configured to store generalized metrics

### Requirements

- PostgreSQL server with `objects` table
- Access to the folder where the files are stored
- If metrics support is desired, you will need an Elasticsearch server setup as
  noted below
- If thumbnail support is desired, you will need a webserver with an endpoint
  that returns a thumbnail from raw POSTed image data (`jpeg`, `gif`, `png`,
  `webp`) such as
  [thumbnail-service](https://owo.codes/whats-this/thumbnail-service). We
  recommend that the service outputs 200x200 (max) JPEG images

### Usage

```
$ git clone https://owo.codes/whats-this/cdn-origin.git
$ cd cdn-origin
$ cp config.sample.toml config.toml
$ vim config.toml
$ go build main.go
$ ./main --config-file "./config.toml"
```

### Metrics

If `metrics.enable` is `true`, request metadata will be indexed in the provided
Elaticsearch server in the following format:

```js
{
  "country_code": keyword,
  "hostname":     keyword,
  "object_type":  keyword,
  "status_code":  short,
  "@timestamp":   date // generated from `@timestamp` pipeline
}
```

The index and `@timestamp` pipeline are created automatically if `cdn-origin`
has permission. Alternatively, the mapping and pipeline can be created by other
means using the `.json` files in [lib/metrics/](lib/metrics).

### TODO

- `OPTIONS`/`HEAD` support
- Write tests

### License

`cdn-origin` is licensed under the MIT license. A copy of the MIT license can be
found in [LICENSE](LICENSE).

repository: iojcde/cdn-origin

repo_name: iojcde/cdn-origin


text:
---
date: '2019-07-21'
keywords:
- impersonate
- 'sys\_id'
layout: post
title: Impersonating via sys id
authors: ["jace"]
---

Sometimes you'll have many people with the same name... Don't judge my
users. You also sometimes need to impersonate the user. Did you know you
can impersonate by pasting the `sys_id`? I didn't.

Thanks cmclendon for sharing this!

![2019-07-21-impersonate.png](./2019-07-21-impersonate.png)

Source:
https://community.servicenow.com/community?id=community\_article&sys\_id=9a177495db44f348f7fca851ca961961


text:
# MPLLIBS_LAZY_METAFUNCTION

## Synopsis

```cpp
#define MPLLIBS_LAZY_METAFUNCTION(name, args) \
  // unspecified
```

## Description

This macro is similar to [`MPLLIBS_METAFUNCTION`](MPLLIBS_METAFUNCTION.html)
but it uses the evaluated arguments in its `body`.

The metafunctions defined using this macro support currying.

The macro defines a helper metafunction as well. The name of it is generated
using the `MPLLIBS_HELPER_METAFUNCION` macro. When it is not defined, the
following default is used:

```cpp
#define MPLLIBS_HELPER_METAFUNCTION(name) BOOST_PP_CAT(name, __impl)
```

## Header

```cpp
#include <mpllibs/metamonad/lazy_metafunction.hpp>
```

## Expression semantics

For any `body` angly-bracket expression, `n > 0` and `arg1` ... `argn` template
arguments the following

```cpp
MPLLIBS_LAZY_METAFUNCTION(name, (arg1)(arg2)...(argn)) ((body));
```

is equivalent to

```cpp
MPLLIBS_METAFUNCTION(name, (arg1)(arg2)...(argn)) ((body));
```

but when `arg1`, `arg2`, ..., `argn` is referred to in `body`, it refers to
`arg1::type`, `arg2::type`, ..., `argn::type`.

## Example

```cpp
using namespace boost::mpl;

MPLLIBS_LAZY_METAFUNCTION(double_value, (N)) (times<int_<2>, N>));
```

<p class="copyright">
Copyright Abel Sinkovics (abel at elte dot hu) 2011.
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
[http://www.boost.org/LICENSE_1_0.txt](http://www.boost.org/LICENSE_1_0.txt)
</p>

[[up]](reference.html)


text:
# Password Generator
*Password generator using javascript

```
Practing using what has been learned with javascript thus far with functions, random number generators, and traversing the DOM.
Generator allows for selection of Upper and Lower case characters, numbers and symbols.
Minimum characters set to 8.
Maximim Characters set to 128
Added copy to clipboard button.

all feedback is welcome!!

repository: nrlong/PasswordGenerator

repo_name: nrlong/PasswordGenerator


text:
# Algorithms in Ruby
Data Structers Lecture Codes in Ruby

An algorithm is a sequence of unambiguous instructions for solving a problem, i.e., for obtaining a required output for any legitimate input in a finite amount of time.

#Brute-Force

 -  [x] - Selection Sort
 -  [x] - String Matching
 -  [x] - Calculate Polinom
 -  [ ] - Closest Points
 -  [ ] - Exhaustive Search

#Divide and Conquer

  - [x] - Merge Sort O(nlogn)
  - [x] - Quick Sort O(nlogn)
  - [x] - Binary Search

####Binary Tree

- [ ] - InOrder Tree Walk
- [ ] - Tree Search O(h)
- [ ] - Tree Minimum O(h)
- [ ] - Tree Maximum O(h)
- [ ] - Successor O(h)
- [ ] - Predecessor O(h)
- [ ] - Node Insertion O(h)
- [ ] - Node Deletion O(h)

**Binary Tree Traversal O(n)**
  - [ ] - PreOrder
  - [ ] - InOrder
  - [ ] - PostOrder

#Decrease and Conquer

####Decrease by a constant
  - [x] Instertion Sort
  - [ ] Depth-first search (DFS)
  - [ ] Breadth-first search (BFS)
  - [ ] Topological Sorting

####Decrease By Constant Factor
  - [x] Binary Search
  - [ ] Exponentiation by Squaring
  - [x] Multiplication à la russe

####Variable-Size Decrease
  - [x] Euclid Algorithm
  - [ ] Selection By Partition

#Transform and Conquer

####Instance simplification
  - [ ] - Gaussian Elimination
  - [ ] - Horner's Rule

####Problem Reduction
  - [ ] - ICM

  #### Heapsort O(nlogn)

    - [ ] Heapify
    - [ ] Build Heap
    - [ ] Heap Sort

repository: erolg/algorithms-in-Ruby

repo_name: erolg/algorithms-in-Ruby


text:
---
layout: default
---

# 1996-04-11 - Re: Scientologists may subpoena anonymous remailer records

## Header Data

From<EMAIL_ADDRESS>(Michael Elkins)

To<EMAIL_ADDRESS>Message Hash: f635c521d9eedfd06c52ff46201d3e67e738a5861fde46903dcb4179fd211fb0

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1996-04-11 16:37:24 UTC

Raw Date: Fri, 12 Apr 1996 00:37:24 +0800

## Raw message

```
{% raw  %}From<EMAIL_ADDRESS>(Michael Elkins)
Date: Fri, 12 Apr 1996 00:37:24 +0800
To<EMAIL_ADDRESS>Subject: Re: Scientologists may subpoena anonymous remailer records
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

Steve Reid writes:
> When a person recieves a message from someone using an anonymous
> remailer, the return address will usually work, depending on the
> remailer. The return address is for an address on the remailer, and
> sending to that address, the remailer will forward the message back to
> the person who owns that anonymous address.
>
> The problem with that, of course, is that the remailer has to keep a
> record of who owns each anonymous account, so that it can direct the
> replies to the anonymous person. These records could be siezed.

This is a very good reason to use one of the "alpha" pseudonym servers.
These remailers in turn use other remailers to return the reply to
the owner of the alias (crypted, of course).  In this way, the server
is operating in double-blind mode.

However, the scariest thing about this is that the CoS was able to coerce
the gov't in a foreign nation to get access to anon remailers.  US
remailers have always been suspect for just this reason, and I wait
with bated breath to see whether or not the subpoena is issued.  But if
chaning outside the US won't even work, then the remailers aren't going
to do a whole lot of good.

> BTW, has anyone out there created an anonymous web forwarder? I'm sure
> there are a lot of people out there who don't like the idea of having
> their email address in the log files of dozens of web servers... Creating
> a simple web forwarder wouldn't be hard.

I've heard several people make this statement...  Can anyone confirm that
it is really possible to log the uid (username) of the person making the
http request?  I know they can get your ip address, but I'm skeptical
of getting the username.

me
--
Michael Elkins<EMAIL_ADDRESS>	http://www.cs.hmc.edu/~me
PGP key fingerprint = EB B1 68 32 3F B5 54 F9  6C AF 4E 94 5A EB 90 EC

{% endraw %}
```

## Thread

+ Return to [April 1996](/archive/1996/04)

+ Return to<EMAIL_ADDRESS>(Michael Elkins)](/authors/me_at_muddcs_cs_hmc_edu_michael_elkins_)"
+ Return to "[Samuel Tardieu <sam@inf.enst.fr>](/authors/samuel_tardieu_sam_at_inf_enst_fr_)"

+ 1996-04-11 (Fri, 12 Apr 1996 00:37:24 +0800) - Re: Scientologists may subpoena anonymous remailer records -<EMAIL_ADDRESS>(Michael Elkins)_
  + 1996-04-11 (Fri, 12 Apr 1996 04:08:00 +0800) - [Re: Scientologists may subpoena anonymous remailer records](/archive/1996/04/31583400fb0baf8fbe93fed31ee222e815114a83a1e2759ef7fd2c67fafc8d8a) - _Samuel Tardieu<EMAIL_ADDRESS>


text:
## About The Project

 Project Demo

### Built With

* [AFNetWorking](https://github.com/AFNetworking/AFNetworking)
* [FMDatabase](https://github.com/ccgus/fmdb)
* [AutoLayout]

## Getting Started

### Prerequisites

Move to the main directory of the project by cd command
Run 'pod install' for the first time running in order to download the necessarily libraries.
*
  ```sh
  pod install
  ```

# Main screen

#Download and list all orders

#Add order screen

#The SupplierID is a numeric and Order Description, Delivery Note are text.
The insert 10,000 orders button is used to create create 10,000 dummies order in order to test the performance of the application

##Item screen

#List items and invoices

###Add Item screen

#The insert 10,000 items button is used to create create 10,000 dummies items in order to test the performance as well.

repository: HenryNguyenCDU/Butterfly-System-Demo

repo_name: HenryNguyenCDU/Butterfly-System-Demo


text:
[![Build Status](https://travis-ci.org/ragingpastry/os-keystone.svg?branch=master)](https://travis-ci.org/ragingpastry/os-keystone)

os-keystone
=========

This role will install Openstack Keystone.

Requirements
------------

This role requires a database.

Role Variables
--------------

A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.

Dependencies
------------

Shade

Example Playbook
----------------

Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:

    - hosts: keystone-hosts
      roles:
         - role: os-keystone

License
-------

BSD

Author Information
------------------

repository: ragingpastry/os-keystone

repo_name: ragingpastry/os-keystone


text:
# Big data playground: Hadoop + Hive + Spark

[![Docker Build Status](https://img.shields.io/docker/cloud/build/panovvv/hadoop-hive-spark.svg)](https://cloud.docker.com/repository/docker/panovvv/hadoop-hive-spark/builds)
[![Docker Pulls](https://img.shields.io/docker/pulls/panovvv/hadoop-hive-spark.svg)](https://hub.docker.com/r/panovvv/hadoop-hive-spark)
[![Docker Stars](https://img.shields.io/docker/stars/panovvv/hadoop-hive-spark.svg)](https://hub.docker.com/r/panovvv/hadoop-hive-spark)

Base Docker image with just essentials: Hadoop, Hive and Spark.

## Software

* [Hadoop 3.2.0](http://hadoop.apache.org/docs/r3.2.0/) in Fully Distributed (Multi-node) Mode

* [Hive 3.1.2](http://hive.apache.org/) with HiveServer2 exposed to host.

* [Spark 2.4.5](https://spark.apache.org/docs/2.4.5/) in YARN mode (Spark Scala, PySpark and SparkR)

## Usage

Take a look [at this repo](https://github.com/panovvv/bigdata-docker-compose)
to see how I use it as a part of a Docker Compose cluster.

Hive JDBC port is exposed to host:
* URI: `jdbc:hive2://localhost:10000`
* Driver: `org.apache.hive.jdbc.HiveDriver` (org.apache.hive:hive-jdbc:3.1.2)
* User and password: unused.

## Version compatibility notes
* Hadoop 3.2.1 and Hive 3.1.2 are incompatible due to Guava version
mismatch (Hadoop: Guava 27.0, Hive: Guava 19.0). Hive fails with
`java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)`
* Spark 2.4.4 can not
[use Hive higher than 1.2.2 as a SparkSQL engine](https://spark.apache.org/docs/2.4.4/sql-data-sources-hive-tables.html)
because of this bug: [Spark need to support reading data from Hive 2.0.0 metastore](https://issues.apache.org/jira/browse/SPARK-13446)
and associated issue [Dealing with TimeVars removed in Hive 2.x](https://issues.apache.org/jira/browse/SPARK-27349).
Trying to make it happen results in this exception:
`java.lang.NoSuchFieldError: HIVE_STATS_JDBC_TIMEOUT`.
When this is fixed in Spark 3.0, it will be able to use Hive as a
backend for SparkSQL. Alternatively you can try to downgrade Hive :)

## Maintaining

* Docker file code linting:  `docker run --rm -i hadolint/hadolint < Dockerfile`
* [To trim the fat from Docker image](https://github.com/wagoodman/dive)

## TODO
* Upgrade spark to 3.0
* When upgraded, enable Spark-Hive integration.


text:
# Project Name

#### Independent Code Review
#### Created 01.21.2021 | Last Updated 01.21.2021

#### **By Chelsea Becker**

## 📊Project Overview

### Description

_An application to market Pierre's sweet and savory treats._

### Technologies Used

_VS Code_

_C# 7.3.0_

_.NET Core 2.2.0_

_Entity Framework Core 2.2.6_

_MySQL Workbench 8.0 for Windows_

_Postman_

_Swagger_

_Swashbuckle_

### Known Bugs

No known bugs at this time.

## 🔌Installation Requirements

### Code Editor

To open the project on your local machine, you will need to download and install a code editor. The most popular choices are Atom and Visual Studio Code https://code.visualstudio.com/. Visual Studio Code is the code editor used to create this application.

### Installing .NET Core Framework for Windows(10+) Users

1. _Download the 64-bit .NET Core SDK (Software Development Kit) by following this link: https://dotnet.microsoft.com/download/thank-you/dotnet-sdk-2.2.203-windows-x64-installer._

1a. _Follow prompts to begin your download. The download will be a .exe file. Click to install when it is finished downloading._
2. _After clicking the downloaded .exe file, follow the prompts in the installer and use suggested default settings._
3. _You can confirm a successful installation by opening a command line terminal and running the command_ `$ dotnet --version` _, which should return a version number._

### Installing .NET Core Framework for Mac Users

1. _Download the .NET Core SDK by following this link: https://dotnet.microsoft.com/download/thank-you/dotnet-sdk-2.2.106-macos-x64-installer._

1a. _Follow prompts to begin your download. The download will be a .pkg file. Click to install when it is finished downloading._
2. _After clicking the downloaded .pkg file, follow the prompts in the installer and use suggested default settings._
3. _You can confirm a successful installation by opening a command line terminal and running the command_ `$ dotnet --version` _, which should return a version number._

### Install Dotnet Script

1. _Enter the command `dotnet tool install -g dotnet-script` in the command line of a terminal window, such as Terminal for macOS or PowerShell for Windows._

### Installing MySQL Workbench

1. _[Download and install](https://dev.mysql.com/downloads/workbench/) the version of MySQL Workbench suitable for your machine._

### Install Postman (optional)

1. _Follow [this](https://www.postman.com/downloads/) link to view the Postman website to download and install._

## 💻View Locally/Project Setup

#### Clone
1. _Follow above steps to install .NET Core._
2. _Open web browser and go to https://github.com/cschweig2/Pierre.Solution._
3. _After clicking the green "code" button, you can copy the URL for the repository._
4. _Open a terminal window, such as Command Prompt or Git Bash._

  4a. _Type in this command:_ `git clone` _, followed by the URL you just copied. The full command should look like this:_ `git clone https://github.com/cschweig2/Pierre.Solution` .
5. _View the code on your favorite text editor, such as Visual Studio Code._

#### Download
1. _Click [here](https://github.com/cschweig2/Pierre.Solution) to view project repository._
2. _Click "Clone or download" to find the "Download ZIP" option._
3. _Click "Download ZIP" and extract files._
4. _Open the project in a text editor by clicking on any file in the project folder._

#### Import Database in MySQL Workbench
1. _Open MySQL Workbench and enter your password to open a server._
2. _From the top navigation bar, follow:_ `Server > Data Import`.
4. _Select the option_ `Import from Self-Contained File`.
5. _Click the `...` button to navigate to the project file folder_ `Pierre` _and select_ `Pierre.sql`.
5. _Set_ `Default Target Schema` _or create new schema_.
6. _Select the schema objects you would like to import._
7. _To finalize, click_ `Start Import`.

#### Import Database with Entity Framework Core/Command Line
1. Navigate to the `Pierre` project folder and enter `dotnet ef database update` in the command line, which will create the database in MySQL Workbench using the migrations from the `Migrations` folder.

#### Final Steps
1. Navigate to the `Pierre` folder and enter `dotnet restore` in the command line to install packages.

2.After packages are installed in each of these folders, navigate to the `Pierre` project folder and enter `dotnet run`  in the command line to both run and build the program.

## 📄API Documentation

Explore our API endpoints with Swagger Documentation:
After entering `dotnet run` in the command line to launch the server, use a browser to navigate to `http://localhost:5000/swagger/`.

### Using Swagger Documentation
To explore the CoffeeTracker API with NSwag, launch the project using `dotnet run` with the Terminal or Powershell, and input the following URL into your browser: `http://localhost:5000/swagger`

#### Example Query
```
https://localhost:5000/api/
```
### Sample JSON Response
```
*enter response*
```
## 📧Support and contact details

_If you run into any issues, you can contact the creator at<EMAIL_ADDRESS>or make contributions to the code on GitHub via forking and creating a new branch._

## 📝Contributors

    Author
    GitHub Profile
    Contact Email

    Chelsea Becker
    https://github.com/cschweig2
<EMAIL_ADDRESS>

## 🧐Legal

*This software is licensed under the MIT license.*

Copyright (c) 2020 **Chelsea Becker**


text:
### Welcome! 👋
I'm Mike, a full-stack developer with a passion for programming, technology and traveling.

I always challenge myself to learn and explore, both in programming as well in traveling.

Check out my medium profile for all of my programming articles.
Like what I'm doing?
[!["Buy Me A Coffee"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/mikehuls)

## Connect with me
[](https://mikehuls.medium.com/)
[](https://twitter.com/Mike_Huls)
[](https://www.linkedin.com/in/mikehuls/)
[](https://stackoverflow.com/users/13256690/mike-huls)


text:
# GitHub Trending (2022-08-05)

![](https://img.shields.io/badge/Python-New%20575-green?style=flat-square&logo=appveyor)
- [moyix/fauxpilot](https://github.com/moyix/fauxpilot): FauxPilot - an open-source GitHub Copilot server

![](https://img.shields.io/badge/Python-New%2070-green?style=flat-square&logo=appveyor)
- [NVIDIAGameWorks/kaolin-wisp](https://github.com/NVIDIAGameWorks/kaolin-wisp): NVIDIA Kaolin Wisp is a PyTorch library powered by NVIDIA Kaolin Core to work with neural fields (including NeRFs, NGLOD, instant-ngp and VQAD).

![](https://img.shields.io/badge/TypeScript-New%20257-green?style=flat-square&logo=appveyor)
- [kamranahmedse/developer-roadmap](https://github.com/kamranahmedse/developer-roadmap): Roadmap to becoming a developer in 2022

![](https://img.shields.io/badge/C%23-New%20179-green?style=flat-square&logo=appveyor)
- [microsoft/PowerToys](https://github.com/microsoft/PowerToys): Windows system utilities to maximize productivity

![](https://img.shields.io/badge/YARA-New%2094-green?style=flat-square&logo=appveyor)
- [elastic/protections-artifacts](https://github.com/elastic/protections-artifacts): Elastic Security detection content for Endpoint

![](https://img.shields.io/badge/Go-New%20184-green?style=flat-square&logo=appveyor)
- [sobinge/2022-HW-POC](https://github.com/sobinge/2022-HW-POC): 2022 护网行动 POC 整理

![](https://img.shields.io/badge/JavaScript-New%20188-green?style=flat-square&logo=appveyor)
- [Asabeneh/30-Days-Of-JavaScript](https://github.com/Asabeneh/30-Days-Of-JavaScript): 30 days of JavaScript programming challenge is a step-by-step guide to learn JavaScript programming language in 30 days. This challenge may take more than 100 days, please just follow your own pace.

![](https://img.shields.io/badge/none-New%2075-green?style=flat-square&logo=appveyor)
- [antoniosarosi/Wallpapers](https://github.com/antoniosarosi/Wallpapers):

![](https://img.shields.io/badge/Swift-New%20156-green?style=flat-square&logo=appveyor)
- [CodeEditApp/CodeEdit](https://github.com/CodeEditApp/CodeEdit): CodeEdit App for macOS – Elevate your code editing experience. Open source, free forever.

![](https://img.shields.io/badge/Python-New%2037-green?style=flat-square&logo=appveyor)
- [HeliXonProtein/OmegaFold](https://github.com/HeliXonProtein/OmegaFold): OmegaFold Release Code

![](https://img.shields.io/badge/JavaScript-New%2082-green?style=flat-square&logo=appveyor)
- [UxxHans/Rainbow-Cats-Personal-WeChat-MiniProgram](https://github.com/UxxHans/Rainbow-Cats-Personal-WeChat-MiniProgram): 给女朋友做的微信小程序！情侣自己的任务和商城系统！

![](https://img.shields.io/badge/C-New%2043-green?style=flat-square&logo=appveyor)
- [HVML/PurC](https://github.com/HVML/PurC): The prime HVML interpreter for C Language.

![](https://img.shields.io/badge/Go-New%2078-green?style=flat-square&logo=appveyor)
- [golang/go](https://github.com/golang/go): The Go programming language

![](https://img.shields.io/badge/none-New%2029-green?style=flat-square&logo=appveyor)
- [YDHCUI/manjusaka](https://github.com/YDHCUI/manjusaka): 牛屎花 一款C2远控

![](https://img.shields.io/badge/Python-New%20319-green?style=flat-square&logo=appveyor)
- [public-apis/public-apis](https://github.com/public-apis/public-apis): A collective list of free APIs

![](https://img.shields.io/badge/TypeScript-New%20743-green?style=flat-square&logo=appveyor)
- [toeverything/AFFiNE](https://github.com/toeverything/AFFiNE): There can be more than Notion and Miro. Affine is a next-gen knowledge base that brings planning, sorting and creating all together. Privacy first, open-source, customizable and ready to use.

![](https://img.shields.io/badge/Go-New%2018-green?style=flat-square&logo=appveyor)
- [cri-o/cri-o](https://github.com/cri-o/cri-o): Open Container Initiative-based implementation of Kubernetes Container Runtime Interface

![](https://img.shields.io/badge/Go-New%2030-green?style=flat-square&logo=appveyor)
- [99designs/gqlgen](https://github.com/99designs/gqlgen): go generate based graphql server library

![](https://img.shields.io/badge/Swift-New%208-green?style=flat-square&logo=appveyor)
- [facebook/facebook-ios-sdk](https://github.com/facebook/facebook-ios-sdk): Used to integrate the Facebook Platform with your iOS & tvOS apps.

![](https://img.shields.io/badge/Shell-New%2071-green?style=flat-square&logo=appveyor)
- [jgraph/drawio-desktop](https://github.com/jgraph/drawio-desktop): Official electron build of draw.io

![](https://img.shields.io/badge/Dart-New%2071-green?style=flat-square&logo=appveyor)
- [flutter/flutter](https://github.com/flutter/flutter): Flutter makes it easy and fast to build beautiful apps for mobile and beyond

![](https://img.shields.io/badge/none-New%2022-green?style=flat-square&logo=appveyor)
- [willwulfken/MidJourney-Styles-and-Keywords-Reference](https://github.com/willwulfken/MidJourney-Styles-and-Keywords-Reference): A reference containing Styles and Keywords that you can use with MidJourney AI. There are also pages showing resolution comparison, image weights, and much more!

![](https://img.shields.io/badge/PHP-New%206-green?style=flat-square&logo=appveyor)
- [snipe/snipe-it](https://github.com/snipe/snipe-it): A free open source IT asset/license management system

![](https://img.shields.io/badge/JavaScript-New%2017-green?style=flat-square&logo=appveyor)
- [adiwajshing/Baileys](https://github.com/adiwajshing/Baileys): Lightweight full-featured WhatsApp Web + Multi-Device API

![](https://img.shields.io/badge/Python-New%20100-green?style=flat-square&logo=appveyor)
- [Textualize/textual](https://github.com/Textualize/textual): Textual is a TUI (Text User Interface) framework for Python inspired by modern web development.

repository: Hsins/Daily-GitHub-Trending

gha_language: JavaScript

repo_name: Hsins/Daily-GitHub-Trending


text:
# Basecamp Authenticator

The Basecamp authenticator is configured as a federated authenticator in
WSO2 Identity Server to authenticate Basecamp users to log in to your
organization’s applications.

![](attachments/49092836/76746249.png)

### Getting started

To get started with the authenticator, go to [Configuring Basecamp
Authenticator](https://docs.wso2.com/display/ISCONNECTORS/Configuring+Basecamp+Authenticator)
. Once you have completed your configurations, you can perform
authentication with the Basecamp authenticator.

### Additional information

To download the authenticator and other artifacts, go to
[https://store.wso2.com/store/assets/isconnector/basecamp](https://store.wso2.com/store/assets/isconnector/list?q=%22_default%22%3A%22basecamp%22)
.

repository: IsurangaPerera/docs-is

repo_name: IsurangaPerera/docs-is


text:
## BankID via GrandID by Svensk e-Identitet (gbankid)

### Description
This module works by interfacing the GrandID service.
It is supplied only with basic information. You need to obtain your own credentials.

### Inputs and outputs

**Alternative inputs**

Also accepts objects with `ssn` (Social Security Number) property.

**Extra fields on completion**
* `autostart_token` the token used for autostart
* `autostart_url` code for invoking authorization

### Default Configuration
>**Default production configuration (settings.production)**
```
endpoint: 'https://client.grandid.com/',
servicekey: '',
apikey: ''
```
>**Default testing configuration (settings.testing)**
```
endpoint: 'https://client.grandid.com/',
servicekey: '',
apikey: ''
```


text:
### Note

The `xlpython_xlam_vba_code.bas` file is included in this directory in order to be able to easily diff commits on git (the `.xlam` file itself is not straight-forward to diff).
In order for this to work, it must of course be manually exported from the `.xlam` file before each commit.

repository: PhE/excelpython

repo_name: PhE/excelpython


text:
# Scale Out Example

The only requirements are [docker](https://docs.docker.com/install/) and [docker-compose](https://docs.docker.com/compose/install/).

```sh
$ docker-compose up
```

It will start two neffos websocket servers publishing and subscribed to the same redis instance. Open your host browser and navigate to:

- http://localhost:8080
- http://localhost:9090

You will see that those servers are communicating between them and acting as one to the end-user.

repository: kataras/neffos

gha_language: Go

repo_name: kataras/neffos


text:
# XQuery-Processor
XQuery-Processor is a project for CSE232B at UCSD. It parses XQuery using Antlr and extracts data from XML documents.

## Build
Use Maven to compile the project by executing the following command:
```
mvn compile
```
## Usage
Write XQuery in /test/XQueryTest.txt, and put XML documents in /test. Run the program, the result will be saved in /test/result.txt.

For example, run the following XQuery:

```
<acts> { for $a in doc("j_caesar.xml")//ACT

         where empty ( for $sp in $a/SCENE/SPEECH/SPEAKER

                       where $sp/text() = "CASCA"

                       return <speaker> {$sp/text()}</speaker> )

         return <act>{$a/TITLE/text()}</act>

}</acts>
```

the result will be:
```
<acts>

    <act>ACT IV</act>

    <act>ACT V</act>

</acts>
```

repository: lin-jj/XQuery-Processor

repo_name: lin-jj/XQuery-Processor


text:
# MeshTools

[![releases](http://img.shields.io/github/release/c3m-labs/MeshTools.svg)](http://github.com/c3m-labs/MeshTools/releases)
[![SemVer 2.0.0](http://img.shields.io/badge/SemVer-2.0.0-brightgreen.svg)](http://semver.org/spec/v2.0.0.html)

_MeshTools_ is a [Mathematica](http://www.wolfram.com/mathematica/) package for creating and manipulating
meshes for finite element method (`ElementMesh` objects). It helps you to do the following tasks:

* Create structured mesh in 2D or 3D
* Split, transform and merge meshes
* Convert triangular to quadrilateral mesh
* Create high quality mesh on basic geometric shapes

![niceExample](Images/ExampleMeshes.png)

## Installation

_MeshTools_ package requires Mathematica version 11. or later.

The package is released in the `.paclet` file format that contains the code,
documentation and other necessary resources.
Download the latest `.paclet` file from the
repository ["releases"](https://github.com/c3m-labs/MeshTools/releases) page
to your computer and install it by evaluating the following command in the Mathematica:

```mathematica
(* This built-in package is usually loaded automatically at kernel startup. *)
Needs["PacletManager`"]

(* Path to .paclet file downloaded from repository "releases" page. *)
PacletInstall["full/path/to/MeshTools-X.Y.Z.paclet"]
```

This will permanently install the _MeshTools_ package to `$UserBasePacletsDirectory`.
To update the documentation it may be necessary to restart Mathematica.
Mathematica will always use the latest installed version of package and all installed versions
can be enumerated by evaluating `PacletFind["MeshTools"]`.
You can get more detailed information about the package with `PacletInformation["MeshTools"]`.
All versions can be uninstalled with:

```mathematica
PacletUninstall["MeshTools"]
```

Alternative method of installation for Mathematica version 12.0+ is to use
[ResourceFunction["GitHubInstall"]](https://resources.wolframcloud.com/FunctionRepository/resources/GitHubInstall)
from Wolfram Function Repository. Note that you need to be logged in with (free) Wolfram Account to use it.

```mathematica
ResourceFunction["GitHubInstall"]["c3m-labs", "MeshTools"]
```

### Try it online

You can try the package even without installation by going to
[Wolfram Programming Lab](https://www.wolfram.com/programming-lab/)
and clicking "Start programming now".
This will open a new notebook in Cloud environment where you should evaluate the following to load the package.

```mathematica
Get["http://raw.githubusercontent.com/c3m-labs/MeshTools/master/MeshTools/MeshTools.wl"]
```

You will not be able to access documentation, but it is helpful to list all available functions.
Then you can also try the usage example from the section below.

```mathematica
Information["MeshTools`*"]
```

## Usage

After installing the package, load it in the Mathematica session with `Needs`.
To access the documentation, open the notebook interface help viewer and search for "MeshTools".

### Example of extruded mesh

```mathematica
Needs["MeshTools`"]

(* Create MeshRegion object from Graphics. *)
region = DiscretizeGraphics[
  Text[Style["\[Pi]", FontWeight -> "Bold"]],
  _Text,
  MaxCellMeasure -> 1/10
]

(* Convert MeshRegion object to ElementMesh object and smoothen mesh (improve quality). *)
meshTri = SmoothenMesh@ToElementMesh[region, "MeshOrder" -> 1]
meshTri["Wireframe"]
```

![screenshot1](Images/PiMeshTriangle.png )

```mathematica
(* Convert triangular mesh to quadrilateral and smoothen it again. *)
meshQuad = SmoothenMesh@TriangleToQuadMesh@meshTri
meshQuad["Wireframe"]
```

![screenshot2](Images/PiMeshQuad.png )

```mathematica
(* Extrude 2D quadrilateral mesh to 3D hexahedral mesh (with 8 layers). *)
mesh3D = ExtrudeMesh[meshQuad, 1, 8];
mesh3D["Wireframe"["MeshElementStyle" -> FaceForm@LightBlue]]
```

![screenshot3](Images/PiMesh3D.png )

```mathematica
(* Inspect the minimal, average and maximal quality of 3D mesh. *)
Through[{Min, Mean, Max}@Flatten[mesh3D["Quality"]]]
(* {0.47, 0.91, 0.99} *)
```

## Contributing and feedback

Please use the repository ["issues"](https://github.com/c3m-labs/MeshTools/issues) page to submit bugs or feature ideas.
If you find this package useful, feel free to send us feedback by email to `github(at)c3m.si`.

Pull requests to this repository are welcome.
For major changes, please open an issue first to discuss what you would like to change.
Instructions on building the `.paclet` file from source code can be found in [CONTRIBUTING.md]( CONTRIBUTING.md ) file.

## License

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

repository: standardgalactic/MeshTools

repo_name: standardgalactic/MeshTools


text:
---
author: eliasz
tags:
  - iOS
date: 2016-08-21T22:00:00.000Z
title: ReactiveCocoa UI bindings with Rex
layout: post
image: /images/bright_team-compressor.jpg
comments: true
published: true
---
Today, we will take a closer look at [Rex](https://github.com/RACCommunity/Rex) - ReactiveCocoa extensions. I find Rex pretty helpful when working with ReactiveCocoa, especially creating UI bindings.

If you are binding your view model with UI layer, Rex will let you do it much easier with it's extensions to `UIControls`. Here are some examples of `Rex` usage.

UIButton
---
```swift
let cocoaAction = CocoaAction(action) { _ in }

//without Rex
button.addTarget(cocoaAction, action: CocoaAction.selector, forControlEvents: .TouchUpInside)

//with Rex extensions
button.rex_pressed.value = cocoaAction
```

UITextField, UILabel, MutableProperty
language: en
---
```swift
var titleValue = MutableProperty<String?>(nil)

//without Rex
textField.rac_textSignal().subscribeNext {
  self.titleValue.value = $0 as? String
}

titleValue.producer.startWithNext {
  self.label.text = $0
  self.label.hidden = $0?.characters.count < 5
}

//with Rex
titleValue <~ textField.rex_text
titleLabel.rex_text <~ titleValue
titleLabel.rex_hidden <~ titleValue.producer.map({ $0?.characters.count < 5 })
```

You can clearly see that `Rex` makes our bindings much easier to read and understand. These are just examples, but you can find much more interesting properties like `rex_selectedSegmentIndex` for `UISegmentedControl` or `rex_on` for `UISwitch`.

*This article is cross-posted with my [my personal blog](http://eluss.github.io/).*

repository: bright/new-www

branch_name: refs/heads/gatsby

gha_language: TypeScript

repo_name: bright/new-www


text:
# Mongo Backend

Component provides ItemProcessor and ItemWriter for storing Feed Entries into Mongo DB.

## Job Configuration

The access to DB is configurable via jobs properties:
Configuration:
1. `mongoUrl` - Mongo URL
2. `db` - DB Name
3. `collection` - Collection name
4. `feed` - Feed Name
5. `group` - Group name (Optional)

## Mongo DB

### Indexes
Indexes are being automatically created on these fields:
1. `url` - unique
2. `code`
3. `published`
4. `feed`
5. `group`
6. `tags`

The stored Blog post in Mongo looks like this:

```json
{
    "_id" : "auto generated object id",
    "feed" : "quarkus",
    "group" : "quarkus",
    "title" : "Emitter - Bridging the imperative and the reactive worlds",
    "code" : "emitter_bridging_the_imperative_and_the_reactive_worlds",
    "url" : "https://quarkus.io/blog/reactive-messaging-emitter/",
    "author" : "The Blogger",
    "published" : "2020-10-06T00:00:00.000Z",
    "updated" : "2020-10-06T00:00:00.000Z",
    "tags" : [
        "quarkus",
        "kafka"
    ],
    "contentPreview" : "In a previous blog post about Kafka and Avro, we used an emitter to send Kafka messages...",
    "content" : "\n                In a previous blog post about <a href='www.kafka.io'>Kafka</a> and Avro, we used an emitter to send Kafka messages. In this post, we are going look at this emitter construct a little bit more closely. Injecting an Emitter Injecting an emitter is straightforward. You indicate the targeted channel, i.e., where do you...\n            "
}
```

Notes:
* `content` field can be long and can contain html formating from the original blogpost
* `contentPreview` is content cleaned not to contain html formating and shortened so it can be used as an preview

## Job Example Usage

See [feeds2mongo example](../../../dist/feeds2mongo/src/main/resources/META-INF/batch-jobs/process-feed.xml)


text:
# Easy Express Swagger Validator

## How to use
The express validator is just a middle ware that you can drop into place and it will validate the requests coming through against the Swagger spec.


text:
# San Juan Scala

[![Build Status](https://travis-ci.org/juniorbl/san-juan-scala.svg?branch=master)](https://travis-ci.org/juniorbl/san-juan-scala)

Implementation of the board game San Juan by Andreas Seyfarth using Scala, Play and Akka. This project is for study purposes of functional and reactive programming.

## Getting Started

### Prerequisites

* jdk 8
* sbt 1.0.4
* MongoDB 3.6

### Setup

Setup the database in MongoDB, run `bin/mongo` and:

1. create the database: `use sanJuanScala`
2. create the collection: `db.createCollection("sjsCollection", { size: 10000000, max: 15000000 })`
3. create the user and role: `db.createUser( {user: "sjsUser", pwd: "somepwd", roles: [ {role: "readWrite", db: "sanJuanScala"} ]} )`

### Running the application

Using a terminal, go to the project's root folder:

1. run `sbt run`
2. go to http://localhost:9000/

## Running the tests

Using a terminal, go to the project's root folder and run `sbt test`

## Built With

* [Scala 2.12.3](https://www.scala-lang.org/) - programming language
* [Play Framework 2.6](https://www.playframework.com/) - web framework
* [Akka 2.5.7](https://akka.io/) - concurrent toolkit
* [Bootstrap v4.0.0-beta.3](https://getbootstrap.com/) - toolkit for developing with HTML, CSS, and JS
* [MongoDB 3.6](https://www.mongodb.com/) - document-oriented NoSQL database

## Authors

* **Carlos Luz** -  [GitHub](https://github.com/juniorbl)

## References

* Functional Programming in Scala by Paul Chiusano and Runar Bjarnason
* Reactive Web Applications by Manuel Bernhardt

repository: juniorbl/san-juan-scala

repo_name: juniorbl/san-juan-scala


text:
---
title: "Notifications by SMS"
date: 2021-05-20T15:45:50+03:00
draft: false
weight: 16
layout: redirect
---

**Purpose**: Notifications could be configured to submit messages to **user phone by SMS.** Notifications are triggered by Event. In the Event is defined expression on some machine or sensor tag. If the event has occurred then notification is triggered and defined message in the notification is submitted to user mobile phone as SMS.

### Configure User in Upkip Administration
[Configure Users in Upkip](/admin/users/#usersgroups)

### Configure Notification by SMS
Select the machine (or sensor) ID and tag which will be used in Event configuration.

Select the machine tag by following the steps in [select machine or sensor Tag](/docs/data/notifteams/#configure-event-and-notification-to-teams)

To create event see [Create event manually](/admin/data/#create-events-manually)

Select menu **Notifications.**

- The list of notifications for the organization is shown with name, subject and text.
-  Click **New** button to create new notification

![](/images/Aspose.Words.c55b6b06-cf77-4ce6-bf35-b1bd3972243e.142.png)

*Figure 140: Upkip Administration - Create notification with media type SMS*

Enter to create notification:

-  Name, Message subject, Message text.
   -  Message subject
   -  Message text will be shown  as SMS text. There is possible to select some predefined placeholders by clicking on **+Placeholders** and select from the list.
-  Click to **Add** event. Select from the list created event in [Create event manually](/admin/data/#create-events-manually)
-  Click New to enter Address, Media Type and Address Type
   - For **Media Type** select **SMS**
   - For **Address Type** select **User**.
   - For **Address**, click and select user from the list with users
-  Click **Save** to save the notification.

The Notification  will be saved in Notification list.

### Submit Notification by SMS
[Simulate event by IoT Hub Tester](/admin/data/#simulate-event-by-iot-hub-tester)

Submitted data to machine tag will trigger the related event.

Notification to SMS with this event will be executed and submit SMS to user phone.

Message Text from Notification will come as SMS text.


text:
---
title:  inQuire
date:  31/01/2020
---

#### inQuire

`Who are some individuals you can think of who have been given less light than you?`

`Who are some individuals that have been given more light than you?`

`What role do you think the opportunity to receive truth plays in accountability? In other words, what if I don’t know truth but I have the opportunity to know truth?  Significant other? Institutions? Works?`

`What kind of world would we have if we did not have accountability?`

`How does your picture of God affect your view of accountability?`

repository: Adventech/sabbath-school-lessons

branch_name: refs/heads/stage

repo_name: Adventech/sabbath-school-lessons


text:
To connect this rather abstract animation to the environment in which MRSA thrives, I have decided to use maps as the canvas.

The following simulation uses a map rendered live from Google [Static Map API](https://developers.google.com/maps/documentation/staticmaps/ "Static Maps API") to seed the organism.  This provides some large scale, twig-like structures, that appear to bud and bloom as the process unfolds.

By using the streets to seed the simulation, we are drawing a map of bacteria into the petri-dish.

![Reaction Diffusion Streets](../project_images/rd_streets.jpg?raw=true "Reaction Diffusion Streets")

[Experiment 5](https://dl.dropboxusercontent.com/u/263160/Web/WebGl/Experiment5.html)

repository: Paulyplops/devart-template

repo_name: Paulyplops/devart-template


text:
# Wikis

## Overview

Wikis let employees store information in a central place and share knowledge to all the company. Wikis, by nature, are public - so everyone can contribute.

## Anatomy of a wiki

A company can have as many wiki as they want. It’s not exactly like Wikipedia, where you have one wiki and many categories and sub categories.

In OfficeLife, each wiki can be considered as a folder, like `Architecture` or `Internal processes` or `Accounting`.

Then, each wiki can have one or more pages. A page is simply an item in this wiki.

Wikis are located inside the Company tab, and this is how they look like.

![wiki index page](./img/wiki_index_page.png)

Wikis are public in the company. Anyone can read, create, edit or delete a wiki, or pages inside a wiki.

::: tip Rules
* You can have as many wikis as you want in a company.
* You can have as many pages inside a wiki.
* Anyone, regardless of their permissions, can read/create/edit/delete wikis and pages.
:::

## Creating a wiki

To create a wiki, go to the Company > Knowledge base tab, and give the wiki a name.

![wiki create](./img/wiki_create.png)

By default, a wiki is blank and has no pages, as shown below.

![wiki create](./img/wiki_create_blank.png)

::: tip Rules
* Anyone can create a wiki.
* A wiki only needs a title to be created.
* The title has a max length of 191 characters.
:::

## Pages

### Anatomy of a page

A page in a wiki has a title and a content. The content supports Markdown to format its presentation.

Every time the content of the page changes, internally, OfficeLife creates a revision of this page. Currently, we don’t display all the revisions for a page - but we do display the initial author of the page, and the last author.

![page show](./img/page_show.png)

### Creating a page

Wikis are made of pages. A page has two parts:

* a title,
* the content.

![wiki create](./img/wiki_create_blank.png)

:::tip Rules
* Anyone can create a page.
* The title has a max length of 191 characters.
* The content supports Markdown and has a max length of 65 535 characters.
:::

repository: officelifehq/docs

repo_name: officelifehq/docs


text:
Overview

      Server

        Client

        Client

        Client

Rooms

All users and clients in a room can share their streams through Licode.

They can act like videoconferencing chats, instant messaging rooms, video streaming sessions, and any other kind of virtual space for real-time collaboration.

A room is created by server apps through Nuve API, and the users will connect to these rooms through Erizo.

Rooms are controlled by Erizo Controller, which manages Erizo through a JavaScript wrapper called Erizo API to control streams.

Server

Developers will manage rooms (creation and deletion) from their server apps.

Typical server apps can create a room, and request access for their users to Nuve, via a token-based authentication mechanism.

This mechanism allows these servers to create access tokens, and they will provide these tokens to their clients.

Server talks to Nuve in order to do these actions.

Erizo

Clients will connect users to rooms through Erizo service. Developers can manage this service with a JavaScript library that runs in the browser.

Erizo is a cloud-based scalable service that allows multiple users to connect to Licode rooms. These rooms are created by the server apps using Nuve API.

Erizo Controllerwhich manages Erizo through a JavaScript wrapper called Erizo API to control streams.

Nuve API

Developers can manage Licode rooms by sending requests to this API. These requests are typically sent from server apps, coded in python, node.js, Ruby on Rails, and so on.

Licode provides different libraries, plug-ins and add-ons to facilitate the tasks of creating and removing rooms.

Server apps can also ask for access tokens to this API. These tokens are needed for user connections, so developers should pass them to clients.

Server talks to Nuve in order to do these actions.

Clients

Clients are JavaScript applications that run on browsers. Users will be able to access Licode rooms by using these clients.

When connecting to a room a client needs the access token that is usually taken by server apps.

But the use of these rooms depends on your imagination! You could implement videoconference rooms, chat, synchronization mechanisms, VoIP applications, and so on.

Clients talk to Erizo Controller through Erizo client, which is part of this project.

repository: gaecom/licode

repo_name: gaecom/licode