text:
---
layout: post
title:      "My First Four Ruby Development Best Practices"
date:       2019-03-17 10:49:04 -0400
permalink:  my_first_four_ruby_development_best_practices
---

So I have reached day 34 of my software development journey as a part-time student in the immersive course with the Flatiron School (and day 44 of my #100daysofcode). There are many new things I have learned and I know that we have just scratched the surface. So far we have learned Ruby fundamental programming and some Ruby object oriented programming. Both have their difficulties and challenges and are awesome in their own way. While going through one of the object-oriented programming resource videos, the instructor spelled out what I considered to be my first four best practices for software development (first in the chronological sense, not by importance).

Blog posted on Medium - below is the story link for more:

<EMAIL_ADDRESS><EMAIL_ADDRESS>


text:
Plugin for Skype to let it talk to growl

![Growl Skype Icon](/growl-skype.png?raw=true "Growl Skype Icon")

**Content License**
  * [Appache License](http://www.apache.org/licenses/LICENSE-2.0)

**Code Of Conduct**
  * Treat everyone with respect.

branch_name: refs/heads/master

extension: md

license_type: permissive


text:
---
title: Elasticsearch domain isn't encrypted at rest.
---

# Elasticsearch domain isn't encrypted at rest.

### Default Severity: high

### Explanation

You should ensure your Elasticsearch data is encrypted at rest to help prevent sensitive information from being read by unauthorised users.

### Possible Impact
Data will be readable if compromised

### Suggested Resolution
Enable ElasticSearch domain encryption

### Insecure Example

The following example will fail the aws-elastic-search-enable-domain-encryption check.
```terraform

 resource "aws_elasticsearch_domain" "bad_example" {
   domain_name = "domain-foo"

   encrypt_at_rest {
     enabled = false
   }
 }

```

### Secure Example

The following example will pass the aws-elastic-search-enable-domain-encryption check.
```terraform

 resource "aws_elasticsearch_domain" "good_example" {
   domain_name = "domain-foo"

   encrypt_at_rest {
     enabled = true
   }
 }

```

### Links

- [https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elasticsearch_domain#encrypt_at_rest](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elasticsearch_domain#encrypt_at_rest){:target="_blank" rel="nofollow noreferrer noopener"}

- [https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/encryption-at-rest.html](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/encryption-at-rest.html){:target="_blank" rel="nofollow noreferrer noopener"}

license: MIT

repository: sachinpatkar/tfsec

gha_license_id: MIT

repo_name: sachinpatkar/tfsec


text:
# ncmc · [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

forked from magic-akari/ncmc

Replace comments value with the original 163 key so songs can be recognized correctly by cloudmusic clients.

## How do I get it?

```
git clone https://github.com/mkmark/ncmc.git
```

If you don’t have cargo, install it following
```
https://rustup.rs.
```

Compile
```
cargo build
```

## How do I use it?

Convert all ncm files in current directory

```
ncmc
```

Use with a path

```
ncmc some/path/contains/ncm/files
```

Use with file list

```
ncmc 1.ncm ../2.ncm /path/to/3.ncm
```

Or simply drag ".ncm" file(s) upon excutable (if you are in Windows)

---

Thanks:

[magic-akari / ncmc](https://github.com/magic-akari/ncmc)

[anonymous5l / ncmdump](https://github.com/anonymous5l/ncmdump)

repository: mkmark/ncmc

repo_name: mkmark/ncmc


text:
# Starter Bot
A fork of [AnIdiotsGuide](https://github.com/AnIdiotsGuide) template discord bot, named [Guide Bot](https://github.com/AnIdiotsGuide/guidebot), I've custom made this to make my own version of a template for a discord bot.

## Downloading

In a command prompt in your projects folder (wherever that may be) run the following:

`git clone https://github.com/GracefulKnight/StarterBot.git`

Once Finished:

- In the folder from where you ran the git command, run `cd startbot` and then run `npm install`
- Rename or copy `config.js.example` to `data/config.js`
- Edit `data/config.js` and fill in all the relevant details as indicated in the file's comments.

## Starting the bot

To start the bot, in the command prompt, run the following command:
`node main.js`

repository: djdeathgirl/MajorTom

repo_name: djdeathgirl/MajorTom


text:
# Contractual

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

## Deprecated, use https://github.com/codemix/babel-plugin-contracts instead.

Unobtrusive, backwards compatible syntactic sugar for [Design by contract](http://en.wikipedia.org/wiki/Design_by_contract) in JavaScript.

Design by contract is a very powerful technique for writing robust software, it can be thought of as a formal but convenient method for specifying assertions. Instead of the developer documenting their assumptions in comments, or worse, not documenting them at all, DbyC gives them a way to express their assumptions in a convenient syntax, and have those assumptions validated at runtime.

In Contractual, contracts come in three flavours:

- **[preconditions](http://en.wikipedia.org/wiki/Precondition)** which run at the start of a function.
- **[postconditions](http://en.wikipedia.org/wiki/Postcondition)** which run at the end of a function.
- **[invariants](http://en.wikipedia.org/wiki/Invariant_\(computer_science\))** which run at both the start and end of the function.

Each statement in a contract must evaluate to true for the contract to be valid. If a contract fails, an error will be thrown.

Preconditions are usually used to validate the arguments to a function, or the state of the system before the main function body executes.

Postconditions are used to validate the result of the function.

Invariants are used to ensure that an assumption holds true for the duration of the function.

Neither invariants, preconditions or postconditions themselves may have side-effects, e.g. it is not possible to assign a new value to a variable from within a contract.

> Purity within contracts is enforced as much as possible by the contractual compiler, but it is still possible for a programmer to circumvent, by calling an impure function from within the precondition or postcondition. **This is strongly discouraged.**

Contractual implements DbyC by abusing JavaScript labels. Labels are a very rarely used feature of JavaScript, and a nice thing about them is that if a label is specified but not used, it is simply ignored by the JavaScript engine.
This allows us to break up our function body into labeled sections, without affecting the result or behavior of the function. Contractual then retrieves these special labeled sections and transpiles them into contracts.

Importantly, since the original source code is both valid JavaScript and semantically identical to the result, it is possible to use source code written for Contractual directly, without compiling it. However, it will of course lack the contractual guarantees.

## Examples

1. **Precondition Only.**

  The contract for the following function specifies that the first argument must always be a string.

  ```js
  function warn (message) {
    pre:
      typeof message === 'string';
    main:
      alert('Warning!\n' + message);
  }
  ```

  If we call this function with a non string argument, a `PreconditionError` will be thrown.

  [See the compiled output.](./examples/compiled/precondition.js)

2. **Postcondition Only.**

  The following function specifies that the result of the function must always be an array containing more than one element.

  ```js
  function items (a, b) {
    main:
      var c = [];
      if (a) {
        c.push(a);
      }
      if (b) {
        c.push(b);
      }
      return c;
    post:
      Array.isArray(__result);
      __result.length > 0;
  }
  ```

  If we call this function without arguments, the post-condition will fail and a `PostconditionError` will be thrown.

  [See the compiled output.](./examples/compiled/postcondition.js)

3. **Preconditions and Postconditions.**

  In this example the precondition specifies that both arguments are numbers and that the second argument is not zero.
  The postcondition specifies that the result of the function is *always* less than the first argument to the function.

  ```js
  function divide (a, b) {
    pre:
      typeof a === 'number';
      typeof b === 'number';
      b !== 0;
    main:
      return a / b;
    post:
      __result < a;
  }
  ```

  [See the compiled output.](./examples/compiled/both.js)

4. **Invariants**

  Invariants run at the beginning and end of a function.

  ```js
  function spend (amount) {
    invariant:
      typeof amount === 'number', "First argument must be a number";
      this.balance >= 0, 'Cannot go overdrawn';
    main:
      this.balance = this.balance - amount;
      return this.balance;
  }
  ```

  [See the compiled output.](./examples/compiled/invariant.js)

4. **Error Messages**

  Often it's nice to provide an error message for the contract that failed, for example:

  ```js
  function divide (a, b) {
    pre:
      typeof a === 'number', "First argument must be a number";
      typeof b === 'number', "Second argument must be a number";
      b !== 0, "May not divide by zero";
    main:
      return a / b;
    post:
      __result =< a, "Result must always be less than or equal to the first argument";
  }
  ```

  Now if a contract fails, the error object will have a descriptive message.

  [See the compiled output.](./examples/compiled/error-messages.js)

## Installation

Install via [npm](http://npmjs.org/).

```
npm install -g contractual
```

Contributors please see [CONTRIBUTING.md](./CONTRIBUTING.md).

## Usage

While Contractual can be used programatically, it is mainly used via a command line interface:

```
> contractual --help
```

```
contractual - Syntactic sugar for Design by contract in JavaScript.

Usage: contractual [OPTIONS] [FILES]

Options:
  --output, -o   The directory to write compiled files to.                                             [default: "./out"]
  --libname, -l  The name of the identifier for the obligations library                                [default: "OBLIGATIONS"]
  --global, -g   Whether a global identifier should be used for the obligations lib.                   [default: false]
  --require, -r  The obligations library to require, if `global` is not specified.                     [default: "obligations"]
  --source-map   If true generate source maps, if a string use it as the source filename for the map.
  --source-root  If set, acts as the root for the source files listed in the source map.
  --version, -v  Show the version information.
  --help, -h     Show this help screen.
```

## License

MIT, see [LICENSE.md](./LICENSE.md).

repository: psieniarski/contractual

repo_name: psieniarski/contractual


text:
[![BCH compliance](https://bettercodehub.com/edge/badge/motri/Gilded_Rose_Kata?branch=master)](https://bettercodehub.com/)
![Travis-CI](https://travis-ci.org/motri/Gilded_Rose_Kata.svg?branch=master)
# GildedRose-Refactoring-Kata

This kata deals with legacy code and its subsequent refactoring. The original script a
41 line long conditional statement and required an extra feature added to the functionality.

## Technology
* Ruby.
* RSpec for testing.
* Rubcop for style.
* Simplecov for coverage.

## Usage
bundle install
rspec
ruby texttest_fixture.rb

## Approach

Dealing with legacy code affords great learning opportunities. In the case of the widely known GildedRose there is a lot of documentation, which I tried to avoid, for the most part.

As a first step I decided to provide tests for the existing script before trying to add any extra features. My approach was to prove that the script did what it said and also allow me to have a reference as to what the new script needed to provide.

Encapsulation seemed a logical next step. Extracting smaller functions from the main function.

The structure of the tests allowed me to focus on individual parts when working to make
the original tests pass with new code in a methodical way.

Then I proceeded to extract those functions into classes.


text:
node-opensubtitles-api
======================

Node.js API library to query opensubtitles.org

![build status](https://travis-ci.org/ka2er/node-opensubtitles-api.svg?branch=master)

Usage
-----

The lib get hashing function :

	var OS = require("opensubtitles");
	var os = new OS();
	os.computeHash('./test/breakdance.avi', function(err, size){
		if (err) return;

		os.checkMovieHash([size], function(err, res) {
			if(err) return;

			console.log(res);
		})
	});

And it also bind all XML-RPC methods :

	os.api.LogIn(function(err, res){
		console.log(res);
	},user, pass, lang, ua);

Tests
-----

simply run :

	$ mocha

About
-----

The MIT License - Copyright (c) 2015 ka2er

>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.
>
>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 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.

Subtitles service powered by www.OpenSubtitles.org

gha_language: JavaScript


text:
# @nodexe/redis

## Table of Contents

- [Introduction](#introduction)
- [Install](#install)

## Introduction

This is a library with functions in order to connect with redis. All of them had been tested and used in different projects avoiding the effort to implement in your project.

## Install

This is a [Node.js](https://nodejs.org/en/) module available through the
[npm registry](https://www.npmjs.com/).

Before installing, [download and install Node.js](https://nodejs.org/en/download/).

Installation is done using the
`npm install command`:

```sh
$ npm install @nodexe/redis
```

## License

@nodexe/redis is freely distributable under the terms of the [MIT license](LICENSE).

repository: ezeportela/nodexe-redis

repo_name: ezeportela/nodexe-redis


text:
---
title: Wenof Gold Mine – Moseaso Project
readMoreText: The above clearly signifies, Bugudon Limited associated project
  concept is in line with the firm’s mission of progressively harnessing best
  philosophies, practices, tools, partnerships, and resources to grow the
  company’s mining and process capability.
---
The proposed project will be on the firm’s 31.89Km2 concession at Moseaso,
Asankragwa, in the Amenfi District Assembly of the Western Region of Ghana.
The Concession has an independent geological report by SEMS Exploration,
Ghana a member of the West African Consultancy group. The report is in
compliance of (‘‘JORC Code’’) and (‘‘ VALMIN Code’’). The report indicates
a vast potential for alluvial gold deposits and recommends the explorations
for hard rock gold deposits as the potentials exists. Wenof is therefore seeking
a potential investor to undertake the detailed exploration of the alluvial deposits
as well as the hard rock potential. We are open to loan investment finances on
explorations joint partners

repository: RDjarbeng/bugudon-gatsby

repo_name: RDjarbeng/bugudon-gatsby


text:
# OC-Accel Sim

This subdirectory contains OC-Accel scripts for simulation, as well as simulation ouput files.

Note:
1. To run simulation with HBM on Xilinx Vivado 2018.3, need to use Cadence Xcelium 18.03.010 simulator or newer version, and apply Xilinx AR#71795 solution.
Check <https://www.xilinx.com/support/answers/71795.html> for detailed information.
2. To run simulation with HBM on Xilinx Vivado 2019.2, need to use Cadence Xcelium 19.03.008 simulator or newer version.

repository: OpenCAPI/oc-accel

gha_language: Verilog

repo_name: OpenCAPI/oc-accel


text:
# Object: FILE
**NOTE:** This documentation was auto-generated from the FabricationDefinition.ts file and any errors within this text needs to be resolved within that source file
## Constructor
Constructs a File Object.
If optional parameters are not specified when constructing the FILE Object,
use the FILE.Open method to specify them.
#### Signature
New FILE([FileName: STRING], [AccessMode: FILEMODE])
#### Arguments
- **FileName** as Optional: STRING
  - Remarks: Optional String Name of the file to open.
- **AccessMode** as Optional: FILEMODE
  - FORINPUT
  - FOROUTPUT
  - ISTEXT
  - UNICODETEXT
  - UTF8
  - UTF16
  - Remarks: Optional Mode(s) for the file open.
## Properties
The following items are accessed from the base object by a dot notation
### Property: EOF
Get the End of File flag for the FILE Object.

No additional remarks available
##### Returns
BOOLEAN
### Property: Exists
Get the Flag indicating if the file exist or not for the FILE Object.

No additional remarks available
##### Returns
BOOLEAN
### Property: FileName
Get/Set the File Name of file to open for the FILE Object.

No additional remarks available
##### Returns
STRING
### Property: IsOpen
Get the Flag indicating if the file is open for the FILE Object.

No additional remarks available
##### Returns
BOOLEAN
### Property: IsUnicode
Get the Flag indicating if the file is Unicode for the FILE Object.

File is ANSI encoded if not Unicode.
##### Returns
BOOLEAN
### Property: Length
Get the Length of file (in Bytes) for the FILE Object.

No additional remarks available
##### Returns
NUMBER
### Property: Mode
Get/Set the File Open Mode (flags) for the FILE Object.

No additional remarks available
##### Returns
FILEMODE
### Property: Position
Get/Set the current File Position (in Bytes) for the FILE Object.

No additional remarks available
##### Returns
NUMBER
## Methods
The following items are invoked from the base object by a dot notation
### Function: Close
Closes an open File.

Any open file needs to be closed before any other application can access it in Read/Write mode.
##### Signature
Close()
##### Arguments
##### Returns
BOOLEAN
### Function: Delete
Deletes a file.

No additional remarks available
##### Signature
Delete([UseRecycleBin: BOOLEAN])
##### Arguments
- **UseRecycleBin** as Optional: BOOLEAN
  - Remarks: Optional Boolean Flag to add deleted file to the Windows Recycle Bin
##### Returns
BOOLEAN
### Function: Open
Opens a file for access based on file mode.

This function is not needed if the FILE Object Constructor was called with parameters specifying the
file name and access mode/type.
##### Signature
Open(Filename: STRING, AccessMode: FILEMODE)
##### Arguments
- **Filename** as: STRING
  - Remarks: String Name of file to open.
- **AccessMode** as: FILEMODE
  - FORINPUT
  - FOROUTPUT
  - ISTEXT
  - UNICODETEXT
  - UTF8
  - UTF16
  - Remarks: Mode(s) for file open.
##### Returns
BOOLEAN
### Function: ReadByte
Read an 8-but Byte (0-255) from a binary file.

File must be opened as non-text.
##### Signature
ReadByte()
##### Arguments
##### Returns
NUMBER
### Function: ReadChar
Reads a character from a binary file.

File must be opened as non-text.
Will read a BYTE for ANSI files and a WORD for Unicode Files.
##### Signature
ReadChar()
##### Arguments
##### Returns
STRING
### Function: ReadInt
Read a 32-bit signed integer from a binary file.

File must be opened as non-text.
##### Signature
ReadInt()
##### Arguments
##### Returns
NUMBER
### Function: ReadLine
Read a line of text (minsus CR/LF) from a text file.

File must be opened as text (Unicode or ANSI).
Each call reads up into the next CR (Carriage Return), LF (Line Feed) or EOF (End of File) marker.
Returned String does not contain CR/LR or EOF characters.
##### Signature
ReadLine()
##### Arguments
##### Returns
STRING
### Function: ReadReal
Read a C-Style double precision floating point number from a binary file.

File must be opened as non-text.
##### Signature
ReadReal()
##### Arguments
##### Returns
NUMBER
### Function: ReadString
Read a String from a binary file.

File must be opened as non-text.
Will read BTYEs for ANSI files and WORDs for Unicode files.
##### Signature
ReadString()
##### Arguments
##### Returns
STRING
### Function: ReadWord
Read a 16-bit WORD (0-65535) from a binary file.

File must be opened as non-text.
##### Signature
ReadWord()
##### Arguments
##### Returns
NUMBER
### Function: Rename
Renames the current file held by the FILE object.

Current File Name must be assigned but file must not be opened for access.
##### Signature
Rename(FileName: STRING)
##### Arguments
- **FileName** as: STRING
  - Remarks: String representing the name of the file to rename to.
##### Returns
BOOLEAN
### Function: SeekEntry
Positions the file reader to the position after the specified data in the file.

File reader positions to just after the data that's specified by the function.
Subsequent calls to functions that read data will return the data immediantely after
the data that was specified.
##### Signature
SeekEntry(DataToGoTo: ANY)
##### Arguments
- **DataToGoTo** as: ANY
  - Remarks: Data to position the file reader to.
##### Returns
VOID
### Function: SeekLine
Returns Boolean flag if specified data was found in the file.

No additional remarks available
##### Signature
SeekLine(DataToFind: ANY)
##### Arguments
- **DataToFind** as: ANY
##### Returns
VOID
### Function: WriteByte
Write an 8-bit BYTE (0-255) to a binary file.

File must be opened as non-text.
##### Signature
WriteByte(ByteToWrite: NUMBER)
##### Arguments
- **ByteToWrite** as: NUMBER
  - Remarks: BYTE to write to file.
##### Returns
BOOLEAN
### Function: WriteChar
Wtite a Character to a binary file.

File must be opened as non-text.
Will write a BYTE for ANSI files or WORK for Unicodes files.
##### Signature
WriteChar(CharacterToWrite: STRING)
##### Arguments
- **CharacterToWrite** as: STRING
  - Remarks: String character to write to file.
##### Returns
BOOLEAN
### Function: WriteInt
Write a 32-bit signed integer to a binary file.

File must be opened as non-text.
##### Signature
WriteInt(IntegerToWrite: NUMBER)
##### Arguments
- **IntegerToWrite** as: NUMBER
  - Remarks: Number to write to file.
##### Returns
BOOLEAN
### Function: WriteLine
Write a line of text to a text file.

If optional AppendCR paramater missing, True is default and will automatically append
a Carrage Return (CR) and Line Feed (LR) character to the end of the specified string.
##### Signature
WriteLine(StringToWrite: STRING, [AppendCR: BOOLEAN])
##### Arguments
- **StringToWrite** as: STRING
  - Remarks: String to write to file.
- **AppendCR** as Optional: BOOLEAN
  - Remarks: Optional Boolean Flag to automatically append a CR+LF to and of line.
##### Returns
BOOLEAN
### Function: WriteReal
Write a C-Style double precision floating point number to a binary file.

File must be opened as non-text.
##### Signature
WriteReal(RealToWrite: NUMBER)
##### Arguments
- **RealToWrite** as: NUMBER
  - Remarks: Number to write to file.
##### Returns
BOOLEAN
### Function: WriteString
Write a string to a text file.

File must be opened as non-text.
Will write BYTEs for ANSI files and WORDs for Unicode files.
##### Signature
WriteString(StringToWrite: STRING)
##### Arguments
- **StringToWrite** as: STRING
  - Remarks: String to write to file.
##### Returns
BOOLEAN
### Function: WriteWord
Write a 16-bit WORD (0-65535) to a binary file.

File must be opened as non-text.
##### Signature
WriteWord(WordToWrite: NUMBER)
##### Arguments
- **WordToWrite** as: NUMBER
  - Remarks: Number to write to file.
##### Returns
BOOLEAN

repository: DyoungMCWI/FabCOD

branch_name: refs/heads/main

repo_name: DyoungMCWI/FabCOD


text:
[//]: # (pfamannot)
[//]: # (Protein Family Annotator)
[//]: # ()
[//]: # (docs/README.md)
[//]: # (Copyright © 2020 Jan Hamalčík)
[//]: # ()
[//]: # (Starting point for docs directory)
[//]: # ()

# Documentation

This folder `docs` contains all documentation for `pfamannot`.

* Navigate to [install](install) to find installation documentation.
* Navigate to [user](user) to find user documentation.
* Navigate to [development](development) to find programmer's
documentation.

repository: hamalcij/pfamannot

repo_name: hamalcij/pfamannot


text:
# TCGA Data Loader

![TCGA](./static/TCGA-thumbnail.png)

An appyter that loads RNA-seq and clinical data tables from The Cancer Genome Atlas (TCGA) based on desired search parameters for further analysis.


text:
# PyPassword_Generator

#### A simple but strong password generator using python that create strong custom password based on your need.

## Program

    import random

    print("Welcome TO PyPassword Generator")
    print("-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-")

    l = int(input("\nHow many letters do you need in the pass    : "))
    n = int(input("How many numbers do you need in the pass    : "))
    c = int(input("How many characters do you need in the pass : "))
    print("----------------------------------------------\n")

    letters ='qwertyuiopasdfghjklzxcvbnm'
    numbers ='1234567890'
    chara ='!@#$%^&*()_+[]{}<>,.?;:'
    passw =[]
    password=''

    for i in range (0,l):
      passw.append(random.choice(letters))

    caps =random.randint(1,l)
    for ca in range(0,caps-1):
      passw[ca] = passw[ca].upper()

    for j in range (0,n):
      passw.append(random.choice(numbers))

    for k in range (0,c):
      passw.append(random.choice(chara))

    random.shuffle(passw)
    for z in passw:
      password += z
    print(f"Your Paswword is : {password}")

## Output

    Welcome TO PyPassword Generator
    -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

    How many letters do you need in the pass    :5
    How many numbers do you need in the pass    :4
    How many characters do you need in the pass :4
    ----------------------------------------------

    Your Paswword is :$W57e(7^.N0fI

license: Unlicense


text:
# wxTemplate_VS
A Visual Studio template project for wxWidgets that creates a simple
wxFrame based application.

# Installation

 * Download the contents of the repo
 * (optionally) rename the folder to something meaningful
 * (optionally) remove the git control files
 * Zip up the folder
 * Move the zip file into Documents\Visual Studio 20xx\Templates\ProjectTemplates
 * Open Visual studio and check the new template appears in the *New Project* dialog

 # Configuration

 This template assumes you have already installed wxWidgets somewhere onto your system, and that you have a system environment variable called *WXWIN* that contains the full path of your top-level wxWidgets installation folder.

 # Credits

 This template was based off the steps shown in this YouTube video https://www.youtube.com/watch?v=FOIbK4bJKS8. Note that I didn't create that video, I just followed it and thought sharing the resulting VS project might be useful.


text:
Plugin Builder Results

Your plugin qgmesh was created in:
    /home/remy/Software/QGmesh/qgmesh

Your QGIS plugin directory is located at:
    /home/remy/.local/share/QGIS/QGIS3/profiles/default/python/plugins

What's Next:

  * Copy the entire directory containing your new plugin to the QGIS plugin
    directory

  * Compile the resources file using pyrcc5

  * Run the tests (``make test``)

  * Test the plugin by enabling it in the QGIS plugin manager

  * Customize it by editing the implementation file: ``qgmesh.py``

  * Create your own custom icon, replacing the default icon.png

  * Modify your user interface by opening qgmesh_dialog_base.ui in Qt Designer

  * You can use the Makefile to compile your Ui and resource files when
    you make changes. This requires GNU make (gmake)

For more information, see the PyQGIS Developer Cookbook at:
http://www.qgis.org/pyqgis-cookbook/index.html

(C) 2011-2018 GeoApt LLC - geoapt.com

repository: metocean/QGmesh

repo_name: metocean/QGmesh


text:
---
layout: project
title: Integrative genomics in maize
description:
contributors:
  - Peng Zhou
  - Erika Magnusson
image: /images/projects/TRN.png
---

Genomic studies have the potential to characterize differences in sequence or gene expression across the whole genome.  There is great potential to harness genomic datasets to develop models to explain and predict phenotypic variation.  The Springer lab has collaborations with [Steve Briggs](http://biology.ucsd.edu/research/faculty/sbriggs), [Erich Grotewold](https://bmb.natsci.msu.edu/faculty/erich-grotewold/) and [Chad Myers](http://csbio.cs.umn.edu/) that aim to connect variation in transcriptome data with gene regulatory networks.  Our goal is to develop models that integrate gene expression profiles and genetic variation data to explain phenotypic differences.  These projects will develop resources to assist with the characterization of QTL and breeding efforts for a variety of traits. This research has been supported by the National Science Foundation and the United State Department of Agriculture.

* Check our [maizeGRN website](/maizeGRN)


text:
# Jenkins Performance Monitoring

Jenkins is an open source automation server. It helps automate the parts of software development related to building, testing, and deploying, facilitating continuous integration and continuous delivery. Since its been used in the DevOps operations, in case of any performance issue it will affect the entire development life cycle process and stall the release of issues fix and new feaures.

## Importance of monitoring Jenkins Performance :

To run the Jenkins effectively, DevOps team is required to monitor the performance of Jenkins. The continuous monitoring Jenkins will allow DevOps team to view below performance trend of Jenkins.

- Analyse trends - Successful build has gone out today, Failure builds which was in the queue.
- Health check - Jenkins latency shot up
- No.of projects assoicated
- Plugins used
- Instant alert when any entity has broken.

---

## Prerequisites

- Download and install the latest version of the [Site24x7 Linux agent] / [Site24x7 Windows agent] (https://www.site24x7.com/app/client#/admin/inventory/add-monitor) in the server where you plan to run the plugin.

- Follow below steps to generate API key
- Install the "Metrics plugin" from Jenkins. (Jenkins -> Manage Jenkins -> Manage plugins ->Available)
- (Jenkins -> Manage Jenkins -> Configure system) Generate your API key under the metrics section.

---

### Plugin Installation

- Create a directory "jenkins_performance".

- Download all the files in "jenkins_performance" folder and place it under the "jenkins_performance" directory

		wget https://raw.githubusercontent.com/site24x7/plugins/master/jenkins_performance/jenkins_performance.py
		wget https://raw.githubusercontent.com/site24x7/plugins/master/jenkins_performance/jenkins_performance.cfg

- Follow the steps in [this article](https://support.site24x7.com/portal/en/kb/articles/updating-python-path-in-a-plugin-script-for-linux-servers) to update the Python path in the jenkins_performance.py script.

- Execute the below command with appropriate arguments to check for the valid json output.

		python jenkins_performance.py --host=<host_name> --port=<port_number> --username=<username> --password=<password> --apikey=<apikey>

- Change the below configurations in "jenkins_performance.cfg" file

		[jenkins_performance]
		host = <host_name>
		port = <port_number>
		username = <username>
		password = <password>
		apikey = <apikey>

- Move the directory "jenkins_performance" under Site24x7 Linux Agent plugin directory :

		Linux             ->   /opt/site24x7/monagent/plugins/

The agent will automatically execute the plugin within five minutes and user can see the plugin monitor under Site24x7 > Plugins > Plugin Integrations.

---
#### Jenkins performance metrics:

		METRICS                                             DESCRIPTION

		node_count                                          Number of node
		health-check_count                                  The number of health checks associated
		health-check_duration                               The rate at which the health checks are running (sec)
		nodes_offline                                       Number of offline nodes
		nodes_online                                        Number of online nodes
		projects_count                                      Project count
		projects_disabled                                   Number of disabled projects
		projects_enabled                                    Number of enabled projects
		queue_size                                          Number of jobs in queue
		executor_count                                      Number of executors available for Jenkins
		executors_free_count                                Number of executors available for Jenkins that are not currently in use
		executors_inuse_count                               Number of executors in use
		queues_pending                                      Number of pending jobs in the queue
		queues_stuck                                        Number of stucked jobs in the queue
		queues_blocked                                      Number of jobs that are blocked in the queue
		jobs_in_queue                                       Number of buildable items in queue
		plugins_active                                      Number of active plugins
		plugins_failed                                      Number of plugins failed
		plugins_inactive                                    Number of inactive plugins
		plugins_withupdate                                  Number of plugins with update
		builds_blocked_duration                             Time taken by the jobs in blocked state (sec)
		build_creation_time                                 Time taken by the build to complete (sec)
		builds_execution_duration                           Build execution time (sec)
		builds_queuing_duration                             Build queuing time (sec)
		builds_waiting_duration                             Time taken by the build by waiting in a queue (sec)

gha_language: Python


text:
# DiscordRest

A C# library to communicate with Discord API. Supports .NET 451 + and .NETStandard 1.0 +
The packages is in very early stages and none or few of the APIS are actually implemented.

[![Build status](https://ci.appveyor.com/api/projects/status/yxx2rn5gb12srtg2/branch/development?svg=true)](https://ci.appveyor.com/project/lasrol/discordrest/branch/dev)

## Getting Started

TODO

### Installation

The project development packages can be downloaded from [MyGet](https://dotnet.myget.org/gallery/discordrest)

## Contributing

Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on the code of conduct, and the process for submitting pull requests.

## Authors

* **Lasse Rolstad** - [lasrol](https://github.com/lasrol)

## License

This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details

repository: lasrol/DiscordRest

gha_language: C#

repo_name: lasrol/DiscordRest


text:
Create EKS step by step using aws-cli:

https://docs.aws.amazon.com/eks/latest/userguide/getting-started-console.html

Step 1:

Create Public/Private VPC:
https://docs.aws.amazon.com/eks/latest/userguide/create-public-private-vpc.html

Alternative VPC:
- AWS Site-to-Site VPN connection on a virtual private gateway (VPN tunnel)
https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario4.html

(a VPC with a private subnet only and AWS Site-to-Site VPN access)

---

Step 2

Create role to manage EKS:
https://docs.aws.amazon.com/eks/latest/userguide/service_IAM_role.html

IAM permissions needed for a user to create a EKS cluster
- https://github.com/terraform-aws-modules/terraform-aws-eks/blob/master/docs/iam-permissions.md

---

Step 3

Create EKS cluster

https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html

---

Step 4

Create kubeconfig for new cluster

https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html

---

Step 5

Configuring the Amazon VPC CNI plugin to use IAM roles for service accounts
https://docs.aws.amazon.com/eks/latest/userguide/cni-iam-role.html

--

Step 6

Amazon EKS nodes
- https://docs.aws.amazon.com/eks/latest/userguide/eks-compute.html

---

References:

https://learn.hashicorp.com/tutorials/terraform/eks
https://learnk8s.io/terraform-eks


text:
# netDx: Network-based patient classifier
[![Docker Build](https://github.com/RealPaiLab/netDx/actions/workflows/push-docker.yml/badge.svg)](https://github.com/RealPaiLab/netDx/actions/workflows/push-docker.yml)
[![R CMD check bioc](https://github.com/RealPaiLab/netDx/actions/workflows/check-bioc.yml/badge.svg)](https://github.com/RealPaiLab/netDx/actions/workflows/check-bioc.yml)

netDx is for biomedical researchers who want to integrate multi-modal patient data to predict outcome or patient subtype.
netDx builds interpretable machine-learning patient classifiers. Unlike standard machine-learning tools, netDx allows modeling of user-defined biological groups as input features; examples include pathways and co-regulated elements. In addition to patient classification, top-scoring features provide mechanistic insight, helping drive hypothesis generation for downstream experiments. netDx currently provides native support for pathway-level features but can be generalized to any user-defined data type and grouping.

## Install

These steps were tested on a 2020 Mac Book Pro with 32 Gb RAM.

1) Install Docker, and under Resources for Docker Desktop's settings set Memory to 5 GB.
2) In terminal, pull the netDx image from Docker:
	`docker pull realpailab/netdx`
3) To run the image as a container,  save the following code as a bash script named `startDocker.sh`:
```
#!/bin/bash

docker run -d --rm \
    -p 8787:8787 \
    -e PASSWORD=netdx \
    -v /path/to/software/dir:/software \
    --name [containerName] \
    realpailab/netdx
```
4) Modify the bash script so that it's executable and run it:
```
chmod u+x startDocker.sh
./startDocker.sh
```
5) Access RStudio by going to your web browser and typing in `localhost:8787`, and sign in with the username `rstudio` and password `netdx`.
6) You can then run the vignettes in R:
```
setwd("/home/rstudio/vignettes")
rmarkdown::render("ThreeWayClassifier.Rmd")
```

---

### Main repo for netDx dev work as of Sep 2021.

netDx is a general-purpose algorithm for building patient classifiers by using patient similarity networks as features. It excels at interpretability and handling missing data. It also allows custom grouping rules for features, notably grouping genes into pathways. It integrates with RCy3 for network visualization of predictive pathways.

As of February 2020, netDx is available via the BioConductor repository.
Visit http://bioconductor.org/packages/release/bioc/html/netDx.html to install the package and see worked examples.

Contact Shraddha Pai at<EMAIL_ADDRESS>in case of questions.

References:

1. Pai S, Hui S, Isserlin R, Shah MA, Kaka H and GD Bader (2019). netDx: Interpretable patient classification using patient similarity networks. *Mol Sys Biol*. 15: e8497. [Read the paper here](https://www.embopress.org/doi/full/10.15252/msb.20188497).
2. Pai S, Weber P, Isserlin R, Kaka H, Hui S, Shah MA, Giudice L, Giugno R, Nøhr AK, Baumbach J, GD Bader (2021). netDx: Software for building interpretable patient classifiers by multi-'omic data integration using patient similarity networks. *F1000 Research*. 9:1239.

repository: C-Gouveia/netDx

repo_name: C-Gouveia/netDx


text:
# Brahmi Words Library

`BrahmiWordsLibrary.db` file can be used to create the csv file using DB Browser.

`db.csv` file is used to populate the MongoDb atlas database. This file should be replaced every time a new csv file is created using BrahmiWordsLibrary.db file. Even though db.csv file can be edited directly, it is better to use `BrahmiWordsLibrary.db` to add data since it has an autoincrementing id as primary key.

`DatabaseHelper.py` file contains the code to create the database, creat columns and populate it with the data in csv file.

    mongodb+srv://brahmilator_db:brahmilator123@cluster0.zf5dm.mongodb.net/brahmilator_db?retryWrites=true&w=majority

This connection string is used to access the mongodb atlas database. Also this connection string can be used to connect to the database via MongoDB compass.

repository: nipunwijetunge/Brahmilator

repo_name: nipunwijetunge/Brahmilator


text:
# BetterNavigator for SilverStripe

![Diagram of module](images/demo.png)

This module is intended to replicate and expand upon the functionality provided by SilverStripe's built-in SilverStripeNavigator class. It provides a handy front-end menu for CMS users which offers these features:

**For Content Authors**

 * Indicates to a user that they are logged in
 * Indicates whether they are viewing draft or live content
 * Quickly edit the page you're viewing

**For Developers**

 * When in Dev Mode links are included for accessing most of SilverStripe's [URL Variable Tools](http://doc.silverstripe.org/framework/en/reference/urlvariabletools)
 * Developers can access these tools on a live website by nominating themselves as a developer in the site config

## Requirements

SilverStripe 3.1

## Installation

**Composer / Packagist ([best practice](http://doc.silverstripe.org/framework/en/trunk/installation/composer))**
Add "jonom/silverstripe-betternavigator" to your requirements.

**Manually**
Download, place the folder in your project root, rename it to 'betternavigator' (if applicable) and run a dev/build?flush=1.

## How to use

Just place **$BetterNavigator** somewhere in your template(s). If your website uses caching, make sure BetterNavigator's output is excluded.

**Access developer tools on a live website**
You can mark certain CMS users as developers in your site's config, so they can access developer tools when logged in. Example YAML:

```
  BetterNavigator:
    developers:
      -<EMAIL_ADDRESS>      -<EMAIL_ADDRESS>```

## Customisation

BetterNavigator's output is controlled by templates so it can be [easily overridden](http://doc.silverstripe.org/framework/en/topics/theme-development# overriding).

#### Option 1: Add some stuff

If you want to add some content (new buttons for instance) to BetterNavigator, just create a template called *BetterNavigatorExtraContent.ss* or *BetterNavigatorExtraDevTools.ss* and add your content to it. Place the template in the includes folder for your website's theme, or in *mysite/templates/includes/* if you want to use it across multiple themes.

#### Option 2: Complete control

All content, scripts and CSS are loaded via the BetterNavigator.ss template, so you can completely customise BetterNavigator's front-end code by copying or creating your own BetterNavigator.ss template.

The BetterNavigator.ss template's scope is set to the page that is being viewed, so any methods available in your page controller will be available in the BetterNavigator.ss template. This should allow you to add custom links by page type and introduce complex logic if you want to.

## Known issues

 * Probably won't work in IE8 or lower.

## Bonus: better debugging tools

This module provide quick access to SilverStripe's built in [URL Variable Tools](http://doc.silverstripe.org/framework/en/reference/urlvariabletools) but reading their output isn't much fun. You can peek under SilverStripe's hood much more conveniently using the recently released [SilverStripe Clockwork](https://github.com/markguinn/silverstripe-clockwork) by Mark Guinn. Out of the box SQL Queries and controller events are logged. It's Chrome only for now.


text:
---
title: "Visibility of Sections"
description: "How to control visibility of terraform-docs sections"
menu:
  docs:
    parent: "how-to"
weight: 203
toc: false
---

Since `v0.10.0`

Output generated by `terraform-docs` consists of different [sections] which are
visible by default. The visibility of these can be controlled by one of the following
options:

- `--show <name>`
- `--hide <name>`
- `--show-all` (deprecated in `v0.13.0`, removed in `v0.15.0`)
- `--hide-all` (deprecated in `v0.13.0`, removed in `v0.15.0`)

As of `v0.13.0` flags `--show-all` and `--hide-all` are deprecated in favor of
explicit use of `--show` and `--hide`. In other words when `--show <section>` is
used, only `<section>` will be shown. If you want to show multiple sections and
hide the rest you can specify `--show` flag multiple times. The same logic is also
applied to `--hide`.

```bash
# show 'inputs' and hide everything else
$ terraform-docs --show inputs <formatter>

# show 'inputs' and show 'outputs' and hide everything else
$ terraform-docs --show inputs --show outputs <formatter>

# hide 'header' and show everything else
$ terraform-docs --hide header <formatter>

# hide 'header' and hide 'providers' and show everything else
$ terraform-docs --hide header --hide providers <formatter>
```

{{< alert type="info" >}}
Using `--show` or `--hide` CLI flag will completely override the values
from `.terraform-docs.yml`.
{{< /alert >}}

```bash
$ cat .terraform-docs.yml
sections:
  show:
    - inputs
    - outputs

# example 1: this will only show 'providers'
$ terraform-docs --show providers .

# example 2: this will hide 'inputs' and hide 'providers' and show everything else
$ terraform-docs --hide inputs --hide providers .
```

[sections]: {{< ref "sections" >}}

repository: terraform-docs/terraform-docs

gha_language: Go

repo_name: terraform-docs/terraform-docs


text:
release_assets
=========

Downloads all assets for a tagged release from a given repository.

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

Available variables are listed below (All variables are required):

`github_auth_token:` A [Github Personal Access Token](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token).

`release_tag:` The tag of the release from which to download the assets.

`github_repo_name:` The name of the repository.

`github_repo_owner:` The user or organization that owns the repository.

`assets_path:` Path where the assets should be downloaded. Will download to  `~/` by default.

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

    - hosts: servers
      roles:
         - { role: unstablereality.release_assets,
             github_auth_token: "abcde12345",
             release_tag: "v1.2.3",
             github_repo_name: "my-first-repo",
             github_repo_owner: "unstablereality",
             assets_path: "~/my-first-project/assets/" }

License
-------

[MIT](https://github.com/unstablereality/ansible-role-release-assets/blob/master/LICENSE)

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

This role was created in 2020 by [Daniel Soskel](https://danielsoskel.dev)


text:
# Energy_ADE_Schema_Validator
A python script to validate a [CityGML Energy ADE](http://www.citygmlwiki.org/index.php/CityGML_Energy_ADE) dataset against the XSD schema.

System requirements
---------------------

Python packages:

+ [lxml](http://lxml.de)
+ [argparse](https://docs.python.org/3/library/argparse.html)

### OS and Python version

The software has been developed on Mac OSX in Python 3.6, and has not been tested with other configurations.

How to use?
-----------

To validate the Energy ADE dataset, use the following command:

```
python3 validateEnergyADE.py -i /path/to/CityGMLfile/ -p 0/1
```
Note: -p specifies the Energy ADE schema used for validation (0 = full Energy ADE schema and 1 = KIT profile Energy ADE schema)

Conditions for use
---------------------

This software is free to use. You are kindly asked to acknowledge its use by citing it in a research paper you are writing, reports, and/or other applicable materials.


text:
# ndarray-blas-level2

[![Build Status](https://travis-ci.org/scijs/ndarray-blas-level2.svg?branch=master)](https://travis-ci.org/scijs/ndarray-blas-level2) [![npm version](https://badge.fury.io/js/ndarray-blas-level2.svg)](http://badge.fury.io/js/ndarray-blas-level2) [![Dependency Status](https://david-dm.org/scijs/ndarray-blas-level2.svg)](https://david-dm.org/scijs/ndarray-blas-level2)

BLAS Level 2 operations for [ndarrays](https://github.com/scijs/ndarray)

## Usage

This library implements the basic matrix-vector operations of the Level 2 Basic Linear Algebra Subprograms (BLAS).

Note: It's possible to accomplish the lower triangular functions with the upper triangular version plus flipping and unflipping dimensions, but that's a little convoluted. Instead, the lower triangular versions are suffixed with \_lower just to keep it really simple.

**_See the Terminology section for details about the specific matrices._**

---

### `gemv(alpha, A, x, beta, y)`
Calculate `y <- .alpha*A*x + beta*y` for general matrices.

### `trmv(A, x, isLower)`
Calculate `x <- A*x` for the upper triangular matrix A. Data below the diagonal is ignored. If `isLower` is true, uses the lower triangular portion of A instead.

### `trsv(A, x, isLower)`
Calculate `x <- A^-1 x` for the upper triangular matrix A. Data below the diagonal is ignored.  If `isLower` is true, uses the lower triangular portion of A instead.

### `gbmv(A, kl, ku, x, y, alpha, beta)`
Calculates `y <- alpha*A*x + beta*y` for general banded matrices. `kl` is the number of subdiagonals and `ku` are the number of super diagonals. `alpha` defaults to 1.0 and `beta` defaults to 0.0 if not specified.

### `symv(A, x, y, fromLower, alpha, beta)`
Calculates `y <- alpha*A*x + beta*y` for symmetric matrices. If `fromLower = true`, the function uses the lower triangular part of the matrix; for `false` it uses the upper triangular part. `alpha` defaults to 1.0 and `beta` defaults to 0.0 if not specified.

### `sbmv(A, k, x, y, fromLower, alpha, beta)`
Calculates `y <- alpha*A*x + beta*y` for symmetric banded matrices. `k` is the number of superdiagonals. `alpha` defaults to 1.0 and `beta` defaults to 0.0 if not specified.

## Terminology

### Triangular Matrices

There are 2 types of triangular matrices: lower and upper. The L matrix below is lower triangular and the U matrix below is upper triangular:

![Lower and upper triangular matrices](./docs/img/lutriangular.png)

### Diagonals and Banded Matrices

A matrix diagonal is a term used to refer to a collection of matrix elements. For any given element, other elements on the same diagonal are on the upper-left and lower-right.

The main diagonal is the diagonal that contains all the elements `A_ij` where `i = j`. The first superdiagonal contains elements where `i + 1 = j`, the second superdiagonal contains those elements where `i + 2 = j`, and so on. The subdiagonals are similar, where the first subdiagonal contains those elements where `i = j + 1` and so on.

Here's an example of a matrix with 2 superdiagonals and 1 subdiagonal:

![Matrix with 2 super and 1 sub diagonals](./docs/img/diagonals.png)

Matrices with only elements on the main diagonal are called **_diagonal matrices_** and matrices with super- and subdiagonals are called **_banded matrices_**.

### Symmetric and Packed Matrices

These are matrices that are "mirrored" across the main diagonal. An example of a symmetric matrix is shown below:

![Symmetric matrix](./docs/img/symmetric.png)

Since the elements are the same above and below the main diagonal, this matrix can be stored compactly if we just take the unique elements. If we store the upper or lower triangular portions as a linear array, this is called **_packed storage_**.

Packed storage for lower triangular portion:

![Lower triangular packed matrix](./docs/img/lTriPacked.png)

Packed storage for upper triangular portion:

![Upper triangular packed matrix](./docs/img/uTriPacked.png)

## Credits
© 2016 Scijs Authors. MIT License.


text:
---
layout: post
title: ASP.NET MVC - start
date: 2008-01-14T13:57:00.001Z
author: Marcus Hammarberg
tags:
  - .NET
  - Life of a consultant
  - ASP.NET MVC
modified_time: 2010-12-14T15:20:33.365Z
blogger_id: tag:blogger.com,1999:blog-36533086.post-1223226366906556291
blogger_orig_url: http://www.marcusoft.net/2008/01/aspnet-mvc-start.html
---

I am really hooked on a new thing from Microsoft called ASP.NET
MVC - which could be understood as "a project template for ASP.NET to
easily build applications with the ModelViewControl (MVC)-pattern"

I can now safely confess that i have actually never liked or fully
understood the ASP.NET programming model with Web Forms and User
Controls. It just to complicated to digest - a lot of events firing, on
some you can see the controls of the page and on other you don't. I
don't like it! At all!

But that is all in the passed from now (for me and a lot of other as it
seems), because now the ASP.NET MVC exists as a wonderful alternative.
There are already a CTP (preview) to
[download](http://asp.net/downloads/3.5-extensions/) and also some
really good introductions to the concept.

Here is my short-lists of must-reads and sees:

- Scott Guthrie "book" on his blog. [Part
    0](http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx),
    [Part
    1](http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx),
    [Part
    2](http://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx),
    [Part
    3](http://weblogs.asp.net/scottgu/archive/2007/12/06/asp-net-mvc-framework-part-3-passing-viewdata-from-controllers-to-views.aspx)
    and, yes you've guessed it; [Part
    4](http://weblogs.asp.net/scottgu/archive/2007/12/09/asp-net-mvc-framework-part-4-handling-form-edit-and-post-scenarios.aspx)
- [Great introduction
    video](http://download.microsoft.com/download/f/e/b/febedc0c-dd47-4062-ad53-40e34d556a5d/ScottHanselmanIntroToMVC.wmv)
    by Scott Hanselmann
- More in-depth looks by [Fredrik
    Normén](http://fredrik.nsquared2.com/ShowCategory.aspx?categoryId=30)
- [How to apply
    TDD](http://haacked.com/archive/2007/12/07/tdd-and-dependency-injection-with-asp.net-mvc.aspx)
    (Test Driven Design) with the MVC-pattern
- Some [QuickStart
    samples](http://quickstarts.asp.net/3-5-extensions/mvc/default.aspx)
- And finally - doing cool stuff with [Ajax and ASP.NET
    MVC](http://www.nikhilk.net/Ajax-MVC.aspx)

Well, to summaries, i just love this way of looking at web applications.
It feels like: "Finally - i understand it!". I will never (or not
without some serious debating first) build in any other way, as i see it
now


text:
---
layout: post
title: "CREPE: A Convolutional Representation for Pitch Estimation"
date: 2018-02-17 03:50:11
categories: arXiv_SD
tags: arXiv_SD Tracking CNN
author: Jong Wook Kim, Justin Salamon, Peter Li, Juan Pablo Bello
mathjax: true
---

* content
{:toc}

##### Abstract
The task of estimating the fundamental frequency of a monophonic sound recording, also known as pitch tracking, is fundamental to audio processing with multiple applications in speech processing and music information retrieval. To date, the best performing techniques, such as the pYIN algorithm, are based on a combination of DSP pipelines and heuristics. While such techniques perform very well on average, there remain many cases in which they fail to correctly estimate the pitch. In this paper, we propose a data-driven pitch tracking algorithm, CREPE, which is based on a deep convolutional neural network that operates directly on the time-domain waveform. We show that the proposed model produces state-of-the-art results, performing equally or better than pYIN. Furthermore, we evaluate the model's generalizability in terms of noise robustness. A pre-trained version of CREPE is made freely available as an open-source Python module for easy application.

##### Abstract (translated by Google)
估计单声道录音的基本频率（也称为音调跟踪）的任务对于在语音处理和音乐信息检索中具有多种应用的音频处理是很重要的。迄今为止，性能最好的技术（如pYIN算法）基于DSP流水线和启发式技术的组合。虽然这些技术的平均表现非常好，但很多情况下他们无法正确估计音高。在本文中，我们提出了一种基于数据驱动的音调跟踪算法CREPE，该算法基于深度卷积神经网络，可直接在时域波形上运行。我们表明，所提出的模型产生了最先进的结果，性能与pYIN相同或更好。此外，我们用噪声鲁棒性来评估模型的一般性。预训练版的CREPE可作为开源Python模块免费提供，以便于应用。

##### URL
[http://arxiv.org/abs/1802.06182](http://arxiv.org/abs/1802.06182)

##### PDF
[http://arxiv.org/pdf/1802.06182](http://arxiv.org/pdf/1802.06182)


text:
# Caesar-cipher-app
## Author
Kenneth Kathungu
## Project Description
This is a simple java command line application that encrypts normal text and also decrypts text inputted by the user from a prompt. The project requires installation of intelliJ or any java IDE after which one can fork and clone the repository to their local space and run it using the text editor of choice.
## Languages used
The project utilized java programming language
### Link to the project view
https://github.com/karanikathungu-crypto/Caesar-cipher-app
### License used
MIT license

repository: karanikathungu-crypto/Caesar-cipher-app

repo_name: karanikathungu-crypto/Caesar-cipher-app


text:
# nodejs-socialauthenticator-demo
A complete node.js 3rd-party login app.
- User can sign in and connect to LinkedIn, Facebook, Google and Twitter using `passport`
- User can view the last 20 posts on their aggregated timeline
- The current signed in user will be persisted across server restarts
- In the home timeline, user can view posts with the user profile picture, username, content, origin social network and timestamp. In other words, data presentation should appear consistent for posts across social network sources.
- In the timeline, user can like and unlike posts.
- User can click share in the timeline, and share with a custom message on a separate page.
- User can click reply in the timeline, and submit a reply on a separate page.
- User can click compose anywhere, and submit a new post on a separate page.
- When composing, user can select to which networks to post.
- Optional: User can click a post and view it on a separate page with controls to share, like, and reply.
- Optional: User should be able to unshare their posts.
- Optional: User should be able to delete their posts.
- Optional: Replies should be prefixed with the username and link to the conversation thread.
- Optional: User can click a "Next" button at the bottom to load more

## Dropbox [(raw)](https://gist.github.com/CrabDude/040af9c1b93e350608ff/raw)

This is a basic Dropbox clone to sync files across multiple remote folders.

Time spent: `<Number of hours spent>`

### Features

#### Required

- [ ] Client can make GET requests to get file or directory contents
- [ ] Client can make HEAD request to get just the GET headers
- [ ] Client can make PUT requests to create new directories and files with content
- [ ] Client can make POST requests to update the contents of a file
- [ ] Client can make DELETE requests to delete files and folders
- [ ] Server will serve from `--dir` or cwd as root
- [ ] Client will sync from server over TCP to cwd or CLI `dir` argument

### Optional

- [ ] Client and User will be redirected from HTTP to HTTPS
- [ ] Server will sync from client over TCP
- [ ] Client will preserve a 'Conflict' file when pushed changes preceeding local edits
- [ ] Client can stream and scrub video files (e.g., on iOS)
- [ ] Client can download a directory as an archive
- [ ] Client can create a directory with an archive
- [ ] User can connect to the server using an FTP client

### Walkthrough

![Video Walkthrough](...)

repository: jxhangithub/nodejs-socialfeed-starter

repo_name: jxhangithub/nodejs-socialfeed-starter


text:
# MIDAS SSO example using only JavaScript

An example of website serving static files using only JavaScript on Node.js with serve, midas-sso and Auth0.
For live demo, visit https://midas-isg.github.io/example-midas-sso-js/.

## Hook up to midass-sso

This example shows how to hook up to midass-sso and perform an authorization check for the logged in user.
After user signs up to midas-sso via MIDAS Accounts, the user will automatically get `ISG_USER` role so that the user can access `user.html`. This example checks for a role of `ISG_ADMIN` which user usually won't get and, if the user tries to access the `admin.html` route, redirects the user to the `unauthorized.html`.

## Running the Example on your machine

Install the dependencies.

```bash
npm install -g serve
```

To serve static files, run the below command on the directory example-midas-sso-js.
```bash
serve ..
```

Then open http://localhost:3000/example-midas-sso-js/ in a browser. The behavior should be the same as the [live demo](https://midas-isg.github.io/example-midas-sso-js/).

repository: midas-isg/example-midas-sso-js

repo_name: midas-isg/example-midas-sso-js


text:
# Changelog

## 0.9.23 - 2020-04-25

### Fixed

- Broken rss feeds.

## 0.9.22 - 2020-04-23

### Fixed

- Check for wrong language in post_header, so wrong date format was displayed.

## 0.9.21 - 2020-04-18

### Bugfix

- Last published version had wrong version of jekyll-bootflat as a dependency

## 0.9.20 - 2020-04-14

### Fixed

- Google Play Icon and Gpodder Icon. Thanks to Chester Wisniewski!

## 0.9.15, 0.9.16, 0.9.17, 0.9.18, 0.9.19 - 2020-04-08

### Changed

- config_theme not working
- octopod episode created deprecated example file
- updated dependency to latest version of jekyll-bootflat 0.3.2
- fixed issues with font-awesome-sass gem within jekyll-bootflat
- Bumped versions of dependencies, especially Jekyll to 4.0

## 0.9.14 - 2020-03-23

### Fixed

- Dump, when files where hosted externally.
- Filesizes now can be provided via front matter.

## 0.9.12 - 2019-01-18

### Fixed

- Layout 'with_twitter_card' used by episode default view had already several
  differences to the default layout.

## 0.9.11 - 2019-01-09

### Changed

- Increasede Jekyll Version dependency to mitigate vulnerability in certain
  Jekyll versions.

## 0.9.10 - 2019-01-09

### Fixed

- Ubuntu font was required, but not properly loaded. It is now available in
  /assets/fonts/ubuntu/ via the required version of jekyll-bootflat

## 0.9.9 - 2018-08-13

### Changed

- moved jekyll-octopod into the plugins section of the `_config.yml` file to get rid of the
  deprecation warning

## 0.9.8 - 2018-08-13

### Changed

- cleaned up `_config.yml`: conistent comments, options and descriptions
- added all config options available to `_config.yml`. Commented out the unimportant ones.
- there was an inconsistency on episode level: `episode-cover` and `image` where both expected to be filled
  for an episode cover image. `image` is the one and only param from now on.
  It should contain the image filename and the file should be put in the img directory. (That has
  not changed.)

## 0.9.7 - 2018-08-10

#### Changed

- Roboto fonts for Podlove Subscribe Button now include cyrillic and greek character sets

## 0.9.6 - 2018-07-11

#### Changed
- Dependency Podigee Podcast Player is now included and therefor served locally
- Dependency Podlove Subscribe Button is now included and therefor served locally
- Twitter Buttons are now simply decorated links (and no 'twitter widgets').
- This means no data transfered with requests to external CDNs any more.
- Talks menu item only displayed, if any.

#### Removed
- Removed support for Mathjax

## 0.9.5 - 2018-04-25
#### Added
- Podigee Player theme is now configureable (thanks to https://github.com/marksweiss)

#### Fixed
- Bug in site search (thanks to https://github.com/marksweiss)

## 0.9.4 - 2018-03-20
#### Changed
- Fixed a bug, that demo site could not be created (thanks to https://github.com/marksweiss)
- Chapters are not mandatory any more (thanks to https://github.com/kylemhall)

## 0.9.3 - 2017-12-06
#### Added
- Added a changelog

#### Changed
- Fixed an XML-encoding bug in podcast feeds

#### Removed
- Removed the guid from enclosures in podcast feeds

## 0.9.2 - 2017-10-30
#### Changed
- fixed a weird highlighting issue: In certain posts certain parts suddenly got
  syntax highlighted and displayed as code

## 0.9.1 - 2017-09-12
#### Added
- rudimentary support for twitter cards (you have to register your domain for twitter cards
  yourself, though!)

#### Changed
- fixed the malformed itunes:category tag in the podcast feed
- fixed a bug in the download link

## 0.9.0 - 2017-06-04
#### Added
- Jsonfeeds for all attachment types

## 0.8.9 - 2017-04-07
#### Fixed
- Fixed a bug, that whole post get's included in guid insteat of guid itself

## 0.8.8 - 2017-05-15
#### Added
- Jekyll admin: a gui web interface for adding posts in development locally

## 0.8.7 - 2017-02-09
#### Added
- Swiss theme as an option

## 0.8.6 - 2017-02-08
#### Added
- Support for Jekyll 3.4

## 0.8.5 - 2017-02-08
#### Changed
- Fixed a bug in project dependency paths

## 0.8.4 - 2017-02-08
#### Added
- Localized date formats on the web site
#### Changed
- Uses the version in the feed generator tag of the feeds
- Initial support for Swiss theme

## 0.8.2 - 2017-02-03
#### Added
- support for hosting audio files on an external server<br/>
  use download_url attribute in _config.yml to specify

## 0.8.1 - 2017-02-01
#### Added
- isso integration as an option
#### Changed
- removed Gemfile.lock from the repo
- fixed some typos on the webpage

## 0.8.0 - 2017-01-30
#### Added
- support for contributors on episode level in feeds and on website
- support for images on episode level

## 0.7.9 - 2017-01-30
#### Changed
- feed now uses https links, as Itunes support them as well
- improving legibility and including episode subtitles on website
#### Added
- basic support for isso comment system

## 0.7.8 - 2017-01-17
#### Changed
- fixed a bug on the web player
- fixed a bug in mathjax integration
- fixed typos on the website

## 0.7.7 - 2017-01-14
#### Changed
- updates json-bootflat dependency
- internationalization for podlove subscribe button from the language config attribute
- fixes a bug in file exclusion
- smaller example sound files

## 0.7.5 - 2017-01-05
#### Added
- Mathjax support
#### Changed
- removed an old hack that is no longer necessary (GEM_DIR)
- updating the files excluded

## 0.7.2 - 2016-12-08
#### Changed
- reduces the number of audio formats, that have to exist to one

## 0.7.1 - 2016-12-07
#### Changed
- Using Podigee Player instead of Podlove Webplayer
- Proper gem dependencies instead of including them in the repo

## 0.6.7 - 2016-08-16
#### Changed
- Fixes a bug, that the episode summary is not displayed on the player page player.

## 0.6.6 - 2016-08-09
#### Changed
- Fixes a bug in the duration diplayed by the web player

## 0.6.5 - 2016-06-06
#### Changed
- Fixes a bug in paged feeds

## 0.6.3 - 2016-06-06
#### Changed
- Fixes a bug, when hosted on a subdomain

## 0.6.2 - 2016-06-06
#### Changed
- Improvements for paged feeds

## 0.6.1 - 2016-06-05
#### Changed
- Fixes a bug in item derivation for the feeds

## 0.6.0 - 2016-06-05
### Added
- Support for paged feeds, use the episodes_per_feed_page attribute in _config.yml!
### Changed
- Documatation update

## 0.5.3 - 2016-06-01
### Changed
- Nicer messages for the installer script

## 0.5.2 - 2016-06-01
### Changed
- Typos in the installer script got fixed
- Documentation update

## 0.5.0 - 2016-05-30
### Changed
- Fixes a bug for static asset installation
- Documentation update

## 0.4 - 2016-05-29
#### Changed
- Command line help update
- Documentation update
- Set up a demo instance as a documentation site

## 0.3 - 2016-05-28
#### Changed
- Project readme update
- Update Logo and license info
- Documentation update

## 0.2 - 2016-05-28
#### Added
- Glyphicons as supplied assets
- Default feeds
- Default imprint
#### Changed
- Documentation update
- Tranlate demo files to English
- Cleanup for the demo config
- Updated layouts to more relent version of Bootstrap
- Improved asset copier script
- Updated Disqus support
- Updated Flattr support
- Updated the Podcast Player
- Cleanup for installation script
- Name change to jekyll-octopod
- Updated the gemspec
- Added license info

## 0.1 - 2016-03-26
#### Changed
- Let's get started!


text:
UtilityKnife [![Build Status](https://travis-ci.com/kevincon/utilityknife.svg?branch=master)](https://travis-ci.com/kevincon/utilityknife)
=========
![Animated GIF demo](static/images/demo.gif "Animated GIF demo")
UtilityKnife is a web application that visualizes a user's Dropbox space usage/allocation as a treemap. It is similar to desktop programs like Windirstat, KDirStat, Disk Inventory X, Grand Perspective, and Space Monger.

UtilityKnife was built in under 40 hours by Kevin Conley and Carolynn Sullivan at the PennApps Fall 2013 hackathon.

### Inspiration
UtilityKnife's visualization using the treemap from D3.js was heavily inspired by and built on Ben Garvey's Philadelphia budget visualization web application: http://budget.brettmandel.com/

### Getting started

#### Prerequisites
* Python 2.7
* pip
* virtualenv (`pip install virtualenv`)
* redis-server (`brew install redis`)
* foreman (`gem install foreman`)

#### Virtualenv
After cloning the repository, create a virtualenv called "venv" and activate it:
```
virtualenv venv
. venv/bin/activate
```

Then use the requirements.txt file to install the requirements for the app:
```
pip install -r requirements.txt
```

#### Environment Variables
There are several important environment variables that must be defined for the app to work. These are listed in "secrets.py", and it is helpful when working locally to define them in a file called ".env" that foreman will load automatically:

".env"
```
DROPBOX_APP_KEY=fill_me_in
DROPBOX_APP_SECRET=fill_me_in
DROPBOX_APP_REDIRECT="http[s]://your_server.com:port/dropbox-auth-finish"
FLASK_SECRET_KEY=fill_me_in
```

The `DROPBOX_APP_*` secrets come from the Settings page of your Dropbox app on [the Dropbox developer website](https://www.dropbox.com/developers). If you haven't already, you need to [create such a Dropbox app](https://www.dropbox.com/developers/apps/create). Make sure to set the permission type to "Full Dropbox" so UtilityKnife can analyze your entire Dropbox folder. You also need to add the relevant "Redirect URI" to your app's settings page to match the `DROPBOX_APP_REDIRECT` secret. For example, when I run the app locally on my computer I use `http://<IP_ADDRESS>:5000/dropbox-auth-finish`.

Likewise, it is important to define these environment variables for the production server if you will upload it to somewhere like Heroku.

#### Running the App
First, open a terminal and start the redis server:
```
redis-server
```

Then, open another terminal and start the app with:
```
foreman start
```

If all goes well, you should be able to access the app locally at `<IP_ADDRESS>:5000`.

### License
```
The MIT License (MIT)

Copyright (c) 2018 Kevin Conley

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: kevincon/utilityknife

gha_language: HTML

repo_name: kevincon/utilityknife


text:
---
author: Heather Luna
category: Sponsor Updates
date: 2016-06-13 00:00:00
layout: post
title: 'PostgreSQL Experts '
---

# PostgreSQL Experts

As you might guess from the name, [PostgreSQL Experts](https://pgexperts.com/)
specializes in all things PostgreSQL. Known by the easier-to-pronounce "PGX",
this boutique consultancy is based in San Francisco, California. PGX provides
full service database consulting, application development, support, and
training, as well as emergency services. PGX also offers its specialized
CloudDBA(tm) service, managing your servers as your offsite DBA so your staff can
focus on higher-level work, and a 24/7 support plan to provide peace of mind
for clients.

For more on [PostgreSQL Experts](https://pgexperts.com/) , you can visit our
[Sponsor](https://2016.djangocon.us/sponsors/) page or visit their webpage
directly.

repository: jefftriplett/glowing-adventure

repo_name: jefftriplett/glowing-adventure


text:
# Kindle Exporter

Kindle Exporter is a plugin for [Papers.app](http://mekentosj.com/papers/) designed to export PDF files to the Kindle.

## Download

[KindleExporter.exporter](http://stephenroller.com/static/code/KindleExporter.exporter.zip)

## Installation

Place the compiled KindleExporter.exporter in
~/Library/Application Support/Papers/Plugins/Exporter.

## Usage

After installing, select the papers you wish to save to the Kindle and click File -> Export -> Kindle. The files will be saved on your Kindle and
you may eject your Kindle.

repository: worst/Papers-KindleExporter

repo_name: worst/Papers-KindleExporter


text:
This is the supporting code for the tutorial series [A Comprehensive Guide to SSO on Kubernetes](http://localhost:4000/kubernetes-sso-a-comprehensive-guide).

Some of the highlights this series explains how to do are:

1. Login to the `kubectl` cli using SSO credentials via the browser
1. Replace basic auth ingress annotations with equally simple but much more secure SSO annotations
1. Push and pull to a secure private docker registry with full ACL

## Structure

- `charts/`: Charts which are currently only available as part of the deprecated `stable` helm repository. Any charts in this directory remain subject to the [licenses in the original repos, Apache 2.0 at time of writing](https://github.com/helm/charts/blob/master/LICENSE). As these charts become available elsewhere, they'll be removed when the tutorial series is updated.
- `docker-registry/`: The example helm values file for configuring the basic docker registry chart
- `gitea/`: The example helm values file for configuring gitea
- `group-auth/`: An example cluster role binding definition for configuring a specific SSO group to automatically have cluster admin access
- `harbor/`: The example helm values file for configuring harbor
- `jwt-ruby-example/`: An example ruby application showing how to decode JSON Web Tokens
- `keycloak/`: The example helm values file for configuring Keycloak
- `kube-oidc-proxy/`: The example helm values for for configuring Kube OIDC Proxy
- `kubelogin/`: An example KUBECONFIG file for use with kubelogin and kube oidc proxy
- `nginx-demo-app/`: An example helm values file for deploying Nginx with ingress annotations which delegate authentication to Keycloak via OIDC and demonstrate passing the JWT through
- `oauth2-proxy/`: An example helm values file for `oauth2-proxy` which provides the underlying endpoints needed for nginx to delegate auth to Keycloak
- `openldap/`: An example helm values file for installing and configuring openldap

repository: kingdonb/kubernetes-sso-guide

gha_language: Mustache

repo_name: kingdonb/kubernetes-sso-guide


text:
---
author: Nate Levesque
title: "Spring Week 11: Breaking Linux"
layout: post
---

Happy Friday, RITluggers!

This week we'll break Linux in a variety of brutal ways (rm -rf / --no-preserve-root, anyone?), see what happens, and see if and how we can bring it back.

As a reminder, elections will be held next week. If you're interested in running for next year's eboard, fill out https://goo.gl/Cle0bG.  We currently have nominations for president and vice president but none for secretary or treasurer (though you can of course run for any position).

As usual, for the remainder of the meeting after the presentation we’ll open the floor to any further discussion on today’s topic or other FOSS topics, Q and A, technical help, and give you time to get your hands dirty. If you have a cool project, know about something in the FOSS world that’s super cool, or find a project or topic you’d like to hear more about, let us know! We’d love to learn about it.


text:
---
title: Configuration
linktitle: Configuration
description: "Configuration of a Python app."
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
categories: [python]
keywords: [style, config, configuration]
identifier: "python"
draft: false
menu:
  docs:
    parent: "python"
    weight: 40
    identifier: Python-Configuration

weight: 40
sections_weight: 40
aliases: [/python/]
toc: false
---

## Configuration
[Python decouple](https://github.com/henriquebastos/python-decouple) is a very convenient library for
loading environment variables, .env files and setting defaults.

repository: CIP-NL/coding-guide

repo_name: CIP-NL/coding-guide


text:
# Compression Algorithm and secure transmission over UDP protocol

Developed an architecture to compress files, using Huffman compression Algorithm and using secure transmission over UDP Protocol. The main objectives are:
- To establish a connection between CLIENT and SERVER using socket programming.
- To implement compression algorithm to compress the text file.
- To implement de-compression algorithm to de-compress the text file.
- To calculate the compression ratio, and space saving percentage.

-----------------------
## Technology Used
- Linux Based OS (Ubuntu)
- C Language
- Socket Programming

------------------------
## Client Server Architecture (CSA)
Client/server architecture is a computing model in which multiple components work in strictly defined roles to communicate. The server hosts, delivers and manages most of the resources and services to be consumed by the client

Client/server architecture works when the client computer sends a resource or process request to the server over the network connection, which is then processed and delivered to the client.

### Socket Programming
A socket programming is a way to establish a connection between a client and a server.It is a way of connecting two nodes on a network to communicate with each other. One socket (node) listens on a particular port at an IP, while other socket reaches out to the other in order to form a connection.

---------------------------
## Huffman Compression Algorithm
Huffman encoding is used for lossless compression of data. Huffman, uses variable length encoding where length codes are assigned to characters on the basis of frequency of occurrence of character. The character which has the maximum frequency is allotted with smallest bit code and character which has least occurrence gets the highest bit code.

> - Data Compression : Data compression is the process of modifying, encoding or converting the bits structure of data in such a way that it consumes less space on disk.
It enables reducing the storage size of one or more data instances or elements.

> - Data Decompression: Decompression is the process of restoring compressed data to its original form. Data decompression is required in almost all cases of compressed data, including lossy and lossless compression.

-----------------------------
## Limitations and Future Enhancements
- It deals only with text files.

Some of the possible amendments and improvements to be carried out in future are:
- Include transfer of other files such as jpg, mp4 etc.
- Include encryption algorithm for secure transmission of files.


text:
# How to setup eth server for peatio

### What do you need?
- An instance with 4G of ram
- at least 100 G of hard disk
- Ubuntu 16.04

### Install geth

    sudo apt-get install software-properties-common
    sudo add-apt-repository -y ppa:ethereum/ethereum
    sudo apt-get update
    sudo apt-get install ethereum

### Run geth
copy the geth service file to /etc/systemd/system/geth.service

    sudo systemctl start geth
    sudo systemctl enable geth

### Install Nginx + fcgi

    sudo apt install nginx -y fcgiwrap

copy default file to /etc/nginx/sites-enabled/default

    sudo systemctl restart nginx

### cgi files

copy the cgi files to /var/www/html/cgi-bin and update total.cgi with your username

    sudo chown www-data:www-data -R /var/www/html/cgi-bin
    sudo chmod +x /var/www/html/cgi-bin/*

### Install filter service
copy total.js to /var/www

    sudo chown www-data:www-data /var/www/total.js
don't forget to edit service.rb with your url

    sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev nodejs ruby-all-dev ruby
    sudo gem install web3 -v 0.1.0
    sudo gem install httparty
copy service.rb file to /home/ubuntu/

don't forget to update the username in filter.service
copy filter.service file to /etc/systemd/system/filter.service

    sudo systemctl start filter
    sudo systemctl enable filter

You need to create at least one account and use it as a base account for withdrawals

Update config/currencies.yml  with your base address

Add your ether server IP and your base account address
Allow only peatio server to access ETH server on port 80

repository: algobasket/PeatioCryptoExchange

branch_name: refs/heads/rebuild-peatio

gha_language: Ruby

repo_name: algobasket/PeatioCryptoExchange


text:
# PipsNLP.jl

## Overview
PipsNLP.jl is a Julia interface to the [PIPS-NLP](https://github.com/Argonne-National-Laboratory/PIPS/tree/master/PIPS-NLP) nonlinear optimization solver.
Running the solver requires a working PIPS-NLP installation following the [instructions](https://github.com/Argonne-National-Laboratory/PIPS).

At some point, PIPS-NLP updated which broke support for linking constraints.  If you wish to model with linking constraints, try checking out the following commit hash from the
PIPS-NLP repo and compiling: `62f664237447c7ce05a62552952c86003d90e68f`

Also note that you will need to compile PIPS-NLP with the same version of MPI used for your Julia environment.

## Julia Interface Installation
PipsNLP.jl can be installed using the following Julia Pkg command.

```julia
using Pkg
Pkg.add(PackageSpec(url="https://github.com/zavalab/PipsNLP.jl.git"))
```
or simply:
```julia
pkg> add https://github.com/zavalab/PipsNLP.jl.git
```

## Useage
The PipsNLP.jl package works with [Plasmo.jl](https://github.com/zavalab/Plasmo.jl) to model and solve optimization problems in parallel.

Currently, PipsNLP.jl supports three main modes for modeling.  These are:
- 1) Model in parallel and execute with mpirun
- 2) Model in parallel using Julia's mpimanager where mpiranks correspond to Julia workers
- 3) Model in serial and then distribute to julia workers and solve with MPI.

The [examples](https://github.com/zavalab/PipsNLP.jl/tree/master/examples) folder has examples for each of these modeling approaches.  While the first approach is probably the most familiar
to MPI users, the second two approaches make it possible to interact with the PipsNLP model (e.g. to perform multiple solves in a Julia session).

The following snippet shows how one might model using this third approach to distribute an optigraph and execute PIPS-NLP.

```julia
using MPIClusterManagers # to import MPIManager
using Distributed        # need to also import Distributed to use addprocs()

#setup worker environments
@everywhere using Pkg
@everywhere Pkg.activate((@__DIR__)) #change this to hit the correct environment
@everywhere using Plasmo
@everywhere using PipsNLP

#Setup MPI manager
manager=MPIManager(np=2) # specify, number of mpi workers, launch cmd, etc.
addprocs(manager)        # start mpi workers and add them as julia workers too.

#create an optigraph with Plasmo.jl
graph = OptiGraph()

#Add optinodes
graph = OptiGraph()

n1 = @optinode(graph)
n2 = @optinode(graph)

@variable(n1, 0 <= x <= 2)
@variable(n1, 0 <= y <= 3)
@variable(n1, z >= 0)
@constraint(n1, x+y+z >= 4)
@objective(n1, Min, y)

@variable(n2,x)
@NLconstraint(n2,ref,exp(x) >= 2)
@variable(n2,z >= 0)
@constraint(n2,z + x >= 4)
@objective(n2,Min,x)

#link constraint between nodes
@linkconstraint(graph,n1[:x] == n2[:x])

#map julia workers to MPI ranks
julia_workers = sort(collect(values(manager.mpi2j)))

#distribute the graph to workers. This creates the variable `pipsgraph` on each worker with an allocation of optinodes.
remote_references = PipsNLP.distribute_optigraph(graph,julia_workers,remote_name = :pipsgraph)

#solve with PIPS-NLP and MPI
@mpi_do manager begin
    using MPI
    PipsNLP.pipsnlp_solve(pipsgraph)
end

#fill the local solution with the result on worker 2 (worker 2 is the root MPI rank)
PipsNLP.fill_solution!(graph, :pipsgraph, 2)
```


text:
This is a collection of random Arduino projects, mostly blinking lights
and the other usual stuff.  All of these were tested on an Arduino Micro,
which is supposedly compatible with an Arduino Leonardo.  For other Arduino
models, you may need to change the pin numbers.

### Projects

* `blink`: Blink a single diode in a distinctive pattern, mostly to verify
  that the board is working correctly.
* `colors`: Animate the colors of a Radio Shark
  [T-1 3/4 5MM FULL COLOR LED][rgbled] in a endless, gradual RGB loop using
  the PWM output pins.
* `radioshack_leds`: A horrible RadioShack
  [tricolor LED strip][rsledstrip].  This code must be compiled on Windows.
  See the notes in the source.
* `dotstar_leds`: A very nice LED strip from Adafruit.  These are a bit
  picky about the power circuit, so see the Fritzing file for details.  The
  330K resistor is a carry-over from the Neopixel docs, and should probably
  either be eliminated, or having a matching resister on the clock line.

### Developing Arduino code on Raspberry Pi

My Arduino development system is a Raspberry Pi with a NetGear G54/N150 USB
wifi adapter.  This is a bit slow, but it provides total electrical
isolation between my laptop and my dodgy electronics experiments.  Total
electrical isolation is great—I once killed a $700 embedded system back in
the day while mounting it in a robot chasis.

I do **not** power the Arduino over the Raspberry Pi's USB port.  This is
theoretically possible, but it risks drawing too much power through the
Pi's USB ports if I mess up.  So I provide ~10V of DC power to the Arduino
using 8 old AA cells.  Yes, my setup is paranoid: My laptop talks to the
Raspberry Pi via wifi, and the Raspberry Pi talks to the Arduino over USB,
and the Arduino is running off separate DC power.

### Building from the command line

First, let's install the Arduino IDE and the [Ino][] command line tools:

```sh
sudo apt-get install arduino
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
sudo pip install ino
```

Alterantively, if you want a more recent version of the Arduino tools, see
these [Arduino 1.6 Raspberry Pi instructions][arduino16] and
[this patched version of ino][inopr].

[arduino16]: https://nicohood.wordpress.com/2015/01/24/installing-avr-gcc-4-8-1-and-arduino-ide-1-6-on-raspberry-pi/
[inopr]: https://github.com/amperka/ino/pull/226

Then, from inside a project directory, we can build and upload an image
over USB:

```
ino build -m leonardo
ino upload -m leonardo
```

We specify the Arduino model `leonardo`, because that seems to work well
with the Raspberry Pi.

### Circuit diagrams

Each of these projects should include a [Fritzing][] file with breadboard
diagrams and circuit diagrams.  These are just working notes, so **use the
circuit diagrams at your own risk**. In particular, the resistors are not
necessary well-sized, and I may have made errors when translating things to
electronic format.  Pay particular attention to your power leads, and make
sure the Molex connectors are correctly oriented for your power source.
It's entirely possible to fry your Arduino or other parts if you don't
understand what's going on.

[rgbled]: http://www.radioshack.com/t-1-3-4-5mm-full-color-led/2760028.html
[Ino]: http://inotool.org/
[Fritzing]: http://fritzing.org/home/
[rsledstrip]: http://www.radioshack.com/radioshack-tricolor-led-strip/2760339.html

repository: emk/arduino-projects

repo_name: emk/arduino-projects


text:
# :rocket: JumpStartJS #

JumpStartJS allows you to easly develop web applications by handling most of the work for you. It automatically wires together your web application, by using a simple to use design language.

JumpStartJS is automatically cross-browser and works on mobile devices and desktop browsers, with no extra coding.

* Demo: https://jumpstartjs.org

Building JumpStartJS
---------
Once you have set up your environment, just run:

    grunt package

Installation
---------

```html
todo();
```

Design Away!
---------

```javascript
todo();
```