text:
# infoblox-public/aws

Utility scripts for working with AWS using the AWS CLI.

* `list_vpc_aws.sh`: List VPC IDs and (optionally) VPC addresses and
  names.
* `list_subnet_aws.sh`: List subnet IDs and (optionally) subnet
  addresses and names.
* `create_vpc_aws.sh`: Create a VPC and optionally give it a name.
* `create_subnet_aws.sh`: Create a subnet and optionally give it a
  name.
* `delete_vpc_aws.sh`: Delete a VPC by ID, address, or name.
* `delete_subnet_aws.sh`: Delete a subnet by ID, address, or name.
* `list_igw_aws.sh`: List Internet gateway IDs and (optionally) their
  names and the VPCs they're attached to.
* `create_igw_aws.sh`: Create an Internet gateway, attach it to a VPC,
  and optionally give it a name
* `delete_igw_aws.sh`: Detach an Internet gateway from its VPC (if
  attached) and delete it.
* `list_rtb_aws.sh`: List route table IDs and (optionally) their names
  and VPCs.
* `create_rtb_aws.sh`: Create a route table in a VPC and optionally
  give it a name

Examples of how to use these scripts:

    # List VPC IDs in us-east-2 region, one per line
    list_vpc_aws.sh -r us-east-2 -1

    # List info for VPC in default region with address <IP_ADDRESS>/20
    list_vpc_aws.sh -l <IP_ADDRESS>/20

    # List VPC ID(s) for VPC(s) with name tag value "My VPC"
    list_vpc_aws.sh "My VPC"

    # List info for all subnets in us-east-2 region
    list_subnet_aws.sh -r us-east-2 -l

    # List info for subnet(s) in VPC <IP_ADDRESS>/20 with name "My Subnet"
    list_vpc_aws.sh -l -v <IP_ADDRESS>/20 "My Subnet"

    # List subnet IDs in VPC vpc-020f5bab08c0d3f43 in region us-west-1
    list_vpc_aws.sh -v vpc-020f5bab08c0d3f43 -r us-west-1

    # Create a VPC <IP_ADDRESS>/20 in default region
    create_vpc_aws.sh <IP_ADDRESS>/20

    # Create a VPC <IP_ADDRESS>/20 in us-west-2 region with name "My VPC"
    create_vpc_aws.sh -r us-west-2 <IP_ADDRESS>/20 "My VPC"

    # Delete the VPC <IP_ADDRESS>/20 in default region
    delete_vpc_aws.sh <IP_ADDRESS>/20

    # Delete the VPC in us-west-2 region with name "My VPC"
    delete_vpc_aws.sh -r us-west-2 "My VPC"

    # Delete the VPC vpc-020f5bab08c0d3f43 in us-west-1 region
    delete_vpc_aws.sh -r us-west-1 vpc-020f5bab08c0d3f43

    # Create a subnet <IP_ADDRESS>/24 in "My VPC" with name "My Subnet"
    create_vpc_aws.sh "My VPC" <IP_ADDRESS>/24 "My Subnet"

    # Delete the subnet <IP_ADDRESS>/24 in us-west-1 region
    delete_vpc_aws.sh -r us-west-1 <IP_ADDRESS>/24

    # List info about Internet gateways in the us-east-2 region.
    list_igw_aws.sh -l -r us-east-2

    # List ID of Internet gateway attached to VPC <IP_ADDRESS>/20.
    list_igw_aws.sh -v <IP_ADDRESS>/20

    # Create an Internet gateway "Test IGW" and attach it to VPC my-vpc.
    create_igw_aws.sh my-vpc "Test IGW"

    # Detach the Internet gateway "Test IGW" from its VPC and delete it.
    delete_igw_aws.sh "Test IGW"

    # List IDs of route tables in VPC <IP_ADDRESS>/20.
    list_rtb_aws.sh -v <IP_ADDRESS>/20

    # Create a route table "Test RTB" in the VPC my-vpc.
    create_rtb_aws.sh my-vpc "Test RTB"

As implied above, the scripts allow VPCs, subnets, and other objects
to be identified by ID, name (i.e., the value of the "Name" tag), or
address (if applicable). The scripts properly handle cases where the
name contains spaces or the name or (if applicable) address are
duplicated across multiple VPCs, subnets, or other objects.

There are also some test scripts to verify proper functioning of the
above scripts.

Running the scripts requires that a current version of the AWS CLI be
installed (<https://aws.amazon.com/cli/>). The AWS credentials and
default values for the AWS region and other parameters must be stored
in one of the standard locations used by the AWS CLI (e.g.,
~/.aws/credentials and ~/.aws/config).

repository: neerdael-nl/infoblox-public

repo_name: neerdael-nl/infoblox-public


text:
qdb-server
==========

HTTP interface to qdb message queues. See http://qdb.io/ for full documentation.

Building
--------

QDB is built using Gradle (http://www.gradle.org/downloads). If you don't already have it just download, unzip
it somewhere and put the bin directory on your path. You need version 1.6 or newer.

Running From Source
-------------------

Use `gradle run` to start the server.

Use `gradle run-debug` to start the server in debug mode.

Running Tests
-------------

Use `gradle check` to run all tests (unit and functional).

Use `gradle test -Dtest.single=Queues*` to run matching test specs.

Use `gradle test -Dtest.single=Queues* -Dtest.debug=true` to run matching test specs with remote debugging.

License
-------

Copyright 2013 David Tinker

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

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

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

repository: qdb-io/qdb-server

branch_name: refs/heads/master

extension: md

gha_language: Java

license_type: permissive

repo_name: qdb-io/qdb-server


text:
Snowmew
=======
[![Build Status](https://travis-ci.org/csherratt/snowmew.svg?branch=master)](https://travis-ci.org/csherratt/snowmew)

Snowmew is a game engine written entirely in rust. It is based around a
copy-on-write game state that can be shared safely with tasks in parallel.

![snowmew-preview](https://raw.githubusercontent.com/csherratt/snowmew/master/.screenshot.jpg)

Last Tested Version
-------------------
`rustc 1.0.0-nightly (f4f10dba2 2015-01-17 20:31:08 +0000)`

Building
--------

Snowmew may require some dependencies to build, travis pulls down the following packages to build:

  sudo apt-get install libudev-dev libglfw-dev opencl-headers xorg-dev libglu1-mesa-dev freeglut3 freeglut3-dev libglfw-dev

In addition you will probably need either fglrx or the nvidia drivers. For the nvidia drivers be sure to include nvidia-opencl-dev

Now just build using cargo:

    cargo build

repository: csherratt/snowmew

gha_language: Rust

repo_name: csherratt/snowmew


text:
### [CVE-2015-1819](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1819)
![](https://img.shields.io/static/v1?label=Product&message=n%2Fa&color=blue)
![](https://img.shields.io/static/v1?label=Version&message=%3D%20n%2Fa%20&color=brighgreen)
![](https://img.shields.io/static/v1?label=Vulnerability&message=n%2Fa&color=brighgreen)

### Description

The xmlreader in libxml allows remote attackers to cause a denial of service (memory consumption) via crafted XML data, related to an XML Entity Expansion (XEE) attack.

### POC

#### Reference
- http://www.oracle.com/technetwork/topics/security/bulletinoct2015-2511968.html
- http://www.oracle.com/technetwork/topics/security/linuxbulletinoct2015-2719645.html

#### Github
- https://github.com/ARPSyndicate/cvemon
- https://github.com/appfolio/gemsurance
- https://github.com/mightysai1997/gemsurance

license: MIT

repository: trickest/cve

branch_name: refs/heads/main

gha_language: HTML

gha_license_id: MIT

repo_name: trickest/cve


text:
---
layout:     post
title:      Apereo CAS - Attribute Resolution Lifecycle States
summary:    Learn how to define attribute repositories to resolve person attributes, on-demand or conditionally, by taking advantage of repository and resolver lifecycle states to enable, disable the resolution engine, or put it in standby mode.
tags:       ["CAS 6.5.x", "Attribute Resolution"]
---

The attribute resolution engine in Apereo CAS has grown to be quite flexible over the years and can locate people and attributes from a variety of sources. The resolution engine is primarily tasked to resolve and canonicalize principal identifiers using *principal resolver* components, and then locate claims and attributes for those identifiers from sources using *attribute repository* components.

{% include googlead1.html  %}

In this blog post, we will take a look at ways attribute repository components can be configured and conditioned in Apereo CAS. Our starting position is as follows:

- CAS `6.5.x`
- Java `11`

## Active Attribute Repositories

By default, attribute repositories registered in the CAS configuration are treated as enabled, and they are registered in the overall resolution plan, ready to process requests. For example, we could define two attribute repositories to work together as such:

{% include googlead1.html  %}

```
cas.authn.attribute-repository.stub.id=Static
cas.authn.attribute-repository.stub.order=0
cas.authn.attribute-repository.stub.attributes.display-name=Misagh Moayyed
cas.authn.attribute-repository.stub.attributes.cn=Misagh

cas.authn.attribute-repository.groovy[0].id=Groovy
cas.authn.attribute-repository.groovy[0].order=1
cas.authn.attribute-repository.groovy[0].location=file:///path/to/repository.groovy
```

{% include googlead1.html  %}

When the resolution engine is invoked, the final result would be a combination of values from both repositories.

## Inactive Attribute Repositories

Sometimes, it's helpful and convenient to disable a repository block; you'd want CAS to parse and load the repository settings, but not necessarily use the actual component for principal resolution and instead use custom logic and code to handle that bit yourself. So, rather than commenting out and removing the configuration block, the repository itself can be disabled:

{% include googlead1.html  %}

```
cas.authn.attribute-repository.stub.id=Static
cas.authn.attribute-repository.stub.order=0
cas.authn.attribute-repository.stub.attributes.display-name=Misagh Moayyed
cas.authn.attribute-repository.stub.attributes.cn=Misagh

cas.authn.attribute-repository.groovy[0].id=Groovy
cas.authn.attribute-repository.groovy[0].order=1
cas.authn.attribute-repository.groovy[0].location=file:///path/to/repository.groovy

cas.authn.attribute-repository.stub.state=DISABLED
cas.authn.attribute-repository.groovy[0].state=DISABLED
```
{% include googlead1.html  %}

When the resolution engine is invoked, it would be as if those repository blocks defined in the configuration do not exist. However, you will still be able to parse and read those blocks in custom code via a `CasConfigurationProperties` type of object.

## Stand-by Attribute Repositories

An attribute repository can also be put into standby mode; this means the repository configuration is processed and registered into the application runtime and is effectively available as a Spring `@Bean`. However, it is not registered into the resolution plan and can only be called and invoked explicitly when needed.

{% include googlead1.html  %}

For example, we can put the `Static` attribute repository into standby mode, and only use its functionality in our `Groovy` attribute repository instead:

```properties
cas.authn.attribute-repository.stub.state=STANDBY
```

Since the `Static` attribute repository is available in the Spring application context, we can fetch and invoke it ourselves in the Groovy script:

```groovy
import org.apereo.cas.util.spring.*

def Map<String, Object> run(final Object... args) {
    def username = args[0]
    def attributes = args[1]
    def logger = args[2]
    def properties = args[3]
    def appContext = args[4]

    def stubRepository = appContext.getBean("stubAttributeRepositories",
        BeanContainer.class).toList()[0]

    def person = stubRepository.getPerson("casuser")
    def results = ["username": ["casuser"]]
    results.putAll(person.getAttributes())
    logger.info("Final attributes are ${results}")
    return results
}
```

{% include googlead1.html  %}

Our Groovy script can reuse and recycle the results of the `Static` attribute repository, and then implement its custom processing on top of it, without having to recreate and duplicate the logic of the `Static` repository.

# Need Help?

If you have questions about the contents and the topic of this blog post, or if you need additional guidance and support, feel free to [send us a note ](/#contact-section-header) and ask about consulting and support services.

# So...

I hope this review was of some help to you and I am sure that both this post as well as the functionality it attempts to explain can be improved in any number of ways. Please feel free to [engage and contribute][contribguide] as best as you can.

Happy Coding,

[Misagh Moayyed](https://fawnoos.com)

[contribguide]: https://apereo.github.io/cas/developer/Contributor-Guidelines.html


text:
---
layout: post
permalink: /productive-tips-for-command-interface/
title: productive tips for command interface particularly shell
description: "how to be a productive developer, optimizing the command line interface"
tags: [shell, bash, productive, tips, command-line]
comments: true
share: true

---

Imagine a scenario where you would prefer to type instead of clicking. That day would be epic. As a developer, it's our job to use and spend time on command interface it can be shell, bash, or it can be a editor like vim, emacs etc. Lot of optimization has been made since the beginning of these things. Today i will specifically talking about shell/bash prompt.

We generally use 20% of the features available there, to attain maximum efficiency in long term it learning rest 80% will help tremendously. So let's get down to business.

I. Using search in prompt
------------------------------
One can search through the commands one has previously typed. Just use

{%highlight bash%} Ctrl + R{%endhighlight%}

, this would enable backward search such that one can search through logged commands.

II. Using alias for long commands or shortcuts
------------------------------
For this one needs to use .bashrc or .zshrc(more about this later) file in the

{%highlight bash%}   ~/{%endhighlight%}

directory which is

{%highlight bash%} /home/username{%endhighlight%}

. There you have to add a `alias <alias_name>=<your long command>`
for eg. for using p for python use

{%highlight bash%} 'alias p='python'{%endhighlight%}

 now you can just use p python_script.py to run the python script, or you can add your ssh command to   server ip,which are pretty long. Isn't that handy!

III. Configuring rsa key for auto pushing to github/git network.
------------------------------
You might be typing username and password every time you want to push to github. There is an easy way to do this automatic. One need to paste the key from `~/.ssh/ ` directory, keep in mind the key ends in .rsa . If you have one already generated and configured with ssh-agent then paste the key in github profile settings under SSH realted area.

If you haven't done it yet, do it by using key-gen utility

{%highlight bash%} key-gen -t rsa -C "your_email_id"{%endhighlight%}

`-t` is for defining the type of key which rsa in this case
`-C` is to providing commenting so that you can identify different keys for what we are using email id.
then add generated keys to ssh-agent using

{%highlight bash%} eval "$(ssh-agent -s)"{%endhighlight%}
{%highlight bash%}ssh-add ~/.ssh/<key_id.rsa> '''{%endhighlight%}

And then follow the procedure to add it on github profile
Additonal link: [github-ssh](https://help.github.com/articles/generating-ssh-keys/){:target="_blank"}

IV. Using zsh instead of bash
------------------------------
zsh is an shell designed for interactive use, most of its features are from bash, so one can easily use as bash replacement.

+ One of most fruitful feature is one don't need to type `cd` for changing the directory. Just type directory and enter & you are in directory.

+  Other feature is intelligent autocorrection, supposedly you made some type in case, zsh would auto correct it. For modifying the configuration use file at `~/.zshrc` like adding alias or export or path.
Additional link:[zsh-link](http://zsh.sourceforge.net/)

V. Using oh-my-zsh framework for zsh
------------------------------
oh-my-zsh is most popular command line utility framework on github. It has premade zsh configuration which you would have to write otherwise in bashrc/zshrc files. you can use lot of themes from lot of community themes.

A screenshot of my terminal using oh-my-zsh is given below
![oh-my-zsh-screenshot](http://s2.postimg.org/47mlvy4nt/oh_my_zsh_screenshot.png)
Some useful mentions

+ I can see full path of my working directory

+  I can see git repository branch, i am working upon

+  I can see time stamp for each command

+  also if my git repos has been modified and there are uncommitment changes, i see all that on one terminal.

Isn't that wonderful!
Additional link:[oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh)

VI. Mutliple tabs instead of mulitple windows
------------------------------
Lot of people bring a new command window for different task. Using tabs is recommended since you can switch easily and also see what is running on different tab.

Just use `Alt + T ` for new tab and `Alt + <tab_number for eg.1,2 >` for switching the tab.

That's all for now. For more detailed information follow the links provided in the post

Next time it will be productive while being python developer.


text:
To Do List for Chess Chaos

***Software Requirements Specification***
- [x] 1. Introduction : March 7
- [x] 2. Description : March 7
- [x] 3. External Interface Requirements : March 8
- [x] 4. System Features : March 10
- [x] 5. Nonfunctional Requirements / Appendices : March 11

***Software Design Document***
- [x] Initial Commit : March 13
- [x] 1. Introduction : March 13
- [x] 2. Architecture : March 13
- [x] 3. High-Level Design : March 15
- [x] Diagram Creation : March 16 : Edit March 26 : Edit April 1

***Source Code***
- [x] Initial Commit : March 13
- [x] Basic Framework : March 15
- [x] Homemade Utilities (Timer, Button) : March 15
- [x] Displays and Rendering : March 15
- [x] Board/Game Mechanics : March 16
- [x] Player System : March 17
- [x] GameStates and Buttons : March 27
- [x] Piece PossibleMove methods : March 26
- [x] Artificial Intelligence : April 1 : April 4 added AI
- [x] Game Replaying : March 27 : April 2 Added game saving
- [x] Demo Modes : April 1

***Test Plan***
- [x] Initial Commit : March 26
- [x] 1. Introduction : March 27
- [x] 2. Testing Strategy : March 27
- [x] 3. Environment Requirements : March 27
- [x] 4. Functions to be tested : April 4

***Various***
- [x] Create Repository : March 7
- [x] Upload Document Templates and Directories: March 7
- [x] Create README : March 17
- [x] Create TODO list ~~how meta~~ : March 17
- [x] Finalize Repository : April 6

And version 1.0 of this project has been completed!
It took a little bit longer than anticipated, but it has been completed.

There are a couple areas of the program that could be improved, especially
when it comes to things like Front-End displaying, but the backend was the real
priority for this project.

**Things I hope to do in the future:**
- [ ] Improve/fix the way the game handles certain special moves like En Passant
- [ ] Add pawn promotion
- [ ] Further improve versatility of maps
- [ ] Make better/more AI

For now though, this project is finished. I want to move on to other projects to diversify the portfolio.
Thank's for reading through this and riding along with me from the past! Be sure to [check out any other projects I have](https://github.com/drewgrubb0) or keep up with my [LinkedIn](linkedin.com/in/drew-grubb)!
Thank's again for tagging along! <3
- Drew


text:
*Some more concrete docs comming soon.*

Javascript Shadow (jshadow)
===========================

The idea of jshadow is to facilitate easy modularization of basic GUI
functionality that requires javascript. Simple examples include tabs, various
"show this, hide that, when X condition happens", or "turn this into that" etc.

Example
-------

eg.

The following is a simple definition:

	;(function ($) {

		// enable strict mode
		'use strict';

		// the following is the definition of our shadow
		$.jshadow({

			'name': 'demo',
			'wrapper': '.j-demo',

			'defaults': {
				'api-target': '.j-demo-action',
				'name': 'Anonymous' // example property
			},

			'action': function (event, conf, wrapper, definition) {
				// we do something
				alert('Hi'+conf['name']+'!');
			}

		});

	}(window.jQuery || window.Zapto));

And here's the markup it would affect:

		<button class="j-demo-action">Test</button>

Clicking the "Test" button will perform our action.

Technical details
-----------------

The definition is initialized automatically by jshadow.  You can prevent it
by blocking the api like this:

or, for just demo, like this...

You can provide your own binding function, `$.jshadow.default_binding` is
assumed by default if none is mentioned in your definition.

repository: ibidem/mjolnir-backend

branch_name: HEAD

repo_name: ibidem/mjolnir-backend


text:
---
layout: post
title: From the eyes of a junior developer - Electron IPC!
---
![ipc](https://user-images.githubusercontent.com/25403969/107105148-da0bb100-684a-11eb-9e39-9161d6f36271.png)

IPC (Inter-Process Communication) is something most of us have heard about in undergrad but it was all in the context of fancy OS-level calls, something which we all understood from a theoretical perspective but pretty much never came across a scenario where we truly had to work with it.

If you were an undergrad anytime after late 2014-early 2015, you must have heard how "easy" it is to port any web app into a desktop app, almost making it sound as if it is a piece of cake.
Well, that statement is true but also deceitful.

You see, after the initial setup, you can technically have a desktop app for your website in just one line of code -

```javascript
  await this.appWindow.loadURL(YOUR_WEBSITE_URL)
```

However, if your desktop app is just a website being rendered inside chromium, it gives little incentive to the user to actually use it over running it via the browser!
Most firms would like to add certain nice to haves that aren't accessible via the browser. Now, electron does offer these "nice to haves" but how would your website access them?
Think about your websites like a driver and your goal is to turn the wheels of your car. Now you can't directly go out of the car and turn the wheels manually, you need some interface to do this for you - that's what electron does - it acts as the steering wheel, so the driver (your website) accesses the steering wheel, and the steering wheel then moves the wheels in the direction of your choice (wheels === actual functionality on the OS).

 In order to signal things to electron, it uses IPC (inter-process communication) where it notifies electron "hey, move the wheel to the right by 10 degrees" and electron keeps listening for any wheel turning inputs, the moment it receives such a message, it turns the wheels (or makes underlying OS calls).

Hold up, though. Isn't IPC === *Interprocess* communication, implying that there should be at least processes? And the answer to that is, yes there are - Electron divides the application into two conceptual processes "main" & "renderer" where if we go back to the driver and car analogy, "main" === car and "renderer" === driver. The renderer process is your website, it is what "Renders" on top of the main, electron process which handles communications with the underlying OS.

The way we go about doing this is by using two functions, ipcMain and ipcRenderer. As you might have guessed the renderer uses ipcRenderer and invokes calls which the ipcMain then handles.

Say you wish to make your app run whenever the operating system starts up. Surely you can't achieve this without the use of electron's underlying APIs

So what you'd end up doing is, in your web app you write a function to invoke a specific channel which the main (electron) process is listening to/expects you to invoke

```javascript
const { ipcRenderer } = window.electron;
 await ipcRenderer.invoke("SET_STARTUP", true);
```

This what you'd write in your web app and it would invoke this - the message would travel over on to electron, where you need to write some code which listens for this IPC invoke

```javascript
ipcMain.handle("SET_STARTUP", (event, start: boolean) => {
  app.setLoginItemSettings({
    openAtLogin: start,
  });
});
```

Alright, lets break down this code

*ipcMain/ipcRenderer* - As I explained these are the interfaces available on the respective processes to perform invokes/handle invokes

*"SET_STARTUP"* - this is the channel, in our car analogy, consider this to be the steering wheel. A car might have multiple such interfaces, like the gas pedal, the brakes, etc. You, the driver, invoke these interfaces.

*start* - Just as we move the wheel by a set amount of "Degrees" we need to provide some metadata to these channels - this isn't always necessary, you may write some channels which don't need this metadata at all while some might need it.

*app.setLoginItemSettings ({...})* - think of this as the part of the steering wheel that connects to the axle. This is the last abstraction layer available on electron which then directly speaks with the underlying OS to set the app to start at default on login.

## What have I learned over time working with IPC then?

### It's better to have a single place which handles all invokes

This might seem like common knowledge, but trust me, it isn't. The web is riddled with bad examples and especially with things like IPC which aren't extremely well adopted in the community just yet, we see this happen a lot.
Having all your invokes in one place would mean you can handle if a invoke doesn't have an underlying handler for it.
You can also log how many times you invoke a particular channel over the lifetime of the app run and then use that data to perform optimizations over it.
While both of these can be achieved even if your invokes are all spaced out over multiple files, this would just increase the amount of code duplication over the codebase

### Use IPC

I have mentioned this in a full-blown article in the past, but reiterating it - don't use window. remote even if it's the easy way out!

### Good IPC architecture would mean all your business logic can sit in the web app

Electron updates are a pain to handle, and even once you have a streamlined system configured, each update ships with a full-blown browser which means update sizes are enormous. In most professional scenarios, updates should be avoided as frequent 100mb+ updates aren't fun to have. As a result, if most of your business logic is handled by your web client, it would make life much easier as a simple refresh of the app would mean your clients are on the latest business logic. This wouldn't be possible without having a streamlined ping-pong of IPC calls between the main and renderer process!

...and that's about it! This should help you get up and running at a basic level with your IPC setup, for more information, electron docs are the place to be!


text:
Untested, crappy code.

It proved to work and I'm working on a real project which should get live in March 2011.

# Nodeci

Continuous Integration server based on Node.js.

## Description

Nodeci is a [Continuous Integration](http://en.wikipedia.org/wiki/Continuous_integration
"Continuous Integration definition on Wikipedia") server. It features
a web interface with distributed realtime results.

Builds are
simple shell commands. Their exit code determines the build result ("0"
means success, anything else is a failure).

## Installation

[Node.js](http://nodejs.org/ "Node.js official website") is required.

    $ git clone <nodeci-repos>
    $ git submodule init
    $ git submodule update

## Configuration

All you need to configure is the build command you want to run and the
arguments for it. Nodeci listens on <IP_ADDRESS>:8126 by default.

Configuration is stored in `config/nodeci_config.js`:

    var options = {
        hostname: "<IP_ADDRESS>",
        port: 8126,
        name: "Project",
        build: {
            command: '/bin/bash',
            args:    ['-l', './bash_cukes']
        }
    };
    module.exports = options;

## License

This software is subject to the MIT license.

Copyright © 2010 Julien Biezemans.

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

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

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

repository: jbpros/nodeci

extension: markdown

repo_name: jbpros/nodeci


text:
##  Project Inventory Transaction (IT.E3)

<PageHeader />

**Form Details**
[ Form Details ](IT-E3-1/README.md)

**Purpose**
The IT.E3 procedure is used to enter individual inventory transactions which
record the movement of materials from and to projects. The operator enters the
part number and quantity being moved, the project it is coming from and/or
going to, the location it is coming from, and the location it is going to.

When the operator's entry is filed the system creates a record in the Inventory Transaction file (IT) which records the pertinent information about the transaction. At the same time it updates the inventory balance in the Inventory file (INV) for both the from and to locations. To record the financial effect of the transaction, inventory register (INVREG) records are created when the record is filed. The record is also posted to the associated project records with the [ PROJECT.P1 ](PROJECT-P1/README.md) procedure.

This procedure is meant to be used for movements of material to and from projects only. General purpose inventory movements can be accomplished using the [ IT.E ](../../../../rover/AP-OVERVIEW/AP-ENTRY/AP-E/CHECKS-E/AP-CONTROL/GLCHART-E/GLCHART-E-1/GLCHART-R2/WO-CONTROL/WO-E/IT-E) and [ IT.E2 ](../../../../rover/INV-OVERVIEW/INV-ENTRY/IT-E2) procedures.

**Frequency of Use**
As required.

**Prerequisites**
Entry of valid inventory locations ( [ INVLOC.E ](../../../../rover/AP-OVERVIEW/AP-ENTRY/AP-E/CHECKS-E/AP-CONTROL/INVLOC-E) ), and projects ( [ PROJECT.E ](PROJECT-E/README.md) ).

<badge text= "Version 8.10.57" vertical="middle" />

<PageFooter />

repository: zumasys/docs

gha_language: JavaScript

repo_name: zumasys/docs


text:
<!--
Title: How to use multiple compartmentalized Firefox instances simultaneously using profiles
Description: Learn how to use multiple compartmentalized Firefox instances simultaneously using profiles.
Author: Sun Knudsen <https://github.com/sunknudsen>
Contributors: Sun Knudsen <https://github.com/sunknudsen>
Reviewers:
Publication date: 2020-05-13T00:00:00.000Z
Listed: true
-->

# How to use multiple compartmentalized Firefox instances simultaneously using profiles

[![How to use multiple compartmentalized Firefox instances using profiles](how-to-use-multiple-compartmentalized-firefox-instances-using-profiles.png)](https://www.youtube.com/watch?v=Upib_vq_EB8 "How to use multiple compartmentalized Firefox instances using profiles")

## Guide

### Step 1: create Firefox profile

```shell
/Applications/Firefox.app/Contents/MacOS/firefox-bin -p
```

### Step 2: open “Script Editor” and paste following snippet

> Heads-up: replace `work` with profile name from [step 1](#step-1-create-firefox-profile).

```
do shell script "nohup /Applications/Firefox.app/Contents/MacOS/firefox-bin -p \"work\" --no-remote > /dev/null 2>&1 &"
```

![script-editor-step-1](./script-editor-step-1.png?shadow=1)

### Step 3: export script as application

Click “File”, then “Export…”, set “Export As” filename to “Firefox work” (or any other filename), select “Applications” folder (in “Favorites”), select “Application” file format and click “Save”.

![script-editor-step-2](./script-editor-step-2.png?shadow=1)

### Step 4: set Firefox app environment variable

> Heads-up: replace `Firefox work` with filename from [step 3](#step-3-export-script-as-application).

```shell
FIREFOX_APP="Firefox work.app"
```

### Step 5: configure app as agent and set icon

```shell
defaults write "/Applications/$FIREFOX_APP/Contents/Info.plist" LSUIElement -bool yes
cp "/Applications/Firefox.app/Contents/Resources/firefox.icns" "/Applications/$FIREFOX_APP/Contents/Resources/applet.icns"
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -f "/Applications/$FIREFOX_APP"
```

👍

repository: gustavsl/privacy-guides

repo_name: gustavsl/privacy-guides


text:
---
title: Projects
layout: projects
---

### Projects

Following are some selected projects:

1. **Amlaan Bhoi**, [Chetan Velivela](https://devpost.com/ChetanVelivela), [Sudipta Swarnakar](https://devpost.com/sswarnakar) \\
*[Lifeguard.io](https://devpost.com/software/lifeguard-io)* \\
A 3D Convolutional Neural Network model developed on Microsoft Azure aimed to detect drowning people in swimming pools.

2. **Amlaan Bhoi**, [Sandeep Joshi](https://sandeepjoshi1910.github.io) \\
*[MS-Apriori](https://github.com/abhoi/ms-apriori)* \\
An association rule mining (unsupervised learning) algorithm with multiple minimum support.

3. [Sandeep Joshi](https://sandeepjoshi1910.github.io), **Amlaan Bhoi**, [Debojit Kaushik](https://dkaushik94.github.io) \\
*[ARYouThereYet](https://github.com/dkaushik94/ARyouthereyet)* \\
An ARKit iOS application utilizing Google Maps and Mapbox APIs to show nearby attractions in Augmented Reality.

4. **Amlaan Bhoi** \\
*[AutoColor](https://github.com/abhoi/AutoColor)* \\
A K-means clustering algorithm using [OpenCV](https://opencv.org/) and [Scikit-Learn](http://scikit-learn.org/stable/) that detects K dominant colors in an image. Autopicks K using [Silhouette Coefficient](http://scikit-learn.org/stable/modules/generated/sklearn.metrics.silhouette_score.html) metric.

5. **Amlaan Bhoi** \\
*[Squeek](https://github.com/abhoi/Squeek)* \\
A Twitter iOS client with Fabric SDK REST API support, custom viewcontrollers, and timeline for users to utilize.


text:
---
layout: default
---

# 1997-12-20 - getting beyond cyberspace

## Header Data

From: Robert Hettinga<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Message Hash: 5a1d6cdf603f550be26490c87215d365916e800eabb1efb019d7b7c798f8e29a

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1997-12-20 16:23:44 UTC

Raw Date: Sun, 21 Dec 1997 00:23:44 +0800

## Raw message

```
{% raw  %}From: Robert Hettinga<EMAIL_ADDRESS>Date: Sun, 21 Dec 1997 00:23:44 +0800
To<EMAIL_ADDRESS>Subject: getting beyond cyberspace
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

More proof that old Hegelians never die, they just synthesize themselves
into nonsense.  Or something.

Then there's the old logic joke: "There are two kinds of people, those who
use dichotomies and those who don't." :-).

Cheers,
Bob Hettinga

--- begin forwarded text

Resent-Date: Fri, 19 Dec 1997 20:59:45 -0800 (PST)
X-Authentication-Warning: weber.ucsd.edu: procmail set sender to
<EMAIL_ADDRESS>using -f
X-Authentication-Warning: weber.ucsd.edu: Processed from queue
/usr/spool/mqueue/rqueue
Date: Fri, 19 Dec 1997 20:50:51 -0800 (PST)
From: Phil Agre<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Subject: getting beyond cyberspace
Resent-From<EMAIL_ADDRESS>Reply-To<EMAIL_ADDRESS>X-URL: http://communication.ucsd.edu/pagre/rre.html
X-Mailing-List<EMAIL_ADDRESS>archive/latest/1780
X-Loop<EMAIL_ADDRESS>Precedence: list
Resent-Sender<EMAIL_ADDRESS>
[When important new technologies come along, they create an imaginative
vacuum, and that vacuum is often filled with millenarian ideologies such
as the one about cyberspace.  Once the millennialists start promising world
peace, however, we can be sure that their day has passed, and that it is
time for a new ideology that is grounded in concrete attempts to integrate
the emerging technology with the real institutional world.  The enclosed
column about the reality check that can be glimpsed beyond the ideology
of cyberspace appeared in the November/December 1997 issue of Technology
Review.  The TR people picked the title.  The column was invited as an
"audition" for a regular columnist's position in the radically overhauled
version of Technology Review that is due in the spring.  I didn't pass
the audition.  Which is how it goes, of course, although I and many others
are waiting with some concern to see whether the new magazine retains the
integrity of the classic version.]

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
This message was forwarded through the Red Rock Eater News Service (RRE).
Send any replies to the original author, listed in the From: field below.
You are welcome to send the message along to others but please do not use
the "redirect" command.  For information on RRE, including instructions
for (un)subscribing, send an empty message to<EMAIL_ADDRESS>=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

  The Next Internet Hero

  Phil Agre
  http://communication.ucsd.edu/pagre/

  Copyright 1997 by MIT's Technology Review.  You may forward this
  article to anyone for any noncommercial purpose, provided that
  you forward it in its entirety, including this copyright notice.

Every new technology is accompanied by a grand narrative.  The
Internet's grand narratives have focused on heroes: people who are
leading the transition to a more information-intensive society.  The
Internet has produced two generations of hero figures.  Now it's time
for a third.

The first hero was the good hacker.  The Internet originated in a
special setting -- the community funded by the Advanced Research
Projects Agency (ARPA).  These earliest hackers were establishment
revolutionaries.  Their guiding narrative was that information
technology and human beings are symbiotic elements of a larger system.
They owned the biggest computers and they defined the technologies
that became the Internet.

The next hero was the rebel hacker.  The second generation viewed
hacking as something that happens outside of established institutions.
Electronic mail, for example, symbolized and sometimes aided
resistance to hierarchy.  Rebel hackers include the "cypherpunks", who
resist authority by propagating robust encryption software.  But rebel
hackers can be found in practically any organization; they were the
folks who spent their evenings and weekends creating the first million
or so Web pages during the early-to-mid 1990s.  More social movement
than business practice, these Web projects were rarely integrated into
organizational procedures or strategies.

The rebel hacker is guided by the notion of cyberspace, a digital
ether that transcends the obsolete constraints of the physical
world.  This is a religious idea, and it inherits a long millenarian
tradition.  It promises to level hierarchies, erase borders, confound
the powers of the earth, and institute a perpetual utopia of peace
and plenty for all.  A belief in cyberspace is the twentieth century's
last revolutionary ideology.

The grand narrative of cyberspace, however, no longer tells us what we
need to know.  The rebel hackers derived their revolutionary edge from
the continuing rapid growth in microprocessor power, telecommunications
bandwidth, and data storage capacity.  Dramatic improvements in
information technology, they said, would surely turn society inside
out.  But this argument is misleading.  We can indeed be confident
that the basic building blocks of computers and networks will continue
to improve.  But we cannot predict what will be built from them -- the
architecture of the many-layered information infrastructure that is
rapidly emerging around the world.

The questions are endless: Will online commerce systems support
anonymous payment, or will they keep complete records of our
transactions?  Will our communications systems let users screen
out unwanted messages, or will we drown in mass mailings?  Will
educational systems support new kinds of learning, or merely introduce
new forms of rote drill?  Will the Internet continue to embody the
scientific community's values of open information, or will it converge
with the business models of broadcast media?  The answers to these
questions are not dictated by the basic workings of the machinery.
They are matters not for prediction but for choice.  The Internet
is becoming integrated with institutions, influencing them and
being influenced in turn.  Society needs institutions, after all,
and information technology provides us with a tremendous opportunity
to redesign our institutions in ways that express the values of a
democratic society.  This is not a job for the rebel hacker, who is
sworn simply to resist the bad institutions of yore.

That's why we need a new kind of Internet hero: the public hacker.
Whereas the good hacker and the rebel hacker changed the world by
changing technology, the public hacker builds bridges between the
esoteric world of technical work and the bigger, messier world in
which values are argued and chosen.  The public hacker is bilingual,
translating between technical issues and legal issues, between
the dynamics of systems and the dynamics of communities, between
technological visions and social visions.

The public hacker still invents technologies when they're necessary,
propagates them when they're useful, and defends them when they
deserve it.  But this new hero's imagination is not entirely driven
by the machinery.  Some examples: Mitchell Kapor, co-founder of
the Electronic Frontier Foundation, helped catalyze a remarkably
broad-based public discussion of the social values at stake as
we create the information infrastructure.  Peter Neumann edits an
Internet forum, the Risks Digest, that has sensitized innumerable
computer people to the things that go wrong with computer systems in
real institutional settings.  And Pamela Samuelson brings technical
and legal analysis together in the public sphere, helping policymakers
tackle the intellectual property issues that arise in digital media.

If these people don't seem like traditional heroes, perhaps we need
a new conception of heroism.  Revolutionary heroes changed the world
in a unilateral way.  Now we need heroes who can help us imagine our
options.

end

--- end forwarded text

-----------------
Robert Hettinga (rah@shipwright.com), Philodox
e$, 44 Farquhar Street, Boston, MA 02131 USA
"... however it may deserve respect for its usefulness and antiquity,
[predicting the end of the world] has not been found agreeable to
experience." -- Edward Gibbon, 'Decline and Fall of the Roman Empire'
The e$ Home Page: http://www.shipwright.com/
Ask me about FC98 in Anguilla!: <http://www.fc98.ai/>

{% endraw %}
```

## Thread

+ Return to [December 1997](/archive/1997/12)

+ Return to "[Robert Hettinga <rah@shipwright.com>](/authors/robert_hettinga_rah_at_shipwright_com_)"

+ 1997-12-20 (Sun, 21 Dec 1997 00:23:44 +0800) - getting beyond cyberspace - _Robert Hettinga<EMAIL_ADDRESS>


text:
Wox.Plugin.Todos
--------------------------

A simple todo app for [Wox](https://github.com/Wox-launcher/Wox)

![demo.gif](https://raw.githubusercontent.com/caoyue/Wox.Plugin.Todos/master/todos.gif)

### usage
- type `td -h` to view supported commands

### sync your todo list
- open your plugin directory(open settings -> Plugin -> Wox.Plguin.Todos -> click 'Plugin Directory')
- put `config.txt` in plugin directory with a file path which could be synced, e.g.

    ```
    C:\Users\me\OneDrive\todos.data.json
    ```
- use `td -rl` or `restart Wox` to take effect
- tips: cause data file may be synced after the initialization of Wox plugin, if todo list not updated, use `td -rl` to reload todos from the data file


text:
Backslashes: \\ \{ \} \` \* \_ \[ \] \( \) \# \+ \- \. \!

*italic text*

_italic text_

**bold text**

__bold text__

***bold and italic text***

*****

* bullet list string 1
- bullet list item 2 paragraph 1

  paragraph 2

        block of code
        in <ul>

    - sub bullet

            block of code in
            the sub bullet

+ bullet list string 3

------------------------------

1. numbered list item 1
2. numbered list item 2
3. numbered list item 3
4\. not numbered list item

***

Go to this link: <http://www.duckduckgo.com><EMAIL_ADDRESS>
Here's [a great website](https://www.simpleeditions.com). It'll float your boat.

See my [About](/about/) page for details

This is [an example] [id] reference-style link.
[id]: http://example.com/
    "Optional Title here"
[id]: <http://example.com/> 'Optional Title here'
[id]: http://example.com/ (Optional Title here)

Search on [DuckDuckGo][] for more information.
[duckduckgo]: http://www.duckduckgo.com

- - -

# This is the title

Text

## This is the subheader

Text

### This is the third level header

Text

* * *

This is the title
=================

This is the subheader
---------------------

![DuckDuckGo image](http://www.duckduckgo.com/assets/logo_homepage.normal.v102.png "Oh! A duck!")

![DuckDuckGo image again][duckimage]
[duckimage]: http://www.duckduckgo.com/assets/logo_homepage.normal.v102.png "Oh! Another duck!"

> "Quoted string, yes, this text is from me. This quoted can have anything you
> want like headers and list..."  - *me*

`here's some code`

``and here `a second one` ``

        my code is
      a block of code
    oh yeah

repository: sarveshc/notesntools

repo_name: sarveshc/notesntools


text:
# Momenton-server Service

Momenton-server microservice gives out the list of employees and its hierarchy available on its platform.
The project using the following technologies:

- Express for RESTful API
- MongoDB for database

## Getting Started

### Clone the repo and install the project

- git clone https://github.com/golashr/momenton-server.git
- cd momenton-server

## Requirements

- [Node.js](https://nodejs.org/en/) 10.16.+

## Running

Install Dependencies

`npm install`

Start Server

`npm start`

Run Tests

`npm run test`

- Visit [localhost:3011/api/ping](http://localhost:3011/api/ping)
- Visit [localhost:3011/api/login](http://localhost:3011/api/login)
- Visit [localhost:3011/momenton/getemployees](http://localhost:3011/momenton/getemployees)
- Visit [localhost:3011/momenton/employee?ID=?](http://localhost:3011/momenton/employee?ID=?)

repository: golashr/momenton

repo_name: golashr/momenton


text:
## Summary

1. Names
    * Describe the measurement being collected
    * Use camelCase
    * Static
    * Succinct
2. Tags
    * Should be used for dimensional filtering
    * Be careful about combinatorial explosion
    * Tag keys should be static
    * Use `id` to distinguish between instances
3. Use Base Units

## Names

### Describe the Measurement

### Use camelCase

The main goal here is to promote consistency, which makes it easier for users. The choice of
style is somewhat arbitrary, but camelCase was chosen because:

* Used by SNMP
* Used by Java
* It was commonly used at Netflix when the guideline was written

The exception to this rule is where there is an established common case. For example, with
Amazon regions, it is preferred to use `us-east-1` rather than `usEast1` as it is the more
common form.

### Static

There should not be any dynamic content in a metric name, such as `requests.$APP_NAME`. Metric
names and tag keys are how users interact with the data, and dynamic values make them difficult
to use. Dynamic information is better suited for tag values, such as `nf.app` or `status`.

### Succinct

Long names should be avoided. In many cases, long names are the result of combining many pieces
of information together into a single string. In this case, consider either discarding information
that is not useful or encoding the information in tag values.

## Tags

Historically, tags have been used to play one of two roles:

* **Dimensions.** This is the primary use of tags and this feature allows the data to be filtered
into subsets by values of interest.
* **Namespace.** Similar to packages in Java, this allows grouping related data. This type of usage
is discouraged.

As a general rule, it should be possible to use the name as a pivot. If only the name is selected,
then the user should be able to use other dimensions to filter the data and successfully reason
about the value being shown.

As a concrete example, suppose we have two metrics:

1. The number of threads currently in a thread pool.
2. The number of rows in a database table.

### Discouraged Approach

```java
Id poolSize = registry.createId("size")
  .withTag("class", "ThreadPool")
  .withTag("id", "server-requests");

Id poolSize = registry.createId("size")
  .withTag("class", "Database")
  .withTag("table", "users");
```

In this approach, if you select the name `size`, then it will match both the `ThreadPool` and
`Database` classes. This results in a value that is the an aggregate of the number of threads
and the number of items in a database, which has no meaning.

### Recommended Approach

```java
Id poolSize = registry.createId("threadpool.size")
  .withTag("id", "server-requests");

Id poolSize = registry.createId("db.size")
  .withTag("table", "users");
```

This variation provides enough context, so that if just the name is selected, the value can be
reasoned about and is at least potentially meaningful.

This variation provides enough context in the name so that the meaning is more apparent and you
can successfully reason about the values. For example, if you select `threadpool.size`, then you
can see the total number of threads in all pools. You can then group by or select an `id` to
further filter the data to a subset in which you have an interest.

## Use Base Units

Keep measurements in base units where possible. It is better to have all timers in seconds, disk
sizes in bytes, and network rates in bytes/second. This allows any SI unit prefixes applied to
tick labels on a graph to have an obvious meaning, such as 1k meaning 1 kilobyte, as opposed to
1 kilo-megabyte.

repository: brharrington/atlas-docs

repo_name: brharrington/atlas-docs


text:
# Flarn

[![Build Status](https://travis-ci.org/diptadas/flarn-backend.svg?branch=master)](https://travis-ci.org/diptadas/flarn-backend)

Flarn is a learning  portal  for  people  of  all  ages,  with  different  academic backgrounds. This project is developed as the final project for Software Engineering course at [Baylor University](https://www.baylor.edu/).

It was supervised by [Dr. Tomas Cerny](http://cs.baylor.edu/~cerny/) and developed by 3 graduate students:

- [Dipta Das](https://github.com/diptadas)
- [Clinton Yeboah](https://github.com/clintonyeb)
- [Frimpong Boadu](https://github.com/frimpz)

For more information about our team check [About Us](https://flarn.netlify.com/account/about) page.

To contact us visit [Contact Us](https://flarn.netlify.com/account/contact) page.

## Project Structure

The backend of our application is built with the [Spring Boot](https://spring.io/projects/spring-boot) framework. For more information about our backend check its [README](backend/README.md).

The frontend is built using [VueJS](https://vuejs.org/). For more information about our frontend check its [README](frontend/README.md).

Documentations and design artifacts are available in the [docs](docs) folder.

## Developer Guide

To build and deploy the application check our [Develop Guide](docs/developer.md).

## Copyright

Released under the Apache License 2.0. See the [LICENSE](docs/LICENSE) file.

repository: diptadas/flarn

gha_language: Vue

repo_name: diptadas/flarn


text:
    Python interface for UP42, the geospatial marketplace and developer platform.

  Documentation •
  UP42.com •
  Support

## Highlights
- Python package for easy access to [UP42's](http://www.up42.com) geospatial datasets & processing workflows
- For geospatial analysis & product builders!
- Interactive maps & visualization, ideal with Jupyter notebooks
- Command Line Interface (CLI)
- Developer tools for UP42 custom blocks (coming soon)

## Package Overview

- The UP42 Python SDK uses six object classes, representing the **hierarchical structure** of the UP42 platform:
    - **Project > Workflow > Job > JobTask**,
    - **Catalog** and
    - **Tools**.
- Each object (besides Catalog and Tools) provides the full functionality at that specific level and can spawn elements of one level below, e.g.
    - `project = up42.initialize_project()`
    - `workflow = Project().create_workflow()`
    - `job = workflow.create_and_run_job()`
- Usually a user starts by creating a project object and then spawns objects of a lower level.
- It is also possible to directly access a lower-level object, e.g. a job that was already run on UP42 can be used to initialize the corresponding object via `up42.initialize_job(job_id='123456789')`.

## 30-seconds Example

After authentication with the UP42 project, a new workflow is created and filled with tasks (Sentinel-2 data, image sharpening).
The area of interest and workflow parameters are defined. After running the job, the results are downloaded and visualized.

```python
import up42

up42.authenticate("config.json")
project = up42.initialize_project()

workflow = project.create_workflow(name="30-seconds-workflow", use_existing=True)
# Add blocks/tasks to the workflow.
blocks = up42.get_blocks(basic=True)
input_tasks= [blocks['sobloo-s2-l1c-aoiclipped'],
              blocks['sharpening']]
workflow.add_workflow_tasks(input_tasks=input_tasks)

# Define the aoi and input parameters of the workflow to run it.
aoi = workflow.read_vector_file("data/aoi_berlin.geojson", as_dataframe=True)
input_parameters = workflow.construct_parameters(geometry=aoi,
                                                 geometry_operation="bbox",
                                                 start_date="2018-01-01",
                                                 end_date="2020-12-31",
                                                 limit=1)
input_parameters["sobloo-s2-l1c-aoiclipped:1"].update({"max_cloud_cover":60})

job = workflow.create_and_run_job(input_parameters=input_parameters)
job.track_status()

job.download_results()
job.map_results()
```

## Installation & Getting Started

The package requires Python > 3.6.

1. Install via pip:
```bash
pip install up42-py
```

2. Create a new project on [UP42](https://up42.com).

3. Create a `config.json` file and fill in the [project credentials](https://docs.up42.com/getting-started/first-api-request.html#run-your-first-job-via-the-api).
```json
{
  "project_id": "...",
  "project_api_key": "..."
}
```

4. Test it in Python! This will authenticate with the UP42 Server and get the project information.
```python
import up42

up42.authenticate(cfg_file="config.json")
project = up42.initialize_project()
print(project)
```

Success! Continue with the **[Getting Started chapter](https://up42.github.io/up42-py/01_quickstart/)** in the documentation!

For a developer installation (in case you want to contribute to up42-py) see the [developer readme](README-dev.md).

## Support

You can reach us via Email [support<EMAIL_ADDRESS>or open a github issue. We are happy to answer your questions or help with using UP42!


text:
## Features

⚡ Modern UI Design + Reveal Animations\
⚡ One Page Layout built with React\
⚡ Styled with Bootstrap v4.3 + Custom SCSS\
⚡ Fully Responsive\
⚡ Configurable color scheme\
⚡ Image optimization with Gatsby\
⚡ Easy site customization\
⚡ Well organized documentation

To view a live example, **[click here](https://www.jakejohnowen.com/)**

---

### Prerequisites 📋

```
<EMAIL_ADDRESS>or higher
<EMAIL_ADDRESS>or higher
<EMAIL_ADDRESS>or higher
<EMAIL_ADDRESS>or higher
```

---

1.) Ensure all technologies used are installed on PC

2.) Create project folder and navigate there in VS code

3.) Run command: npm install -g gatsby-cli

4.) Create gatsby site from gatsby starter or use command: gatsby new site name

Run command: gatsby develop

Development Server has started at `http://localhost:8000/`

5.) Create gihub Repo and change remote origin to newly created repo using commands:

git remote add origin https://github.com/Jake-Owen95/Gatsby-portfolio.git

git branch -M main

git push -u origin main

6.)  Host on Netlify

## Technologies used 🛠

- [Gatsby](https://www.gatsbyjs.org/) - Static Site Generator
- [GraphQL](https://graphql.org/) - Query language for APIs
- [React](https://es.reactjs.org/) - Front-End JavaScript library
- [Bootstrap 4](https://getbootstrap.com/docs/4.3/getting-started/introduction/) - Front-End UI library
- [Sass](https://sass-lang.com/documentation) - CSS extension language
- [Netlify](https://docs.netlify.com/) - Hosting


text:
# Disable Search Engine

Disable default search engine in Magento2 and catalog search fulltext indexing.

## Purpose

- Make Elasticsearch service no longer required to install and run Magento2.
- Set value "none" as default search engine
- Return empty response from front-end queries
- Uninstall magento modules:
    - magento/module-advanced-search
    - magento/module-elasticsearch-catalog-permissions
    - magento/module-inventory-elasticsearch
    - magento/module-elasticsearch
    - magento/module-elasticsearch-6
    - magento/module-elasticsearch-7

## Compatibility

Tested on Magento version 2.3.x and 2.4.x

You should have no issue with indexation, compilation and even front-end research, which should always return no result.

If you encountered an issue during installation, please report it on this github repository.

For version greater or equal to v2.4.3 you can install the latest tag v0.1.x.

For lower version you may install v0.0.x.

## Installation
```
composer require zepgram/module-disable-search-engine
bin/magento module:enable Zepgram_DisableSearchEngine
bin/magento setup:upgrade
```


text:
tlv.edit
========

Very basic TLV editor written in TypeScript and Angular.js.

It doesn't support (now) any existing structure parsing or tag recognition

Dependencies
------------
* jQuery
* Angular.js
* TypeScript typings

Paste following in VS Package Manager Console to install dependencies:

`([xml](cat packages.config)).packages.package | %{  Install-Package -id $_.id -version $_.version ; Update-Package -reinstall -id $_.id }`

Yeah, I know ...


text:
# Landmark2019-1st-and-3rd-Place-Solution

The 1st Place Solution of the Google Landmark 2019 Retrieval Challenge and the 3rd Place Solution of the Recognition Challenge.

**NOTE**: This solution code is not refactored and work in progress at this time. Stay tuned!

Our solution has been published! You can check from: [Large-scale Landmark Retrieval/Recognition under a Noisy and Diverse Dataset](https://arxiv.org/abs/1906.04087)

### Experiments
Model training and inference are done in `experiments/` directory.
```
# train models by various parameter settings with 4 gpus (each training is done with 2 gpus).
python vX.py tuning -d 0,1,2,3 --n-gpu 2

# predict
python vX.py predict -m vX/epX.pth -d 0
# predict with multiple gpus
python vX.py multigpu-predict -m vX/epX.pth --scale L2 --ms -b 32 -d 0,1

# ABCI command
python vX.py launch-qsub tuning -d 0,1,2,3 --n-gpu 2 --n-blocks 2 -s 1 --instance-type rt_F
python vX.py launch-qsub predict -m vX/ep --ms --scale L2 --batch-size 24 --splits train,test --n-blocks 64
```

### Reproduce
Following commands are for reproducing our results.
```
cd ./experiments/
bash donwload_train.sh # download data
bash setup.sh  # setup data to ready training
bash reproduce.sh  # train models and predict for reproducing

python submit_retrieval.py  # for retrieval challenge
python submit_recognition.py  # for retrieval challenge
```

### Reference
* https://github.com/filipradenovic/cnnimageretrieval-pytorch/tree/master/cirtorch
* https://github.com/ronghuaiyang/arcface-pytorch/blob/master/models/metrics.py
* https://github.com/4uiiurz1/pytorch-adacos/blob/master/metrics.py
* https://github.com/kevin-ssy/FishNet
* https://github.com/facebookresearch/maskrcnn-benchmark/blob/master/maskrcnn_benchmark/data/samplers/grouped_batch_sampler.py


text:
# Changelog
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased][]

### Added

### Changed
- Updated to STAC specification version 1.0.0-beta.2
- Named explicit supported STAC core versions to be from 0.9.0 up to (and not including) 2.0.0
- Context Extension OpenAPI spec was updated to remove the no longer used `next` attribute
- Added root endpoint Link `search` must have `type` of `application/geo+json`
- Corrected the description of endpoint `/collections` to say it returns an object per OAFeat, instead of an array of Collection
- Updated transaction extension so it aligns with OGC API - Features Part 4: Simple Transactions

### Deprecated

### Removed

### Fixed
- BBOX openapi yaml to only allow 4 or 6 element arrays
- Fixed invalid OpenAPI files

## Older versions

See the [stac-spec CHANGELOG](https://github.com/radiantearth/stac-spec/blob/v0.9.0/CHANGELOG.md)
for STAC API releases prior to or equal to version 0.9.0.

[Unreleased]: <https://github.com/radiantearth/stac-api-spec/compare/master...dev>


text:
# SwiftAdditions

[![CI Status](http://img.shields.io/travis/Robert Dougan/SwiftAdditions.svg?style=flat)](https://travis-ci.org/Robert Dougan/SwiftAdditions)
[![Version](https://img.shields.io/cocoapods/v/SwiftAdditions.svg?style=flat)](http://cocoapods.org/pods/SwiftAdditions)
[![License](https://img.shields.io/cocoapods/l/SwiftAdditions.svg?style=flat)](http://cocoapods.org/pods/SwiftAdditions)
[![Platform](https://img.shields.io/cocoapods/p/SwiftAdditions.svg?style=flat)](http://cocoapods.org/pods/SwiftAdditions)

## Example

To run the example project, clone the repo, and run `pod install` from the Example directory first.

## Requirements

## Installation

SwiftAdditions is available through [CocoaPods](http://cocoapods.org). To install
it, simply add the following line to your Podfile:

```ruby
pod "SwiftAdditions"
```

## Author

Robert Dougan<EMAIL_ADDRESS>
## License

SwiftAdditions is available under the MIT license. See the LICENSE file for more info.

repository: rdougan/SwiftAdditions

repo_name: rdougan/SwiftAdditions


text:
---
layout: post
title:  "Maps We Love"
date:   2019-06-21
categories: [esri, cartography]
---

![progressa]({{ site.url }}/static/projects/mapswelove.gif)

Probably one of the cooler things to happen to me in a while - the [One City Marathon map](https://www.jonahadkins.com/photoshop/openstreetmap/cartography/2017/02/23/one-city-marathon.html) is now a [**Maps We Love**](https://www.esri.com/en-us/maps-we-love/gallery/one-city-marathon) on Esri's website! It's an honor to be featured among the likes of Heather Smith, John Nelson, and Sarah Bell. Also, big shoutout to [Sarah](https://twitter.com/sarahbellmaps), who took some rough notes and turned it into the incredible feature on their site - thanks Sarah!

![progress]({{ site.url }}/static/projects/mapswelove_a.png)

Got questions or comments? Feel free to [email<EMAIL_ADDRESS>or hit me up on [twitter](https://twitter.com/jonahadkins).


text:
# Changelog

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

### [0.9.5](https://github.com/keptn-contrib/argo-service/compare/0.9.4...0.9.5) (2022-07-18)

### Features

* Update to Keptn 0.17.0 ([#85](https://github.com/keptn-contrib/argo-service/issues/85)) ([4214198](https://github.com/keptn-contrib/argo-service/commit/4214198ef568c846ff9970bb14a5993cf4e2264d))
* Use Helm build action ([#82](https://github.com/keptn-contrib/argo-service/issues/82)) ([37db9b7](https://github.com/keptn-contrib/argo-service/commit/37db9b78dae761b9ef9713d8d9cbe14c27f8550f))

### [0.9.4](https://github.com/keptn-contrib/argo-service/compare/0.9.3...0.9.4) (2022-05-05)

### Features

* Update to Keptn 0.14.1 ([#73](https://github.com/keptn-contrib/argo-service/issues/73)) ([692d4b2](https://github.com/keptn-contrib/argo-service/commit/692d4b2c48111a51fa9a2fa6c3916f416d06eaef))

### [0.9.3](https://github.com/keptn-contrib/argo-service/compare/0.9.2...0.9.3) (2022-04-29)

### Features

* Upgrade to Keptn 0.13 ([#71](https://github.com/keptn-contrib/argo-service/issues/71)) ([01fce79](https://github.com/keptn-contrib/argo-service/commit/01fce791c6603c143808b293523fa4bfceef4c9e))

### [0.9.2](https://github.com/keptn-contrib/argo-service/compare/0.9.1...0.9.2) (2022-04-26)

### Features

* add liveness and readiness endpoints and probes ([#50](https://github.com/keptn-contrib/argo-service/issues/50)) ([c44caa3](https://github.com/keptn-contrib/argo-service/commit/c44caa37b3d8c550c6de77c0df284f146a28899b))
* Change used ClusterRole ([#59](https://github.com/keptn-contrib/argo-service/issues/59)) ([96c7711](https://github.com/keptn-contrib/argo-service/commit/96c7711dacae52b48b7d121cd7a8539f8ab23ced))

### Bug Fixes

* Fix helm chart template ([#62](https://github.com/keptn-contrib/argo-service/issues/62)) ([#63](https://github.com/keptn-contrib/argo-service/issues/63)) ([ec67a44](https://github.com/keptn-contrib/argo-service/commit/ec67a44e91d103840a9c7b2b59bfda9011232a4d))

### Other

* Release notes for 0.9.1 ([#48](https://github.com/keptn-contrib/argo-service/issues/48)) ([84a5d89](https://github.com/keptn-contrib/argo-service/commit/84a5d8905631530b743cbe60fe99162149718a60))

### Docs

* Added note about incompatibility with Keptn 0.14.x ([#67](https://github.com/keptn-contrib/argo-service/issues/67)) ([9e10df7](https://github.com/keptn-contrib/argo-service/commit/9e10df70f6d90a2546386e47613ba7e0d9392960))

### [0.9.1](https://github.com/keptn-contrib/argo-service/compare/0.9.0...0.9.1) (2022-01-24)

#### What's Changed
* ci: Use helm charts for release by @pchila in https://github.com/keptn-contrib/argo-service/pull/42
* build: update service to Keptn 0.10 by @TannerGabriel in https://github.com/keptn-contrib/argo-service/pull/47

repository: keptn-contrib/argo-service

gha_language: Go

repo_name: keptn-contrib/argo-service


text:
---
title: "Azure Shell."
id: "TIL 0037"
date: "2018-01-31"
---

We are going to be getting a Java developer to do some work with us next week, as result I needed to prepare an environment for him to deploy to. You can then deploy your .war file into the site ROOT folder that gets created by Azure once you have created your Java App Service. If you are deploying a .jar, the deployment location is a little different.

* If you need to ping from Azure, you can do so from Kudu by using: tcpping www.google.com
* az group list | List your resource groups
* az account set -s subscriptionId | If you do not see your resource group, your Azure Shell may be linked to the wrong subscription.
* az webapp create --name webAppName --resource-group resourceGroupName --plan appServicePlanName | Create a webapp service
* az webapp config set --name webAppName --resource-group resourceGroupName --java-version 1.8 --java-container Tomcat --java-container-version 8.0 | Set that webapp to use Java

repository: nicholaspretorius/npgh

repo_name: nicholaspretorius/npgh


text:
---
layout: newsletter
title: This Month in Solid 2020-09-03
permalink: /newsletter/2020-09-03
tags: [monthly, updates]
categories: [Updates]
---
{% include twis-intro.md %}

## Updates

### [Events](https://solidproject.org/events)
Solid World is an opportunity to meet people who are interested in or currently working with Solid.

This month’s agenda was jam-packed with surprise previews and big names.

Ruben Verborgh, professor of Semantic Web technology at Ghent University, gave us the first demo of the Community Solid Server his team has been building alongside community contributors. CSS is not yet ready for use or to develop apps against, but you can see the architecture and progress to date [on GitHub here](https://github.com/solid/community-server).

Max Leonard and Hannes Ricklefs from the BBC’s R&D team shared the work they’ve been doing to improve content recommendations while respecting user privacy, all based on data in Solid Pods. They explained how Solid helps deliver on core pieces of BBC’s royal charter, and how the user-centric approach to data opens the door to all kinds of new services for their licensees.

Charlotte Sadd from NatWest Group showed a demonstration of how Solid Pods can put the bank at the center of its customers “life moments”, providing a single, trusted place to — for example — change their name or register a business. She shared the banks thoughts on how Solid can help it on its core mission to “champion the potential of people, families and businesses.”

Jackson Morgan, founder of O Team, gave a tour of ShapeRepo and how it supports the company’s mission that “All data should be interoperable.” Finally, Alex Bourlier, founder of Startin’blox, introduced us to Hubl, an open-source collaboration tool for freelancers, built on Solid.

If you missed Solid World you can [watch the recording here](https://vimeo.com/454813146). The next Solid World will happen on the 1st October 2020. Follow along [here](http://solidproject.org/events) as we finalize the agenda, which will highlight Solid-based projects from several industries and research areas.

28th September 2020 - ["Solid - Citizens in control of their own data](https://overheid.vlaanderen.be/opleiding/solid)— A virtual event in which the Prime Minister of Flanders explains why the Flemish government is investigating the concept with great interest to improve its services. Information Flanders, Imec and Ghent University are organizing a theme afternoon about Solid in which they propose Flemish initiatives in the fields of culture and media, mobility and GovTech.

### In Other News

#### Solid Implementations
* As Ruben Verborgh mentioned in Solid World, the Community Solid Server is making great strides. Not yet production-ready, but you can follow along or contribute [here](https://github.com/solid/community-server).
* Inrupt announced the [Beta release](https://inrupt.com/inrupt-beta-live) of the Enterprise Solid Server, Dev Toolkit, and PodBrowser.
* [TrinPod](https://graphmetrix.com/trinpod) is an industrial strength Pod provider with conceptual computing through Trinity AI Capable of handling a massive amount of data. Available next month. [Sign up now](https://graphmetrix.com/trinpod) for early access.
* [Walder](https://github.com/KNowledgeOnWebScale/walder) is a content management system that can be driven by one or multiple Pods

#### Funding
* [NGI Atlantic](https://ngiatlantic.eu/ngiatlanticeu-2nd-open-call) - also check out the [NGI Twinning Lab](https://ngiatlantic.eu/twinning-lab?field_country_value=2&field_organisation_type_value=All&field_choose_the_ngi_topic_focus_value=All)

#### Job Openings
* [Digita](https://www.digita.ai/careers) is hiring a Full Stack Developer and a Linked Data Principal. Email<EMAIL_ADDRESS>for more information.
* [Contact Inrupt careers](https://inrupt.com/careers)

gha_language: SCSS


text:
---
indicator: <IP_ADDRESS>
layout: indicator
permalink: 13-2-1-1
sdg_goal: '13'
data_non_statistical: false
goal_meta_link: 'http://unstats.un.org/sdgs/files/metadata-compilation/Metadata-Goal-13.pdf'
goal_meta_link_text: United Nations Sustainable Development Goals Metadata (pdf 759kB)
graph_type: line
published: true
reporting_status: notstarted
target: >-
  Integrate climate change measures into national policies, strategies and
  planning
target_id: '13.2'
un_custodian_agency: UNFCCC
un_designated_tier: '3'
data_show_map: false
source_active_1: true
source_url_text_1: Link to source
source_active_2: false
source_url_text_2: Link to Source
source_active_3: false
source_url_3: Link to source
source_active_4: false
source_url_text_4: Link to source
source_active_5: false
source_url_text_5: Link to source
source_active_6: false
source_url_text_6: Link to source
title: Untitled
indicator_name: >-
  Actions for establishment and operationalization of policies, strategies and
  action plans on climate change adaptation and resilience,  reduction of
  greenhouse gas emissions
indicator_sort_order: 13-02-01-01
previous: 13-2-1
next: 13-3-1
tags:
  - custom.national
national_indicator_available: >-
  <IP_ADDRESS> Actions for establishment and operationalization of policies,
  strategies and action plans on climate change adaptation and resilience,
  reduction of greenhouse gas emissions
computation_calculations: >-
  The number of undertaken actions and communications to UNFCCC, which have
  mainstreamed aspects of climate change adaptation, reduction of greenhouse gas
  emissions in national, sector, and inter-sector policy documents which were
  approved and operationalised/implemented. These are included/described in the
  National Communication on greenhouse gas emissions (once per 4 years), updated
  Biennial Report on greenhouse gas emissions = Biennial Update Reports and
  [National Inventory Reports](http://clima.md/).
computation_units: Number
national_geographical_coverage: Republic of Moldova
graph_title: >-
  <IP_ADDRESS> Actions for establishment and operationalization of policies,
  strategies and action plans on climate change adaptation and resilience,
  reduction of greenhouse gas emissions
source_data_source_1: Administrative data
source_data_supplier_1: Climate Change Office
source_organisation_1: Climate Change Office
source_responsible_monitoring_1: 'Ministry of Agriculture, Regional Development and Environment'
source_periodicity_1: Once every 2 and 4 years
comparison_global: >-
  With missing global metadata, the suggested national indicator is
  complementary
---

repository: statisticamd/open-sdg-data-starter

branch_name: refs/heads/develop

gha_language: Shell

repo_name: statisticamd/open-sdg-data-starter


text:
# Methylation Liftover Pipeline

## Introduction

The [DNA Methylation Liftover Pipeline](https://gdc-docs.nci.nih.gov/Data_Dictionary/viewer/#?view=table-definition-view&id=methylation_liftover_workflow) uses data from the Illumina Infinium Human Methylation 27 (HM27) and HumanMethylation450 (HM450) arrays to measure the level of methylation at known CpG sites as beta values, calculated from array intensities (Level 2 data) as Beta = M/(M+U).

Using probe sequence information provided in the manufacturer's manifest, HM27 and HM450 probes were remapped to the GRCh38 reference genome [1]. Type II probes with a mapping quality of <10, or Type I probes for which the methylated and unmethylated probes map to different locations in the genome, and/or had a mapping quality of <10, had an entry of '\*' for the 'chr' field, and '-1' for coordinates. These coordinates were then used to identify the associated transcripts from GENCODE v22, the associated CpG island (CGI), and the CpG sites' distance from each of these features. Multiple transcripts overlapping the target CpG were separated with semicolons. Beta values were inherited from existing TCGA Level 3 DNA methylation data (hg19-based) based on Probe IDs.

## Methylation Beta Values Table Format

Descriptions for fields present in GDC Harmonized Methylation Beta Values Table are detailed below:

| Field | Definition |
|---|---|
| Composite Element | A unique ID for the array probe associated with a CpG site |
| Beta Value | Represents the ratio between the methylated array intensity and total array intensity, falls between 0 (lower levels of methylation) and 1 (higher levels of methylation) |
| Chromosome | The chromosome in which the probe binding site is located |
| Start | The start of the CpG site on the chromosome |
| End | The end of the CpG site on the chromosome |
| Gene Symbol | The symbol for genes associated with the CpG site. Genes that fall within 1,500 bp upstream of the transcription start site (TSS) to the end of the gene body are used.    |
| Gene Type | A general classification for each gene (e.g. protein coding, miRNA, pseudogene) |
| Transcript ID |  Ensembl transcript IDs for each transcript associated with the genes detailed above |
| Position to TSS | Distance in base pairs from the CpG site to each associated transcript's start site  |
| CGI Coordinate | The start and end coordinates of the CpG island associated with the CpG site |
| Feature Type | The position of the CpG site in reference to the island: Island, N_Shore or S_Shore (0-2 kb upstream or downstream from CGI), or N_Shelf or S_Shelf (2-4 kbp upstream or downstream from CGI) |

---
| I/O | Entity | Format |
|---|---|---|
| Input | [Submitted Methylation Beta Values](/Data_Dictionary/viewer/#?view=table-definition-view&id=submitted_methylation_beta_value) |  TXT |
| Output | [Methylation Beta Values](/Data_Dictionary/viewer/#?view=table-definition-view&id=methylation_beta_value) or Masked Copy Number Segment | TXT  |

## File Access and Availability

| Type | Description | Format |
|---|---|---|
| Methylation Beta Value | A table that associates array probes with CpG sites and associated metadata. |  TXT |

[1]. Zhou, Wanding, Laird Peter L., and Hui Shen. "Comprehensive characterization, annotation and innovative use of Infinium DNA methylation BeadChip probes." Nucleic Acids Research. (2016): doi: 10.1093/nar/gkw967

repository: NCIP/gdc-docs

repo_name: NCIP/gdc-docs


text:
---
layout: default
title: Using mods
intro: Welcome to Stardew Valley modding! This guide will help you install mods and troubleshoot problems.
---

## Some background

### What are mods?
A _mod_ is just a package of files which changes Stardew Valley in some way. Mods can add features
(like showing NPCs on the map), change game mechanics (like making fences decay more slowly), make
cosmetic changes (like making your house look like a hobbit home), and more.

### How do mods work?
In general, mods can be grouped into two types:

* **API mods** use a modding API to hook into the game. These mods are powerful and convenient.
  After some one-time setup, you install mods by dropping them into a folder and uninstall them by
  deleting their folder. You can use multiple API mods, and they'll rarely conflict. Ideally you
  would only use API mods, but there are a few things they can't do yet. Which leads us to...
* **File overwrite mods** replace core game files. These are difficult to uninstall (you'll need to
  recover the original game files), and you can't use two mods that change the same files. These
  are typically used to change images in the game, which is hard to do with the current modding
  APIs.

If you're just starting out, you should avoid file overwrite mods. It's easier for something to go
wrong with those, and harder to fix when it does. The rest of this page is about using API mods.

### What are SMAPI, Storm, and Farmhand?
You need something that will load the mods and let them change the game. That something is commonly
called the _modding API_ for simplicity. The _de facto_ modding API is [SMAPI](https://github.com/cjsu/SMAPI),
which nearly all mods use. It's compatible with the latest versions of the game and decently
powerful. **This is the one you should use.**

When you look for mods, you might see two other names mentioned: _[Farmhand](https://github.com/ClxS/Stardew-Farmhand)_
is a powerful API that will replace SMAPI when it's released. It can run SMAPI mods (with a few
exceptions), but also offers abstraction APIs over the game to simplify mod development. _[Storm](http://community.playstarbound.com/threads/storm-modding-api.108484/)_
is a defunct API that was meant to replace SMAPI, but was never finished and is no longer
maintained.

The rest of this article will focus on SMAPI. You should not use Storm mods, and Farmhand isn't
released yet.

## Installing SMAPI
SMAPI is the modding API which runs the game with mods. It's safely installed alongside your normal
game, and you can stop using mods anytime by just not running its launcher.

### On Windows
1. Make sure you're running the latest version of the game.
2. Download the [latest version of SMAPI](https://github.com/cjsu/SMAPI/releases).
3. Unzip the files into your game directory. Typical location:

   | Platform | Path  |
   |:-------- |:----- |
   | GOG      | `C:\Program Files (x86)\GalaxyClient\Games\Stardew Valley` |
   | Steam    | `C:\Program Files (x86)\Steam\steamapps\common\StardewValley` |

That's it. Just launch `StardewModdingAPI.exe` instead of the default executable to use the game
with mods.

If you play the game through Steam, you can configure Steam to launch SMAPI directly:

1. In the Steam client, right-click Stardew Valley and choose _Properties_.
2. Click _Set Launch Options_.
3. Enter the following command, including the quotes. (Correct the path if needed.)

   ```
   "C:\Program Files (x86)\Steam\steamapps\common\Stardew Valley\StardewModdingAPI.exe" %command%
   ```

### On Linux

Linux support is experimental. If you run into any problems or need help, come ask us on Discord. :)

1. Make sure you're running the latest version of the the game.
2. Find your game directory (which has the `StardewValley.exe` file). Typical locations:

   | Platform | Path  |
   |:-------- |:----- |
   | GOG      | `~/GOG Games/Stardew Valley/game` |
   | Steam    | `~/.local/share/Steam/steamapps/common/Stardew Valley` |

3. Rename `StardewValley` in your game directory to `StardewValley.unmodded`.
4. Unzip the [latest version of SMAPI for Linux](https://github.com/vizv/SMAPI/releases)
   (unofficial) into your game directory.

That's it. Just launch Stardew Valley normally to use the game with mods. You can stop using mods
anytime by running `StardewValley.unmodded` instead.

### On Mac

Mac support is experimental. If you run into any problems or need help, come
ask us on Discord. :)

1. Make sure you're running the latest version of the the game.
2. Find your game directory (which has the `StardewValley.exe` file). Typical locations:

   | Platform | Path  |
   |:-------- |:----- |
   | GOG      | _unknown_ (let us know!) |
   | Steam    | `~/Library/Application Support/Steam/steamapps/common/Stardew Valley/Contents/MacOS` |

3. Rename `StardewValley` in your game directory to `StardewValley.unmodded`.
4. Unzip the [latest version of SMAPI for Mac](https://github.com/MacLeek/SMAPI/releases)
   (unofficial) into a temporary directory.
5. Double-click the `install` file, which will automatically add the other files to the right
   places.
6. The installer will preinstall several mods in the `Mods` directory under the game directory.
   You can safely remove any mods you don't want.

That's it. Just launch Stardew Valley normally to use the game with mods. You can stop using mods
anytime by running `StardewValley.unmodded` instead.

## Downloading & installing mods
If you've done everything above, the hard part is done! To install a mod, just unzip it into the
game's `Mods` folder. To uninstall a mod, just delete it from the `Mods` folder.

Note: if you're playing on Linux or Mac, make sure the mod has a Linux/Mac version
or specifies Linux/Mac compatibility. SMAPI mods need to be compiled specifically for Linux and Mac.
Most mods are still Windows-only since Linux/Mac modding is new.

There are two main places to download mods:

* [Nexus Mods](http://nexusmods.com/stardewvalley/) has a huge repository of mods available.
* [The official Stardew Valley forums](http://community.playstarbound.com/forums/mods.215/)
  is a good place to ask questions, and some mods are available there. It's a bit more ad hoc, but
  feel free to ask for help.
* Stardewvalleymods.net **is not recommended**. The site operates by stealing mods without
  permission and profiting from the ad revenue. To be fair, their site can be convenient: they
  repackage mods from many authors into one place, and you can search by game version to filter out
  abandoned mods. However, there's no guarantee they're hosting the latest version and there's very
  little oversight to prevent abuse. (Also, letting a company profit by stealing free work from
  volunteers is morally nebulous at best.)

A few tips for downloading mods:

1. Try one mod at a time. That way if the game crashes, you know which one is broken.
2. Make sure the mod still works with the latest version of the game. Many mods are abandoned after
   their authors lose interest. There are a few ways to find out:
   * Does the mod description say which game versions it's compatible with?
   * When you look at the latest comments for that mod, are several people saying it doesn't
     work anymore? If so, it probably won't work for you either.
   * Ask! The next player will thank you. If the author never responds, the mod is probably
     abandoned.

## What to do when something breaks
Oh no! Something went wrong with your mods. Let's try to fix it yourself, then we'll ask the mod
developer if we can't.

### Fixing it yourself
Let's run through a quick checklist:

1. Are you running the latest Stardew Valley and SMAPI? Your current versions are listed at the top
   of the console window:

   > ![](images/using-mods/smapi-versions.png)

   Make sure "SDV Version" matches the [latest version of Stardew Valley](http://stardewvalleywiki.com/Version_History),
   and "SMAPI Version" matches the latest version of SMAPI ([see download links](#installing-smapi)).
   If not, update them and try again.

2. Are you using a Stardew Valley mod manager? Those are still experimental, so they can cause
   problems. Try manually downloading the mod.

3. Are your mods in two places? (Some mod managers do that.) Make sure all your mods are in
   `<game install path>\Mods`; delete anything in `%appdata%\StardewValley\Mods` and try
   again.

### Asking for help
Couldn't fix it yourself? See _[asking for help](/guides/asking-for-help)._


text:
### [Reduce Array Size to The Half](https://leetcode.com/problems/reduce-array-size-to-the-half)

You are given an integer array arr. You can choose a set of integers and remove all the occurrences of these integers in the array.

Return the minimum size of the set so that at least half of the integers of the array are removed.

Example 1:

Input: arr = [3,3,3,3,5,5,5,2,2,7]
Output: 2
Explanation: Choosing {3,7} will make the new array [5,5,5,2,2] which has size 5 (i.e equal to half of the size of the old array).
Possible sets of size 2 are {3,5},{3,2},{5,2}.
Choosing set {2,7} is not possible as it will make the new array [3,3,3,3,5,5,5] which has a size greater than half of the size of the old array.

Example 2:

Input: arr = [7,7,7,7,7,7]
Output: 1
Explanation: The only possible set you can choose is {7}. This will make the new array empty.

Constraints:

2 <= arr.length <= 105

arr.length is even.

1 <= arr[i] <= 105

url: https://raw.githubusercontent.com/6leetcode/6leetcode/0c0973c634c881bd874bad5a0526b91a2d83f1a0/questions/Algorithms/1338. Reduce Array Size to The Half/README.md

gha_language: C


text:
# DO NOT USE - NO LONGER WORKING / SUPPORTED :(
 Hive has abandoned / removed acccess for the public API that was used in this implementation rendering this project unusable.
 Code available for reference purposes only

## hive-access - a hive thermostat web app

## What is this?
A Node.js web app that integrates with the Hive Thermostat API, provides functionality to view Hive data and export temperature history to .csv file.

![Alt text](/screenshots/history.png)

## Contains
- /config = sample config file for hive credentials (rename it to hive-config.json)
- /controllers = hive UI HTTP endpoints + Hive API integration controller
- /views = UI views and partials (html + ejs)
- /public = css stylesheet for UI
- /screenshots = screenshots!
- /csv = location for .csv export files
- app.js main webserver code

## Functionality:

### done:
Simple HMTL UI supporting:
- Login
- View nodes
- View channels
- View events
- View users
- View topology
- View temperature history
- Export temperature history to .csv file

### todo :
- temperature and water boost control
- refactor UI; it's a tech app needs to be a user friendly app
- graphs!?

## Acknowledgements
Based on James Saunders API reference at:
http://www.smartofthehome.com/2016/05/hive-rest-api-v6/

## Installation overview

### 1. Clone Repo an install module dependencies
```
https://github.com/ajyounguk/hive-client
cd hive-client
npm install
```

### 2. Hive Config:
Copy /config/hive-config-sample.json to hive-config.json
```
cp config-sample.json config.json
```
edit hive-config.json to include your Hive (web) login details

## How to run it
node app.js

### Launch the app:
point your browser at the local/remoteIP port 3000 (http://<IP_ADDRESS>:3000) to load the HTML app

#### CSV - if you use the .csv export function, files are stored in the /csv directory

### EOL Readme..

repository: ajyounguk/hive-client

repo_name: ajyounguk/hive-client


text:
# Agricultural Field Trial Statistics Package

An analysis interface for the Agriculture Innovation Project

## Demo

A demo of the app can be accessed here:

https://moorepants.shinyapps.io/aftsp

## Installation

This Shiny app has been built into a package and the development version is
hosted on Github. Currently, it can be installed from source using the
`devtools` R package.

Install devtools:

```R
> install.packages('devtools')
```

Now install and load the development version of the app with:

```R
> devtools::install_github('ucd-ipo/aip-analysis')
```

## Usage

The function `AIP` will run the app (i.e., just run `AIP()` in the console). If
all packages aren't installed, a warning will be generated telling you to stop
the app and run `initialize_AIP`. First load the library:

```R
> library('AIP')
```

Run the app with:

```R
> AIP()
```

The app should open in your default web browser. If not, navigate to the
provided URL.

repository: msimmond/aip-analysis

repo_name: msimmond/aip-analysis