text:
# Rootkits

### TOC

* [Cull](#cull)
* [Developing](#dev)
* [Identifying/Defending Against](#id)
* [Talks/Videos](#talks)
* [Writeups](#writeups)
* [Papers](#papers)
* [Tools](#tools)

### Sort

* [Homesite](https://trmm.net/EFI)
* [Talk at CCC31](https://www.youtube.com/watch?v=5BrdX7VdOr0)

### Developing

* [Android Rootkit](https://github.com/hiteshd/Android-Rootkit)

* [Masochist](https://github.com/squiffy/Masochist)

  * Masochist is a framework for creating XNU based rootkits. Very useful in OS
    X and iOS security research.

* [Using Kernel Rootkits to conceal infected MBR](https://github.com/MalwareTech/FakeMBR/)

* [Hypervisor](https://github.com/ainfosec/more)

* [Suterusu](https://github.com/mncoppola/suterusu)

* Windows Rootkits(excellent writeup/introduction to windows rootkits)

  * [Part 1](http://www.programdevelop.com/5408113/)
  * [Part 2](http://www.programdevelop.com/5409574/)
  * [Part 3](http://www.programdevelop.com/5408212/)

* [Crafting Mac OS Rootkits](https://www.zdziarski.com/blog/wp-content/uploads/2017/02/Crafting-macOS-Root-Kits.pdf)

* [WindowsRegistryRootkit](https://github.com/Cr4sh/WindowsRegistryRootkit)

  * Kernel rootkit, that lives inside the Windows registry value data. By
    Oleksiuk Dmytro (aka Cr4sh)
  * Rootkit uses the zero day vulnerability in win32k.sys (buffer overflow in
    function win32k!bInitializeEUDC()) to get the execution at the OS startup.

### Identifiying/Defending Against

* [Killing Rootkits](http://blog.ioactive.com/2014/09/killing-rootkit.html)

### Talks/Videos

* [BoutiqueKit: Playing WarGames with Expensive Rootkits and Malware- Defcon 21](https://www.youtube.com/watch?v=gKUleWyfut0)

* [Persistent, Stealthy, Remote-controlled Dedicated Hardware Malware \* [30c3]](https://www.youtube.com/watch?v=Ck8bIjAUJgE)

* [Intel Management Engine Secrets by Igor Skochinsky](https://www.youtube.com/watch?v=Y2_-VXz9E-w)

* [MoRE Shadow Walker : TLB - splitting on Modern x86](https://www.youtube.com/watch?v=XU1uNGZ7HnY)

  * This presentation provides a cohesive overview of the work performed by AIS,
    Inc. on the DARPA CFT MoRE effort. MoRE was a 4-month effort which examined
    the feasibility of utilizing TLB splitting as a mechanism for periodic
    measurement of dynamically changing binaries. The effort created a
    proof-of-concept system to split the TLB for target applications, allowing
    dynamic applications to be measured and can detect code corruption with low
    performance overhead.

* [How Many Million BIOSes Would you Like to Infect?](http://conference.hitb.org/hitbsecconf2015ams/sessions/how-many-million-bioses-would-you-like-to-infect/)

  * This talk is going to be all about how the automation of BIOS vulnerability
    exploitation and leveraging of built-in capabilities can yield highly
    portable UEFI firmware malware. And how millions of systems will be
    vulnerable for years, because no one cares enough to patch the BIOS bugs
    weve found. So you think youre doing OPSEC right, right? Youre going to
    crazy lengths to protect yourself, reinstalling your main OS every month, or
    using a privacy-conscious live DVD like TAILS. Guess what? BIOS malware
    doesnt care!  The
    speaker does also go on to mention how prior rootkits such as Blue Pill and
    Shadow Walker leveraged these features, as well as defensive technologies
    such as PaX.
  * [Slides](http://jacobtorrey.com/VMMLecture.pdf)

* [All Your Boot Are Belong To Us - Intel Security](https://cansecwest.com/slides/2014/AllYourBoot_csw14-intel-final.pdf)
* [Concepts for the Steal the Windows Rootkit (The Chameleon Project) Joanna Rutkowska2003](http://repo.hackerzvoice.net/depot_madchat/vxdevl/avtech/Concepts%20for%20the%20Stealth%20Windows%20Rootkit%20%28The%20Chameleon%20Project%29.pdf)

### Writeups

* [Shadow Walker - Raising the Bar for Rootkit detection - BH 2005](https://www.blackhat.com/presentations/bh-jp-05/bh-jp-05-sparks-butler.pdf)

* [Rise of the dual architecture usermode rootkit](http://www.malwaretech.com/2013/06/rise-of-dual-architecture-usermode.html)

* [Killing the Rootkit - Shane Macaulay](http://blog.ioactive.com/2014/09/killing-rootkit.html)

  * Cross-platform, cross-architecture DKOM detection

* [Raising The Bar For Windows Rootkit Detection - Phrack](http://www.phrack.org/issues/63/8.html)

* [TLB Synchronization (Split TLB)](http://uninformed.org/index.cgi?v=6&a=1&p=21)

* [Komodia Rootkit Writeupn](https://gist.github.com/Wack0/f865ef369eb8c23ee028)

  * Komodia rootkit findings by @TheWack0lian

* [Using Kernel Rootkits to conceal infected MBR](http://www.malwaretech.com/2015/01/using-kernel-rootkits-to-conceal.html)

* [MoRE Shadow Walker : TLB - splitting on Modern x86](https://www.blackhat.com/docs/us-14/materials/us-14-Torrey-MoRE-Shadow-Walker-The-Progression-Of-TLB-Splitting-On-x86-WP.pdf)

  * MoRE, or Measurement of Running Executables, was a DARPA Cyber Fast Track
    effort to study the feasibility of utilizi ng x86 translation look - aside
    buffer (TLB) splitting techniques for realizing periodic measurements of
    running and dynamically changing applications. It built upon PaX, which used
    TLB splitting to emulate the no - execute bit and Shadow Walker, a memory
    hidi ng rootkit ; both designed for earlier processor architectures. MoRE
    and MoRE Shadow Walker are a defensive TLB splitting system and a prototype
    memory hiding rootkit for the current Intel i - series processors
    respectively demonstrating the evolution of th e x86 architecture and how
    its complexity allows software to effect the apparent hardware architecture.

* [Smart TV Security - #1984 in 21 st century](https://cansecwest.com/slides/2013/SmartTV%20Security.pdf)

  * This talk is more about security bugs and rootkits than about firmware for
    TVs. This talk more covers rootkits than security bugs and exploitation
    thereof, as theyre not different to traditional techniques. This talk is
    about general security issues of all Smart TV vendors.

* [Advanced Bootkit Techniques on Android](http://www.syscan360.org/slides/2014_EN_AdvancedBootkitTechniquesOnAndroid_ChenZhangqiShendi.pdf)

* [Analyzing the Jynx rootkit and the LD-Preload technique](http://volatility-labs.blogspot.com/2012/09/movp-24-analyzing-jynx-rootkit-and.html)

  * In this post I will analyze the Jynx rootkit using Volatilitys new Linux
    features.

* [A Real SMM Rootkit: Reversing and Hooking BIOS SMI Handlers - Filip Wecherowski](http://phrack.org/issues/66/11.html#article)

  * The research provided in this paper describes in details how to reverse
    engineer and modify System Management Interrupt (SMI) handlers in the BIOS
    system firmware and how to implement and detect SMM keystroke logger. This
    work also presents proof of concept code of SMM keystroke logger that uses
    I/O Trap based keystroke interception and a code for detection of such
    keystroke logger.

* [Revisiting Mac OS X Kernel Rootkits - fG! <phrack@put.as>-](http://phrack.org/issues/69/7.html)

* [Android platform based linux kernel rootkit - dong-hoon you](http://www.phrack.org/issues/68/6.html)

* [Stealth hooking : Another way to subvert the Windows kernel - mxatone and ivanlef0u](http://phrack.org/issues/65/4.html#article)

* [Kernel Rootkit Experiences - stealth](http://phrack.org/issues/61/14.html)

* [NTIllusion: A portable Win32 userland rootkit - Kdm](http://phrack.org/issues/62/12.html)

* [Linux on-the-fly kernel patching without LKM - sd, devik](http://phrack.org/issues/58/7.html)

### Papers

* [A Catalog of Windows Local Kernel-mode Backdoors](http://uninformed.org/?v=all&a=35&t=sumry)

  * This paper presents a detailed catalog of techniques that can be used to
    create local kernel-mode backdoors on Windows. These techniques include
    function trampolines, descriptor table hooks, model-specific register hooks,
    page table modifications, as well as others that have not previously been
    described. The majority of these techniques have been publicly known far in
    advance of this paper. However, at the time of this writing, there appears
    to be no detailed single point of reference for many of them. The intention
    of this paper is to provide a solid understanding on the subject of local
    kernel-mode backdoors. This understanding is necessary in order to encourage
    the thoughtful discussion of potential countermeasures and perceived
    advancements. In the vein of countermeasures, some additional thoughts are
    given to the common misconception that PatchGuard, in its current design,
    can be used to prevent kernel-mode rootkits.

* [Implementation and Implications of a Stealth Hard-Drive Backdoor](https://www.ibr.cs.tu-bs.de/users/kurmus/papers/acsac13.pdf)

  * Modern workstations and servers implicitly trust hard disks to act as
    well-behaved block devices. This paper analyzes the catastrophic loss of
    security that occurs when hard disks are not trustworthy. First, we show
    that it is possible to compromise the firmware of a commercial
    over-the-shelf hard drive, by resorting only to public information and
    reverse engineering. Using such a compromised firmware, we present a stealth
    rootkit that replaces arbitrary blocks from the disk while they are written,
    providing a data replacement back- door . The measured performance overhead
    of the compromised disk drive is less than 1% compared with a normal,
    non-malicious disk drive. We then demonstrate that a re- mote attacker can
    even establish a communication channel with a compromised disk to infiltrate
    commands and to ex-filtrate data. In our example, this channel is
    established over the Internet to an unmodified web server that relies on the
    compromised drive for its storage, passing through the original webserver,
    database server, database storage engine, filesystem driver, and block
    device driver. Additional experiments, performed in an emulated disk-drive
    environment, could automatically extract sensitive data such as /etc/shadow
    (or a secret key file) in less than a minute. This paper claims that the
    diffculty of implementing such an at- tack is not limited to the area of
    government cyber-warfare; rather, it is well within the reach of moderately
    funded criminals, botnet herders and academic researchers.

* [futo](http://uninformed.org/?v=all&a=17&t=sumry)

  * Since the introduction of FU, the rootkit world has moved away from
    implementing system hooks to hide their presence. Because of this change in
    offense, a new defense had to be developed. The new algorithms used by
    rootkit detectors, such as BlackLight, attempt to find what the rootkit is
    hiding instead of simply detecting the presence of the rootkit's hooks. This
    paper will discuss an algorithm that is used by both Blacklight and IceSword
    to detect hidden processes. This paper will also document current weaknesses
    in the rootkit detection field and introduce a more complete stealth
    technique implemented as a prototype in FUTo.

* [Introducing Ring -3 Rootkits](http://invisiblethingslab.com/resources/bh09usa/Ring%20-3%20Rootkits.pdf)

* [Pitfalls of virtual machine introspection on modern hardware](https://www.acsac.org/2014/workshops/mmf/Tamas%20Lengyel-Pitfalls%20of%20virtual%20machine%20introspection%20on%20modern%20hardware.pdf)

* [Security Evaluation of Intel's Active Management Technology](http://people.kth.se/~maguire/DEGREE-PROJECT-REPORTS/100402-Vassilios_Ververis-with-cover.pdf)

### Tools

* [DragonKing Rootkit](https://github.com/mgrube/DragonKing)

  * This is an open source rootkit created for a class taught on Rootkit Design.
    This rootkit hides by hooking the system call table and using an agent to do
    interactive manipulation in userland.

* [GPU rootkit PoC by Team Jellyfish](https://github.com/x0r1/jellyfish)


text:
---
layout: post
title:  "eoi-tax.com"
date:   2016-03-01 00:00:00
img: img/portfolio/eoitax.png
modalID: modalEoitax
category: Fullstack
---
Using Django and web scraping from several sources, I created a [database over tax treaties][link-eoi-tax].
	The purpose was to see how many of the traditional tax havens that still remain,
	and see which countries are striking down the hardest on money laundering and tax evasion.

The following key technologies were used:

* Python
* Django
* Beautiful Soup
* `nginx`
* `git`
* `sqlite`

[link-eoi-tax]: https://eoi-tax.com/

license: MIT

branch_name: refs/heads/master

extension: markdown

license_type: permissive


text:
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
<!--
A clear and concise description of what the bug is.
-->

**Hardware and operating system**
<!--
Which Broadcom/Cypress device and operating system are you running on?
-->

**To Reproduce**
<!--
Describe which commands you entered.
-->

**Logs or screenshots**
<!--
If you have, we prefer logs in text form or Wireshark traces. If you want to point out one specific issue, you can also insert a screenshot.
-->

**Additional context**
<!--
Add any other context about the problem here.
-->

repository: seemoo-lab/internalblue

extension: md

gha_language: Python

repo_name: seemoo-lab/internalblue


text:
Bowling Challenge
=

 This is a static webpage that can calculate the final scores for your game of bowling.

 The first stage is to enter in the names of all the players.
 Once all players names have ben entered you can then click start game and the game scoreboard will appear.

To record a player's frame enter in the score for the first ball of the frame in the field which says first ball and the second in the field which says second ball.

 WARNING - ILLEGAL INPUTS WILL RESULT IN A FOUL and a score of 0 being recorded for the frame.

If the final frame is a strike or spare you have the chance to enter in what you got for your bonus balls.

WARNING - FOR A STRIKE RECORD YOUR FIRST BONUS BALL IN FIRST BALL AND SECOND BONUS BALL IN SECOND BALL, DO NOT RECORD FRAME WITHOUT BOTH BALLS OR ONE OF YOUR BONUS BALLS WILL BE ASSUMED TO BE 0.

view it in action at hey-cousin-lets-go-bowling.surge.sh
=
Areas to improve on:
=

 - you can start a game with 0 players.
 - no feature testing of the interface, only the model.
 - page is not as responsive as it could be.
 - if a couple of players have strikes on frame 10 you still have to record a frame for each of the players inbetween instead of skipping to the next player who's actually able to play.
 - a player's score isn't displayed frame-to-frame, only once the game is completed.
 - form styling could be a bit nicer.
 - code is ugly AF

 Acknowledgements:
 =
 the final score calculation is taken from the solutions of the codewars kata found here: https://www.codewars.com/kata/5427db696f30afd74b0006a3

repository: Edward-Phillips/bowling-challenge

repo_name: Edward-Phillips/bowling-challenge


text:
---
layout: default
---

# 1994-01-16 - Detweiler == Rotweiler

## Header Data

From<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Message Hash: 55406c63418bf8040b765038301380c1a66fd245d8f82857344094b6fd1734ae

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1994-01-16 07:25:55 UTC

Raw Date: Sat, 15 Jan 94 23:25:55 PST

## Raw message

```
{% raw  %}From<EMAIL_ADDRESS>Date: Sat, 15 Jan 94 23:25:55 PST
To<EMAIL_ADDRESS>Subject: Detweiler == Rotweiler
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

I may have missed responses to my last post on the subject, but I
am wondering: what makes Detweiler think that T.C. May and Mayor Szabo
are the same person? How is this so critical to his argument that
he needs to spend half his waking hours ranting about it?

I'm still trying to figure out why it's critical to his argument.
The one time I started getting mail/flamage from someone who (from
writing patterns, nicknames, etc.) I thought was someone else, I
was pretty livid about it (Eric Hughes). I've since cooled down, after
he apologized, somewhat... but it doesn't change a thing about the
argument itself. (Of course, I knew his argument was bunk to begin with).

But is Rotweiler so unable to address issues that he has to attribute
everyone with a roughly similar belief to be one person?

"It didn't take very much reductio to get right down to absurdium
from where you started."
                            --Mike Jones<EMAIL_ADDRESS>
I think we're in the situation of trying to get *up* to absurdium.
Either Detweiler's a disturbed individual with some sort of multiple
personality disorder, or he's impersonating one.  Or, of course, the
GRAND CYPHERPUNK CONSPIRACY has been FORGING messages to LOOK like
they've come from L. Detweiler!  UN-altered REPRODUCTION and
DISSEMINATION of this IMPORTANT information is ENCOURAGED!

--

+-----------------------+---------------------------------------+
|Phil Fraering          | "...drag them, kicking and screaming, |
<EMAIL_ADDRESS>| into the Century of the Fruitbat."    |
+-----------------------+-Terry Pratchett, _Reaper Man_---------+

-------------------------------------------------------------------------
To find out more about this anonymous remail service, send mail to
<EMAIL_ADDRESS>with the word "remail help" as the only words in the
subject field.

{% endraw %}
```

## Thread

+ Return to [January 1994](/archive/1994/01)

+ Return to "[remail@tamsun.tamu.edu](/authors/remail_at_tamsun_tamu_edu)"

+ 1994-01-16 (Sat, 15 Jan 94 23:25:55 PST) - Detweiler == Rotweiler -<EMAIL_ADDRESS>

gha_license_id: MIT


text:
# ABH DS internship
During the three months of the internship the goal was to solve
different tasks ranging from classical data science methods, to newer
ones, including sparse SVD, etc. To deal with larger, as well as smaller
datasets, handle preprocessing of data and cross-validating, training
and testing different models.

## Table of contents
1. [Month 1 Task 2](#month-1-task-2)
	1. [Solution](#solution)
	    1. [Create new datasets](#create-new-datasets)
	    2. [Visualise dataset](#visualise-dataset)
	    3. [Titanic classification](#titanic-classification)
	2. [Results](#results)
		 1. [Model parameters](#model-parameters)
		 2. [Model results](#model-results)
	3. [Prerequisites](#prerequisites)
	4. [Installing](#installing)
2. [Month 1 Task 3](#month-1-task-3)
3. [Authors](#authors)
4. [License](#license)
5. [Acknowledgments](#acknowledgments)
## Month 1 Task 2
The task is to perform binary classification on the Titanic dataset,
given passenger data that includes:
* Passenger's surname, title, name (full name of spouse) - `Name`,
* Passenger's sex - `Sex`,
* Passenger's class - `PClass`,
* Passenger's age - `Age`.

And using this data to predict whether or not the passenger has
surivived the sinking
of the Titanic.

### Solution
#### Create new datasets
Original dataset was parsed, bad and missing data was fixed and estimated.

We extracted passenger titles from their full names, missing titles were
estimated based on their sex, age and passenger class to one of the four
categories `'Mr', 'Mrs', 'Master', 'Ms'`.
Different names for the same title were categorized, e.g. `'Ms' = ('Ms',
'Miss', 'Mlle')`

Age was estimated based on passenger class and title, different methods
of age estimation were done, using mean and median age for different
categories, as well as adding a small deviation from the mean/median age
to preserve the age-class histograms.

We also added a new feature `family_size` which represents the number
of passengers with the same surname and the same passenger class onboard
the Titanic. With the idea being that families that travel always travel
together.
(This may not always hold, especially for the 3rd passenger
class, but the models have performed better with this naive
implementation)

#### Visualise dataset
This module performs basic dataset visualisations, listed below:
* `plot_age_histograms`: create `age` histograms for different `p_class`
and `title` categories.
* `plot_age_title`: create 2D plots of those who have survived vs those
less fortunate with x axis being their age and y axis passenger title.
* `plot_age_title_class`: create a 3D scatter graph of survivors,
with an additional z axis of `p_class` and the size of the point being
determined by their familiy size.
* `group_survivors_by_params`: this creates multiindex pandas dataframes
that group survivors by different list of attributes passed to the
function
* `create_survivor_groups`: a parent function that uses the
`group_survivors_by_params` function to create groupings by different
combinations of parameters.
* `create_visualisations`: a single function that performs the following:
    * create age histograms,
    * create survivor groups dataframes,
    * 2D plot of survivors by age and title,
    * 3D plot of survivors by age, title, class and family_size.

Files generated by this function will appear in the `/Data/Images`,
`/Data/Pickles`, `/Data/Dataframes` folders.

After using this module, we get the following results
(red represents survivors):

![alt text][first_class_hist]

![alt text][second_class_hist]

![alt text][third_class_hist]

![alt text][age_title]

![alt text][age_title_class]

[first_class_hist]: https://raw.githubusercontent.com/acivgin1/M1-DS-internship/working/Task2/Data/Images/1_pclass_histogram_14.png "First class age histogram"
[second_class_hist]: https://raw.githubusercontent.com/acivgin1/M1-DS-internship/working/Task2/Data/Images/2_pclass_histogram_14.png "Second class age histogram"
[third_class_hist]: https://raw.githubusercontent.com/acivgin1/M1-DS-internship/working/Task2/Data/Images/3_pclass_histogram_14.png "Third class age histogram"
[age_title]: https://raw.githubusercontent.com/acivgin1/M1-DS-internship/working/Task2/Data/Images/Age_Title.png "Age title plot"
[age_title_class]: https://raw.githubusercontent.com/acivgin1/M1-DS-internship/working/Task2/Data/Images/Age_Title_Class_Fam_size.png "Age title class plot"

#### Titanic classification

This module performs cross validation on four different classifiers,
finding the following best hyper parameters:
* Dataset parameters:
    * `mean`: bool, represents whether we estimate age based on
    median or the mean age,
    * `std_dev_scale`: float, represents the value of the standard
    deviation scaler used for age estimation. range: (0, 1)
    * `better_title`: bool, represents whether we estimate age naively,
    based only on passenger sex or taking into consideration passenger
    title as well.
* Data format parameters:
    * `scale_data`: bool, do we need to scale the data or not,
    * `delete_fam_size`: do we take into consideration the induced family
    size parameter
    * `group_by_age`: do we convert the continous `age` parameter to
    a categorical variable.
* Model parameters, these vary for different models.

The classifiers that we use are listed below:
* Decision tree,
* Gaussian Naive Bayes,
* Support Vector Machine,
* Logistic Regression.

And finally we use a Voting Classifier, that ensembles the previously
trained classifiers, using their achieved validation accuracies as
weights.
### Results

#### Model parameters

    Model name
    Model params
    Data format params
    Dataset params

    Scale data
    Delete fam_size
    Group by age
    Mean
    std_dev scaler
    Better title est.

    Decision tree
    max_depth: 4
    False
    False
    False
    True
    0.6
    False

    Gaussian Naive Bayes
    None
    False
    False
    True
    True
    0.8
    False

    Support Vector Machine
    C: 1, gamma:0.03
    True
    False
    False
    False
    0.2
    True

    Logistic Regression
    C: 1
    False
    False
    False
    False
    0.4
    False

    Voting Classifier
    None
    True
    False
    True
    True
    0.2
    False

#### Model results

    Decision Tree

    Label
    Estimated label
    Probability

    0
    0
    0.90740741

    0

    0
    0.90740741

    1
    1
    0.91570881

    0
    0
    0.90740741

    0
    0
    0.89775561

    0
    0
    0.89775561

    1
    0
    0.67647059

    1
    1
    0.91570881

    1
    1
    0.91570881

    1
    0
    0.67647059

    Gaussian Naive Bayes

    Label
    Estimated label
    Probability

    0
    0
    0.999999390

    0

    0
    0.999999390

    1
    0
    0.569434327

    0
    0
    0.841778072

    0
    0
    0.835817807

    0
    0
    0.835817807

    1
    1
    0.612528817

    1
    1
    0.883369126

    1
    1
    0.831691072

    1
    0
    0.521778528

    Support Vector Machine

    Label
    Estimated label
    Probability

    0
    0
    0.92314078

    0

    0
    0.92694052

    1
    1
    0.65021272

    0
    0
    0.81390982

    0
    0
    0.86003766

    0
    0
    0.8605255

    1
    0
    0.83425303

    1
    1
    0.97584139

    1
    1
    0.82403036

    1
    0
    0.80041372

    Logistic Regression

    Label
    Estimated label
    Probability

    0
    0
    0.79770699

    0

    0
    0.78271488

    1
    0
    0.56420469

    0
    0
    0.56946768

    0
    0
    0.86886883

    0
    0
    0.8673849

    1
    0
    0.5175392

    1
    1
    0.66775676

    1
    1
    0.55726023

    1
    0
    0.52991957

    Voting Classifier

    Label
    Estimated label
    Probability

    0
    0
    0.91029576

    0

    0
    0.91029576

    1
    1
    0.59435627

    0
    0
    0.69313934

    0
    0
    0.86604043

    0
    0
    0.86604043

    1
    0
    0.59705601

    1
    1
    0.89258578

    1
    1
    0.81703188

    1
    0
    0.7196419

### Prerequisites

```
numpy
pandas
scikit-learn
matplotlib
```

### Installing

To install the package, download it from GitHub, and navigate to the
 Task2 folder and install using setup.py
command:

```
$ python setup.py install
```

To use the installed package, you can either import it into your module
with:

```
from ds_internship_task2 import create_new_datasets
from ds_internship_task2 import visualise_dataset
from ds_internship_task2 import titanic_classification
```
Or use the command line script as follows:

```
$ run-all /full/path/to/the/data/folder -cdata -cvis -tmodels -print -splt
```

This will create different datasets (-cdata), create visualisations
(-cvis), train the models (-tmodels), print the results and current
statuses (-print), as well as show plots that are created by the -cvis
argument.

Of course, any of these arguments may be omitted but be careful not to
exclude the -tmodels arg if there are no pretrained models available in
the `/Data/Pickles` folder.

## Month 1 Task 3

## Authors

**Amar Civgin**

## License

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

## Acknowledgments

* Hat tip to anyone whose code was used
* Inspiration
* etc


text:
# Test Project

[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)

## Description

Thie is a demo of the project

## Table of Contents

- [Installation](#installation)

- [Features](#features)

- [Usage](#usage)

- [Credits](#credits)

- [Contributing](#contributing)

- [Tests](#tests)

- [Questions](#questions)

- [License](#license)

## Installation

To install required dependencies, run the following command(s):

```
npm ci
```

## Features
- you can add feature information here

- and format it how you like

## Usage

follow the instructions

## Credits

Everyone who helped

## Contributing

Contact or fork the repo

## Tests

To run tests, run the following command(s):

```
npm test
```

## Questions

If you have any questions about the repo, open an issue or contact me directly at<EMAIL_ADDRESS>You can find more of my work at [github/test name](https://github.com/test name).

## License

This project is licensed under the [BSD 3 License](https://opensource.org/licenses/BSD-3-Clause).

repository: perez-rob/README-Generator

branch_name: refs/heads/main

repo_name: perez-rob/README-Generator


text:
# Jasmine Ajax 4.0.0 Release Notes

## Summary
This release include a number of new features as well as a minor breaking change.

## Breaking Changes

* The callback for `andCallFunction` on a request stub, will now only receive the XHR request object as an argument. Previously, it received the stub itself first and the XHR object second. Given the way we expect this to have been used, the request is the more important.
* The `responseCallFunction` on the FakeRequest has also been removed.  If you were using that directly and not through the stub functionality, you should be able to replace it by calling your function directly and passing in the request.

## Changes

* `andCallFunction` on a request stub has more deterministic behavior across multiple calls. See breaking changes
  - Fixes [#193](https://github.com/jasmine/jasmine-ajax/issues/193)

* Switch RequestStub to use prototype for better memory management

* Fix link to 'Mocking ajax' page on main Jasmine site
  - Merges [#191](https://github.com/jasmine/jasmine-ajax/issues/191) from @koralcem

* Added possibility to mock streaming requests
  - Merges [#183](https://github.com/jasmine/jasmine-ajax/issues/183) from @timocov
  - Fixes [#181](https://github.com/jasmine/jasmine-ajax/issues/181)

------

_Release Notes generated with _[Anchorman](http://github.com/infews/anchorman)_

repository: jasmine/jasmine-ajax

gha_language: JavaScript

repo_name: jasmine/jasmine-ajax


text:
---
layout: page
title: Presentations
---

## Oral

ECMWF Annual Seminar 2020; virtual; Sam Hatfield: Mixed-Precision Arithmetic in Earth-System Modelling Video

6th ENES Workshop on High Performance Computing for Climate and Weather; virtual; Sam Hatfield, Kristian Mogensen, Peter Düben, Nils Wedi: Mixed-precision ocean modelling at ECMWF

DRAKKAR2020, February 2020; Grenoble, France; Sam Hatfield: Mixed-precision ocean modelling at ECMWF

COMMODORE, January 2020; Hamburg, Germany; Sam Hatfield, Peter Düben, Nils Wedi, Oriol Tinto, Mario Acosta, Miguel Castrillo: Mixed-precision sensitivity in Earth System Modelling

ICIAM2019, July 2019; Valencia, Spain; Sam Hatfield, Tim Palmer, Peter Düben: Accelerating data assimilation through reduced-precision arithmetic

PASC19, June 2019; Zurich, Switzerland; Sam Hatfield, Matthew Chantry, Peter Düben, Tim Palmer: Accelerating high-resolution weather models with deep-learning hardware Video

ISDA2019, January 2019; Kōbe, Japan; Sam Hatfield, Peter Düben, Andrew McRae, Tim Palmer: Single-precision in 4D-Var: The impact of rounding errors on the tangent-linear and adjoint models Video

CliMathNet, September 2018; Reading, UK; Sam Hatfield: Accelerating data assimilation and numerical weather prediction through reduced-precision computing

SIAM Uncertainty Quantification, April 2018; Anaheim, USA; Sam Hatfield, Peter Düben, Matthew Chantry, Tim Palmer: Reducing Precision in Ensemble Data Assimilation to Improve Forecast Skill

EGU General Assembly, April 2017; Vienna, Austria; Sam Hatfield, Peter Düben, Tim Palmer: Improving Weather Forecasts through Reduced Precision Data Assimilation

RIKEN International Symposium on Data Assimilation, February 2017; Kōbe, Japan; Sam Hatfield, Peter Düben, Tim Palmer: Improving Weather Forecasts through Reduced Precision Data Assimilation Video

## Departmental seminars

April 2019, Data Assimilation Research Centre, University of Reading, Reading, UK

April 2018, Marine Meteorology Division, Naval Research Laboratory, Monterey, USA

April 2018, Scripps Institution of Oceanography, San Diego, USA

July 2017, RIKEN Advanced Institute for Computational Science (AICS), Kōbe, Japan

July 2017, Atmosphere and Ocean Research Institute (AORI), University of Tokyo, Japan

July 2017, Japan Meteorological Agency (JMA), Tōkyō, Japan

July 2017, The Japan Agency for Marine-Earth Science and Technology (JAMSTEC), Yokohama Institute for Earth Sciences, Japan

## Poster

ISDA2018, March 2018; Munich, Germany; Sam Hatfield, Peter D. Düben, Matthew Chantry, Tim Palmer: Reducing Precision in Ensemble Data Assimilation to Improve Forecast Skill

ISDA2016, July 2016; Reading, UK; Sam Hatfield, Peter Düben, Aneesh Subramanian, Tim Palmer: The use of inexact hardware in data assimilation for improved weather and climate prediction


text:
# Acme API
[![CircleCI](https://circleci.com/gh/talesbaz/acme.svg?style=svg)](https://circleci.com/gh/talesbaz/acme)

## Pre-requisites
This project was builded using `node v10` and `npm`, so you'll need node and npm to run it. You can get:
- `brew install node` or download the `.pkg` file from (https://nodejs.org/en/)
- `apt install nodejs npm` for linux debian like users

## Installing
You'll need to install the project dependencies:
```sh
npm install
```

## Environment files
This project uses the `dotenv` package for environment configuration variables. You'll need to set somenthing like that:

```sh
$ cat .env.ENVIRONMENT_TARGET
MONGO_URI=mongo_uri_for_test_database
JWT_SECRET=jwt_secret_for_sign_test_tokens
UUID_NAMESPACE=uuid_namespace_for_sign_guid
```

## Running
### Development
```sh
$ npm start:dev
```
### As daemon
```sh
$ npm start
```

## Tests
To run the tests:
```sh
npm test
```

## Support
Over `.postman` folder you can find the `collections` and `environment vars` for `Postman` or `Insomnia`.

### Some points of improvement
  - Uncouple payload validation from controllers
  - User aws vault for the environment vars
  - Fix some structure names
  - Add swagger
  - Add api versioning standard like `api/v1/xxx`

repository: talesbaz/acme

repo_name: talesbaz/acme


text:
# Q2A Ultimate SEO plugin [![Question2Answer](http://qa-themes.com/files/q2a-logo.png)](http://www.question2answer.org/) [![Question2Answer Themes](http://qa-themes.com/files/qa-logo.jpg)](http://qa-themes.com/)

# Important
*This Plugin is still in Alpha version.* some features are yet to be added to this and features already available are not yet tested by other developers and community members.
if you are not a developer I suggest that you wait for beta or final version.

## Description
[Question2Answer Ultimate SEO plugin](http://qa-themes.com/plugins/q2a-ultimate-seo "free plugin to improve Question2Answer SEO") enhances Question2Answer for better search engine optimization and offers valuable customization features.

## Installation
1. Download and extract "q2a-seo-links" directory.
2. Upload it to your Q2A's plugin directory (`qa-plugins/Q2A-feed-widget`).
3. In Q2A go to **Admin > Ultimate SEO** and choose options, then save the form.

## Author
This free theme is created by [Towhid Nategheian](http://TowhidN.com "Freelance Question2Answer Developer"), from [QA-Themes.com](http://QA-Themes.com "Question2Answer Themes and Plugins"). we create professional Question2Answer Themes and plugins.
* [Question2Answer Themes](http://QA-Themes.com "Question2Answer Themes")
* [Question2Answer Plugins](http://QA-Themes.com "Free Question2Answer Plugins")

### Copyright
this plugin and all it's source code is published under *MIT License*. you are free to use it in any way you like, just don't remove the attribution link.

### Disclaimer
This product is a free and is published without any warranties. if come to pass any problems get help on http://www.question2answer.org/qa/ or submit the issue here in github.

### About Q2A
**[Question2Answer](http://qa-themes.com/question2answer  "Q2A Script Features")**  is a free and open source platform for creating Question & Answer sites. For more information, visit it's official site at http://www.question2answer.org/

gha_language: PHP


text:
AndroidJSCore
=============

AndroidJSCore is an Android Java JNI wrapper around Webkit's JavaScriptCore C library.
It is inspired by the Objective-C JavaScriptCore Framework included natively in
iOS 7.  Being able to natively use JavaScript in an app without requiring the use of
JavaScript injection on a bloated, slow, security-constrained WebView is very useful
for many types of apps, such as games or platforms that support plugins.  However,
its use is artificially limited because the framework is only supported on iOS.  Most
developers want to use technologies that will scale across both major mobile
operating systems.  AndroidJSCore was designed to support that requirement.

Design Goals
------------
  - Enable full JavaScript support on Android with a Java-only interface (no need to write C/C++ code)
  - Maintain feature-level compatibility with the Objective-C JavaScriptCore framework

Version
-------
1.0

Example
-------

See Owen Matthew's excellent [blog post] on the iOS 7 JavaScriptCore framework for an
introduction.  This example is taken directly from the post.  In the included example
application, Owen's entire Objective-C tutorial is implemented in Java.

Browse the example app source for more detailed examples that cover the basics, sharing
data and functions between Java and JavaScript, wrapping JS classes in Java which
are accessible from both environments, and  asynchronous, multi-threaded callbacks between
environments.

    JSContext context = new JSContext();
    context.property("a", 5);
    JSValue aValue = context.property("a");
    double a = aValue.toNumber();
    DecimalFormat df = new DecimalFormat(".#");
    System.out.println(df.format(a)); // 5.0
    context.evaluateScript("a = 10");
    JSValue newAValue = context.property("a");
    System.out.printlin(df.format(newAValue.toNumber())); // 10.0
    String script =
      "function factorial(x) { var f = 1; for(; x > 1; x--) f *= x; return f; }\n" +
      "var fact_a = factorial(a);\n";
    context.evaluateScript(script);
    JSValue fact_a = context.property("fact_a");
    System.out.printlin(df.format(fact_a.toNumber())); // 3628800.0

Using the AndroidJSCoreJNI SDK
-------------------------

If you just want to get started using the SDK in your app, simply download the
[latest release] AndroidJSCoreJNI tarball, and untar it in the root directory of your Android
project.  The tarball contains the necessary .jar with all classes, source code
and javadocs, as well as the compiled .so libraries for the arm, arm7, x86, and mips
platforms.

Refactor In Progress
====================

I am leaving the instructions below intact, because they will still work with older versions of
the SDK.  As of Android 6.0, nothing south of here seems to work right.  The app won't run
because of the deprecated navigation bar paradigm (it will build, but it crashes at runtime), and
I can't update to the new UI concepts because Ecplise has been deprecated as a development
platform.  On top of that, the referenced JavaScriptCore project is no longer a public repo, so
I am stuck with old webkit code.  So, I am going to do 3 things for version 2:

1. Upgrade to Android Studio
2. Get the latest version of webkit to build a standalone JavaScriptCore
3. Combine AndroidJSCoreJNI with JavaScriptCore to create a single library that compiles together

This is likely going to take awhile, given that I have a full time job.  In the meantime, the
release binaries should continue to work, with albeit an old version of JavaScriptCore, and you
can feel free to play with what's below at your own risk.

Building the Example App
------------------------

1. Clone the repo
2. Untar the [latest release] AndroidJSCoreJNI tarball in the AndroidJSCore/AndroidJSCoreExample directory
3. In Eclipse, File->Import->Android->Existing Android Code into Workspace
4. Browse to the AndroidJSCore directory
5. Select AndroidJSCoreExample (it is not necessary to import AndroidJSCoreJNI unless you want to build it)
6. Click 'Finish'.  There will be errors.  That's ok.  We need to link the compatibility library.
7. File->Import->Android->Existing Android Code into Workspace
8. Browse to Your_Android_SDK_Directory/extras/android/support/v7 and click 'Open'
9. Select 'appcompat' (you don't need the others) and click 'Finish'
10. Right click on AndroidJSCoreExample project, Properties->Android
11. Under 'Libraries', select 'Add...'
12. Select the appcompat library and click 'Finish'

You should now be able to build the .apk and run it on your device!

Building AndroidJSCoreJNI
-------------------------

Up to this point, you can simply drop the SDK into your project and use it.  If, however, you'd like
to contribute to the project or make any changes to the SDK, you will have to do some extra work.

#### Step 1: Build JavaScriptCore library for Android

*NOTE*: This step is based on the instructions in [this GitHub project] from Appcelerator.

This totes doesn't work anymore.  I don't control this project
and the instructions are out of date.  There is another way!  You can use my build.
Download the JavaScriptCore-Build from the [latest release] and untar it in some location
to which you will point Eclipse in Step 3, e.g. /Users/Eric/workspace/AndroidModuleReleases).

I am working on getting this step to work again, and will post the project when I do.

#### Step 2: Import the AndroidJSCore project into Eclipse

To build the AndroidJSCoreJNI library, you must have the [Android ADT plugin] (which
includes the SDK) and [NDK] installed.  You will have needed both the SDK and NDK in
Step 1 as well.  You will also want to make sure you have the [CDT plugin] if you want
to work with the C++ (JNI) code.

#### Step 3: Point Eclipse at your NDK
Set the path for the NDK you installed in Preferences->Android->NDK->NDK Location

#### Step 4: Set environment variables
You need to set 2 environment variables.  Right-click on AndroidJSCoreJNI project and
select Properties->C/C++ Build->Environment.  Set the following variables:
  * ANDROID_NDK_ROOT to point at your NDK location (e.g. /Users/Eric/workspace/android-ndk-r9d)
  * NDK_MODULE_PATH to point to where you installed the JavaScriptCore libraries/includes in step 1 (e.g. /Users/Eric/workspace/AndroidModuleReleases)

#### Step 5: Build AndroidJSCoreExample app
You should now be able to build the example app.  To use the library in your project,
simply right-click on your project and select Properties->Android.  In the 'Library'
section, add the AndroidJSCoreJNI library and you should be set.

One final note: You should add some memory to Eclipse if you haven't already done
that.  [Here] is a Mac tutorial.  Bump it up to 1024m (-Xmx1024m).  The C/C++ indexer can
occasionally lock up Eclipse if you don't.

Work in Progress
----------------

  - Test framework

License
-------

I am just sticking with Webkit's license, since this thing depends on it.

 Copyright (c) 2014-2015 Eric Lange. All rights reserved.

 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:

 - Redistributions of source code must retain the above copyright notice, this
 list of conditions and the following disclaimer.

 - Redistributions in binary form must reproduce the above copyright notice,
 this list of conditions and the following disclaimer in the documentation
 and/or other materials provided with the distribution.

repository: simonexmachina/AndroidJSCore

repo_name: simonexmachina/AndroidJSCore


text:
# Setting up your database

Dynabench assumes MySQL 5.7 to be installed.

## Installing MySQL

On **Mac OS X**, we recommend using [homebrew](https://docs.brew.sh/Installation) to install and run:

```
brew install<EMAIL_ADDRESS>brew link --force<EMAIL_ADDRESS>brew services start<EMAIL_ADDRESS>```

On **Ubuntu**, you would download the latest .deb from https://downloads.mysql.com/archives/community and install it:

```
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-server_5.7.34-1ubuntu18.04_i386.deb-bundle.tar
tar xvf mysql-server_5.7.34-1ubuntu18.04_i386.deb-bundle.tar
rm *test*.deb # remove test stuff
sudo dpkg -i *.deb # this will throw some warnings about missing dependencies
sudo apt --fix-broken install # fix the dependencies
```

## Configuration

Next, we need to create a database and user for dynabench to use. Enter the MySQL shell:

```
mysql -u root -p
```

Input the following SQL commands to create the `dynabench` user:

```
CREATE USER 'dynabench'@'localhost' IDENTIFIED BY 'ENTER_YOUR_PASSWORD';
CREATE DATABASE dynabench;
GRANT ALL PRIVILEGES ON dynabench.* TO 'dynabench'@'localhost';
```

repository: vontell/dynabench

repo_name: vontell/dynabench


text:
# AMO economy simulation

## Configuration
### Simulation config
- simulation step size (in blocks or seconds)
- simulation steps
- smoothing factor

### Fixed domain parameters
The domain parameters are static and read-only. They are fixed unless there is
a fork of the chain. They affect behavior of both players and non-players.

chain parameters:
- initial amount of active coins
- block and tx reward
- max number of txs in a block
- scale factor for tx fee dynamics
- maximum stake change
- maximum stake ratio

market parameters:
- initial market liveness
- initial market value
- initial coin exchange rate
- initial interest rate of the outer world
- tx generation factor: controls the number of newly generated txs
- base number of txs for each block
- market growth factor: controls dynamics of market liveness

depletion parameters:
- depletion rate for active coins
- depletion rate for pending txs

## Simulation Steps
The simulation runs a model in steps. A model is a state machine and keeps its
internal state which consists of blockchain state and market state. In every
step, the state is changed by the state transition function, which consists of
severral actors as defined in later sections in this document.

## Simulation state
### General
Simulation statistics:
- total number of simulation steps elapsed

### Blockchain state
Simulation statistics for tx processing:
- total number of blocks generated (this measures time elapsed)
- number of newly generated txs in the last step
- number of processed txs in the last step
- number of lost txs in the last step

Tx status:
- current number of txs pending in blockchain nodes
- current tx fee

Chain asset status:
- sum of all coins = sum of all active, dormant, lost and locked coins(stakes)
- sum of all active coins
- sum of all dormant coins
- sum of all lost coins due to lost account keys and etc.
- sum of all stakes and delegated stakes

### Market state
- market liveness: controls the number of newly generated txs
- market value: total value of all goods ready to be traded in the market (in
  USD)
- coin exchange rate (in USD for one AMO)
- interest rate of the stake
- interest rate of the outer world

*NOTE: This is the only place where we use the unit USD.*

## Player actors
Players have their own desires and decision making principles. To mimic
real-world human decisions, a few random variables are used when calculating
their decisions. Each *player* represents all entities of the same type, and
appears as a single function in the simulation.

### User
Represents user activities in the chain and market.
- generates txs (increase the number of pending txs)

#### conditions
- tx fee trend

The recent tx fee is the average fee during the recent $n$ blocks:
$$
f _ {avg}= \frac{\sum _ {i=1}^{n}{f _ i}}{n},
$$

where $f _ i$ is the tx fee for the step $i$.

The suppressing factor $c$ by the tx fee is:
$$
c = \frac{f _ {scale}}{f _ {avg} ^ 2 + f _ {scale}},
$$

where $f _ {scale}$ is a scaling constant.

#### state change
The number of txs newly generated $t _ i$ for the step $i$ is
$$
t _ i = \frac{\tau _ i}{k} \rho,
$$

where $\tau _ i$ is the tx generation force and $\rho$ is a random variable
from the chi-square distribution with the degree of freedom $k = 32$.

The tx generation force $\tau$ is
$$
\tau _ i = t _ g v _ i \frac{b _ s}{b _ M} c,
$$

where $t _ g$ is tx generation factor per month, $v _ i$ is the market value
for the step $i$, $b _ s$ is the number of blocks in one step, $b _ M$ is the
number of blocks in one month, and $c$ is the suppressing factor.

#### TODO
More complex currency dynamics:
- conditions
	- tx fee trend
	- exchange rate expectation
- desires (affected by exchange rate expectation)
	- want to sell out coins (in USD) (lower money demand)
	- want to stock coins (in USD) (raise money demand)
	- want to sell goods (in AMO) (lower money demand)
	- want to buy goods (in AMO) (raise money demand)
- decisions (affected by tx fee trend)
	- sell coins (lower exchange rate)
	- buy coins (raise exchange rate)
	- sell goods
	- buy goods

### Validator
Represents validator activities in the chain and market.
- update stakes
- update interest rate of the chain

#### conditions
- recent tx fee
- number of processed txs in the last step

The recent tx fee is dealt with as in [user actor](#user) section.

#### state change
The yearly gain $g _ Y$ from the stakes is
$$
g _ Y = t _ {avg} (f _ {avg} + w) \frac{b _ Y}{b _ s},
$$

where $t _ {avg}$ is average number of processed txs in recent blocks, $w$ is
the reawrd for each tx, $b _ Y$ is the number of blocks in one year, and $b _
s$ is the number of blocks in one step.

The yearly cost for keeping the stakes is
$$
c _ Y = 1000 \log _ {10} \left(\frac {s _ i}{10000} + 1\right).
$$

It means it takes roughly 1,000 USD to keep the stake worth of 100,000 AMO, and
the running cost decreases in log scale. The yearly net gain is $g _ Y - c _
Y$.

 The stake
change for the step $i$ is
$$
\Delta _ s = \frac{\sigma _ i - c _ o}{k} \rho,
$$

where $\sigma _ i$ is the stake increase force and $\rho$ is a random variable
from the chi-square distribution with the degree of freedom $k = 32$. $c _ o$
is an opportunity cost by keeping stakes. $\Delta _ s$ is adjusted according to
the total amount of coins. An opportunity cost is half of $s _ {i - 1}$.

The interest rate $i _ i$ of the chain for the step $i$ is
$$
i _ i = \frac{g _ Y - c _ Y}{s _ i}.
$$

#### TODO
- desires
	- want to sell coins (in USD)
	- want to buy coins (in USD)

## Non-player actors
Non-players don't have their own desires, so no random variable is used when
calculating their actions. Each non-player just calculate its output from the
input based on the pre-determined rules. Non-players represents activities from
AMO blockchain protocol execution or some environmental change.

### Teller
Represents block generation process of the AMO blockchain protocol.
- process txs (decrease the number of pending txs)
- calculate block and tx reward and increase active coins accordingly

#### state change
The number of processed txs is the mininum of the number of pending txs and
maximum tx capacity of one simulation step.

### Depleter
- convert small amount of active coins to lost coins (asset loss due to lost
  account keys)
- decrease small number of pending txs (tx loss due to network problem or block
  limit)

### Invisible hand
Represents the supply-demand effect of the chain and amrket.
- update market value
- update tx fee
- update coin exchange rate

#### conditions
- the number of pending txs
- the amount of stakes and the amount of active coins

#### state change
TODO

repository: amolabs/ecosim

repo_name: amolabs/ecosim


text:
# Future directions

## Handle large timesteps better
Some artifacts may appear at larger timesteps.
* Shoppers will stop at their target waypoint for the frame, even if could go "further" in that step. A better model would be to pick a new target and continue moving to that target depending on how far they've already moved that frame.
* The transmission model only looks at the current position of both shoppers. For very high timesteps, this could cause "tunneling", where an infected shopper and a suceptible one pass each other with no interaction. The way to solve this is to track both the current and previous positions of the shoppers, and look at the closest point between their segments. This also doesn't account for turning corners.

## Better movement model
The current model is very primitive. Shoppers don't account for each other, only follow set paths, and don't do any realistic shopping behavior. Some ideas:
* Navmesh for movement instead of waypoints
* Avoidance - shoppers should try to avoid each other if they're on a collision course.

repository: tomfensome/HonsProject

gha_language: ShaderLab

repo_name: tomfensome/HonsProject


text:
# Evernia stictoceros (Sm. & Sowerby) Sm. & Sowerby SPECIES

#### Status
SYNONYM

#### According to
Index Fungorum

#### Published in
null

#### Original name
Lichen stictoceros Sm.

### Remarks
null

repository: mdoering/backbone

path: /life/Fungi/Ascomycota/Lecanoromycetes/Lecanorales/Parmeliaceae/Evernia/Evernia prunastri/ Syn. Evernia stictoceros/README.md

repo_name: mdoering/backbone


text:
## Configuration

This page will explain everything about how to write your own configuration
file to personalize your gaming experience.

### Table of contents

 - Layout of a configuration file
 - Available options

### Layout of a configuration file

The layout is really simple. It has been designed to be easy to use (and also
easy to parse in C).

    key = value
    # This is a comment

Any invalid key or syntax will be ignored by the parser.

### Available options

There are only a few options available to configurate because there isn't
much that is needed. And everything is related to keyboard mappings of the
controller.

All the mappings must be SDL keycodes (unless you have modified the front-end
to use something else than SDL). You can find one [here](https://wiki.libsdl.org/SDLKeycodeLookup).
You will need to provide the decimal value

    # This is the default configuration
    # Directional arrows -> Keyboard arrows
    # A, B               -> Z, X
    # Start, Select      -> Enter, Backspace

    # Directional arrows
    controller.left     =<PHONE_NUMBER>
    controller.down     =<PHONE_NUMBER>
    controller.right    =<PHONE_NUMBER>
    controller.up       =<PHONE_NUMBER>

    # Buttons
    controller.a        = 122
    controller.b        = 120
    controller.start    = 13
    controller.select   = 8

[Next: Memory properties and bindings](memory.html)

repository: vicera/docs

repo_name: vicera/docs


text:
# Changelog

## 4.2.0
Thanks to PR #27 from @migolo:
* Replace deprecated gulp-util with Vinyl
  * This should allow the plugin to work on Gulp 4

## 4.1.0
Thanks to PR #18 from @MEGApixel23:
* New signature for hash.manifest: `hash.manifest(manifestPath, options)`
  * Old signature `hash.manifest(manifestPath, append, space)` is still supported
* New options for `hash.manifest`:
  * `deleteOld` Deletes old hashed files mentioned in the manifest. This includes both files with different hashes and files that have been removed from the manifest.
  * `sourceDir` Used with `deleteOld`. Specifies the directory where to delete old hashed files from.

## 4.0.1
* Update contributor and changelog info for npm

## 4.0.0
* Original path ("left side") in the manifest file now uses the file's original path instead of target path + filename. #17
  * This allows you to change the path with e.g. gulp-rename both before calling `hash()` and after
  * **May break some setups**, hence major version bump
  * Thanks to https://github.com/jorrit!

## 3.0.2
* The `version` option now handles non-strings correctly (thanks @outpunk, https://github.com/Dragory/gulp-hash/pull/9)

## 3.0.0
This is a **major** release and includes breaking changes.

* Proper support for streams
* Deprecated custom hashing functions
* Manifest option `append` is now `true` by default
* Removed examples until they are updated

repository: Dragory/gulp-hash

repo_name: Dragory/gulp-hash


text:
---
template: blog-post
title: Introduction
slug: /introduction
date: 2020-09-22 16:37
description: "We are the Spindlers, a couple living in San Diego, diving into
  the world of pottery. "
featuredImage: /assets/spindler-introduction-2.jpg
---
We are Caleb and Kayla Spindler. We started dating when we were 16 (about the time of the picture below), got married when we were 21 and 22, and now that we are in our 30s with two kids, we are still having just as much fun as ever. We currently live in San Diego, CA, though we've lived in Missouri, Kentucky, and even taught English together in China for a bit.

![Caleb and Kayla Spindler](/assets/img_0457.jpeg "Caleb and Kayla Spindler ca. 2005")

For a number of years, we've wanted to dive into the world of pottery, drawn particularly to hand-thrown coffee mugs and planters. Our backgrounds are in specialty coffee, web development, and nursing, but we've always been creatives. Whether its pottery, woodworking, latte art, or interior design, we seek to learn as much as we can but also to have a good time.

We are currently practicing on a [Speedball Artista Pottery Wheel](https://www.theceramicshop.com/product/576/artista-pottery-wheel-ci/?gclid=CjwKCAjw5Kv7BRBSEiwAXGDElTw2wL8y1tYRTiItwHszHZXFD1AFtxzkBxeFJ3XTpK9gNQFPUlSDRxoC3dwQAvD_BwE), using [Mudtools](https://mudtools.com/) ribs and sponges. We do not have our own kiln yet, but hopefully we can have one in the future. At this moment, we are not selling any of our pots, but we hope to open up an online shop in the future as well.

If you have any questions or just want to chat, [hit us up](/contact)! We'd love to connect!

Thanks for stopping by!

repository: calebspindler/spindler-ceramics

repo_name: calebspindler/spindler-ceramics


text:
alert
=====

Overview
--------

Alert is an RSS monitoring script. It reads a list of RSS feeds, reads a list of alert terms, and if any alert terms appear in the RSS feeds, sends an email to the specified address.

Example email
-------------

> To<EMAIL_ADDRESS>>
> From<EMAIL_ADDRESS>>
> Subject: Alert (Tor) from CNN
>
>
> Government officials report that hackers may use the Tor network! Oh my!
>
> https://cnn.com/full-article-here

Usage
-----

The script is intended to be run regularly as a cronjob. It takes no arguments, but expects to find a config file in `~/.alerts/config` and reads a list of RSS feeds and a list of alert trigger terms from two more files. An example of this setup is included in the `alerts` folder. Further technical information is included as POD data at the end of the alert script.

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

The script is requires a modern version of Perl and the following modules:
* Mail::Sendmail
* Config::Simple
* XML::Feed
* HTML::Strip
* File::Slurp
* Data::Dumper (Only if debugging)
* IO::Socket::Socks::Wrapper (Only if testing an unsupported feature)
* Encode
* Fcntl

Bugs
----

`alert` was initially supposed to support transparently proxying over a SOCKS or HTTP proxy. Right now the proxy code mucks up parsing RSS feeds, so it's been disabled.

repository: milo-trujillo/alert

repo_name: milo-trujillo/alert


text:
#FileOpener plugin for Phonegap

The fileOpener plugin lets you open image, vedio, pdf, audio excel file through application

Adding the Plugin to your project

Using this plugin requires Android PhoneGap.

To install the plugin, move file.js to your project's www folder and include a reference to it in your html file after phonegap.js.

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8" src="file.js"></script>

Create a directory within your project called "src/com/phonegap/plugins/fileOpener" and move FileOpener.java into it.

Using the plugin

The plugin creates the object window.plugins.fileOpener. To use, call one of the following, available methods:

    window.plugins.fileOpener.open(url);

Sample use:

    window.plugins.fileOpener.open("http://abc.com");

RELEASE NOTES

**Aug 30, 2013**

Initial release
BUGS AND CONTRIBUTIONS
**
The MIT License**

Copyright (c) Avijit Chakraborty

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: AvijitChakraborty/phonegapStart

repo_name: AvijitChakraborty/phonegapStart


text:
# Question words

This is a collection of grammar resources related to asking questions, and overlaps with various other topics.

## Goals
- Ask and answer basic questions

## Study materials
- [How to study Korean Unit 1 Lesson 21: Why, when, where, who](https://www.howtostudykorean.com/unit1/unit-1-lessons-17-25-2/lesson-21-asking-questions-in-korean-why-when-where-and-who/)
- [How to study Korean Unit 1 Lesson 22: How, what, which, how many?](https://www.howtostudykorean.com/unit1/unit-1-lessons-17-25-2/lesson-22/)
- [Talk to me in Korean Level 1 Lesson 19: When?](http://www.talktomeinkorean.com/lessons/l1l19/)
- [Talk to me in Korean Level 1 Lesson 23: Who?](http://www.talktomeinkorean.com/lessons/l1l23/)
- [Talk to me in Korean Level 1 Lesson 24: Why? How?](http://talktomeinkorean.com/lessons/l1l24/)

## Things to practice
- [Oh my Korean writing exercise: 의문사](http://ohmykorean.com/?p=1264)

repository: MatMoore/notes

repo_name: MatMoore/notes


text:
# go-snippets
Packages containing small programs/packages that might come in handy in the future

## search
Search contains an algorithm to execute an predicate.
It can be used to search an array for an element for example.

## big
Big contains a wrapper around the `math/big` package.
It has a nicer interface than the original package imo.

repository: MariusVanDerWijden/go-snippets

gha_language: Go

repo_name: MariusVanDerWijden/go-snippets


text:
# GraphQL Examples

Examples for GraphQL for .NET

| Project          | Description |
|------------------|-------------|
| AspNetCore       | ASP.NET Core 2.2 app with GraphQL and Playground middlewares from [server](https://github.com/graphql-dotnet/server) project |
| AspNetCoreCustom | ASP.NET Core 2.2 app with custom GraphQL and UI middlewares |
| AspNetWebApi     | .NET Framework 4.6.1 Web API example |
| AzureFunctions   | Using GraphQL in Azure Functions |
| StarWars         | StarWars demo schema used in all examples |

See also:

- [Step-by-step introduction to GraphQL](https://graphql.org/learn/)
- [GraphQL for .NET](https://github.com/graphql-dotnet/graphql-dotnet)
- [ASP.NET Core Server + WebSockets Transport](https://github.com/graphql-dotnet/server)


text:
[**Review #353 | Bourbon Review #353 - Noahs Mill**]( https://t8ke.review/review-353-noahs-mill/)

**The Schtick:**

-----

**Distiller:** Willett

**Bottler:** Willett

**Selection:** N/A

**ABV:** 57.15% ABV

**Age:** NAS

-----

**Nose:**  Sweet cinnamon and sugar. Lots of clove. Spicy rye notes with some fruity cinnamon. This is a bourbon, but has a lot of high rye notes to it. Almost like cinnamon toast crunch cereal. Odd, but accurate.

**Taste:** Fruity, sweet and clove heavy. Medium mouthfeel - liking this proof. Some passion fruitness, brown sugar and maple. Some aggressive astringency on the back end though.

**Finish:** Medium length but growing a but hot and definitely astringent. The nose was so great - whats happening here?

**Overall:** This is an ok product but its flaws become egregiously clear the more the dram continues on. The nose is undoubtedly the best part. Ive never had an opportunity to try the 15yr age stated Noahs Mill but I certainly hope it was superior to this. I dont take price into account but for the $55 - $65 that this seems to be generally available at, Id pass in lieu of many other delicious things. Im giving this a Rank 4 - there are some flaws and theyre difficult to overlook. I need to get my paws on the age states version.

Thanks for reading!

**Rank: 4**

-----

**9 Most Recent Willett Expressions I Have Reviewed:**

- [Review #1266. Willett Single Barrel Bourbon Roksey]( https://t8ke.review/review-1266-willett-single-barrel-bourbon-roksey)

- [Review #345. Willett 3yr Small Batch Rye]( https://t8ke.review/review-345-willett-3yr-rye-smb/)

- [Review #425. Willett Family Estate 5yr Single Barrel Gift Shop Rye]( https://t8ke.review/review-425-willett-family-estate-single-barrel-5yr-gift-shop-rye/)

- [Review #50. Willett 3 Year Rye (Willett Distillate)]( https://t8ke.review/review-50-willett-3yr-willett-distillate-rye/)

- [Review #80. Willett Family Estate 2yr Rye]( https://t8ke.review/review-80-willett-family-estate-2yr-rye/)

- [Review #277. Old Bardstown Bottled in Bond]( https://t8ke.review/review-277-old-bardstown-bottled-in-bond-willett-re-review/)

- [Review #817. Johnny Drum Private Stock]( https://t8ke.review/review-817-johnny-drum-private-stock/)

- [Review #343. Willett Family Estate 4yr Bourbon]( https://t8ke.review/review-343-willett-family-estate-4yr-bourbon/)

- [Review #353. Noahs Mill]( https://t8ke.review/review-353-noahs-mill/)

-----

[WEBSITE](https://t8ke.review) | [SEARCHABLE ARCHIVE](https://t8ke.review/review-archive/) | [SUBREDDIT](https://reddit.com/r/t8kereviews)

-----

Decoded:

**1** | **Disgusting** | So bad I poured it out.

**2** | **Poor** | I wouldn't consume by choice.

**3** | **Bad** | Multiple flaws.

**4** | **Sub-par** | Not bad, but many things I'd rather have.

**5** | **Good** | Good, just fine.

**6** | **Very Good** | A cut above.

**7** | **Great** | Well above average

**8** | **Excellent** | Really quite exceptional.

**9** | **Incredible** | An all time favorite

**10** | **Perfect** | Perfect

----


text:
---
layout: default
title: Single cell plot options
parent: CellExplorer
grand_parent: Graphical interfaces
nav_order: 3
---
# Single cell plot options
{: .no_toc}
The single cells can be plotted with various plot options. You can further create [your own custom plots]({{"/interface/custom-single-cell-plots/"|absolute_url}}), which can be loaded and displayed in CellExplorer, by saving plot function in the customPlots folder. Most data has three plotting styles: single cell, population and a normalized image.
## Table of contents
{: .no_toc .text-delta }

1. TOC
{:toc}

### Waveforms
There are three types of waveform plots: single waveform with noise curves in absolute amplitude, z-scored waveforms across population, and color plot with same z-scored waveforms. Further there are filtered and unfiltered waveform plot options.
![Waveforms](https://raw.githubusercontent.com/petersenpeter/common_resources/main/images/waveforms.png){: .mt-4}

### Autocorrelograms
There are three types of autocorrelograms (ACGs) all normalized to firing rates: single ACG, population plot and a color plot with z-scored ACGs. Further there are three ACG types: [-50ms:0.5ms:50ms], [-500ms:1ms:500ms] and a log10 [1ms:10s].
![ACGs linear](https://raw.githubusercontent.com/petersenpeter/common_resources/main/images/ACGlinear.png){: .mt-4}

![ACGs log](https://raw.githubusercontent.com/petersenpeter/common_resources/main/images/ACGlog.png){: .mt-4}

### ISI distributions
Three types of log10 ISI distributions: single ISI distribution with the addition from ACG shown in the same plot, all the ISIs for the whole population, and a color plot with z-scored ISIs across the population. The normalization can further be set to three different values: occurrence, rate (normalized by bin size), and instantaneous firing rates (1/ISIs).
![ISI rate](https://raw.githubusercontent.com/petersenpeter/common_resources/main/images/ISI_rate.png){: .mt-4}

![ISI occurence](https://raw.githubusercontent.com/petersenpeter/common_resources/main/images/ISI_occurance.png){: .mt-4}

### Firing rate maps
![Firing rate maps](https://raw.githubusercontent.com/petersenpeter/common_resources/main/images/firingRateMaps.png){: .mt-4}

### Response curves
Response curves includes firing rate across time, phase distribution. There are three plotting styles:
1. Single response curve with monosynaptic cells' response curves.
2. Population response curves.
3. Image with normalized response curves.
![ResponseCurves](https://raw.githubusercontent.com/petersenpeter/common_resources/main/images/responseCurve_theta.png){: .mt-4}

### PSTHs
PSTHs can be shown for either sessionName.*.psth.mat files or for sessionName.*.events.mat. They are by default aligned to the onset of the event, but can also be aligned to the peak, center or offset.

{: .mt-4}

### Spike rasters
The spiking data can also be loaded to generate raster plots using spike data. Please see the [tutorial on spike data]({{"/tutorials/plotting-spike-data/"|absolute_url}}) to learn more. The figure below shows two raster plot examples for a pyramidal cell in CA1: 1. Theta phase vs position (the animal runs along a track), 2. Trial vs position, colored according to 3 states.
![Rasters](https://raw.githubusercontent.com/petersenpeter/common_resources/main/images/rasters_placefield-04.png){: .mt-4}

### Waveforms across channels
Average waveform across all channels.

{: .mt-4}

## Trilaterated position
A trilaterated estimated position for all cells determined from the amplitudes of their average waveforms across channels. The squares indicate electrode sites.

{: .mt-4}

## Connectivity graphs
The connectivity graphs shows all connections detected in a dataset. Selected cell is highlighted together with its synaptic partners. You can select and highlight cells from the plot.

{: .mt-4}

## Custom plots
You can create your own custom plots to display in CellExplorer that also becomes interactive. Image below shows a ripple triggered average across an electrode with the current selected cell highlighted.

{: .mt-4}

## Group action plots
All plots presented on this page are single cell plots that can be selected for the 3-6 single cell subplots in CellExplorer but can also be plotted separately using the group actions menu. Select a few select cells and press `space`. Below menu will be shown and you can create various plot combinations from above plot options.

### Multi plot options and figure exporting
Please see the [tutorial on  exporting figures]({{"/tutorials/export-figure/"|absolute_url}}).

repository: petersenpeter/CellExplorer

gha_language: MATLAB

repo_name: petersenpeter/CellExplorer


text:
# Disknet
Disknet works by using a shared directory between two or more computers to emulate the functionality of a modem. A channel file is opened, which can be used to send/receive messages to/from it.
While one machine is receiving, it is constantly checking the channel file for changes. If it finds one, it will re-read it and see if a new message was sent.

## Functions:
`disknet.open(string channelName)`
Opens a channel for use. Unopened channels can't be used.

`disknet.close(string channelName)`
Closes a channel.

`disknet.closeAll()`
Closes all channels.

`disknet.isOpen(string channel)`
Returns true/false is a channel is already open.

`disknet.send(string channel, string message, optional number recipientID)`
Sends `message` on `channel`. If a `recipientID` is specified, then only a disknet recipient whose computer ID matches it will be able to receive the message.

`disknet.receive(optional string channel, optional number senderID)`
Receives a disknet message. If `channel` is specified, it will only accept messages from that channel. If `senderID` is specified, it will only accept messages from that sender computer ID.

repository: LDDestroier/CC

gha_language: Lua

repo_name: LDDestroier/CC


text:
# FuzzyControllerExamples
A collection of fuzzy logic controllers implemented in ptyhon

# Fuzzy gain scheduling of PID controllers
An implementation of a paper [1] by Zhen-Yu Zhao.
### Simulation Results:
![Simulation Results](https://github.com/M-A-Kashi/FuzzyControllerExamples/blob/master/image/Fuzzy%20gain%20scheduling%20of%20PID%20controllers.png "Fuzzy gain scheduling of PID controller")

# Inverted pendulum on a cart
Simulation of controlling an inverted pendulum on a cart
![pendulum on a cart](https://github.com/M-A-Kashi/FuzzyControllerExamples/blob/master/image/pendulum%20on%20a%20cart.png "Inverted pendulum on a cart")
### Simulation Results:
![Simulation Results](https://github.com/M-A-Kashi/FuzzyControllerExamples/blob/master/image/Inverted%20pendulum%20on%20a%20cart.png "Inverted pendulum on a cart")

# Fuzzy Logic Control of a Quadrotor
    initional conditions:
        x = 0
        y = 0
        z = 0
        Φ = 0.2
        Θ = 0.2
        Ψ = 0.2
        xd = 0
        yd = 0
        zd = 0
        Φd = 0
        Θd = 0
        Ψd = 0

    setpoints:
        setpoint_x=-2
        setpoint_y=3
        setpoint_z=8
        setpoint_Φ = 0
        setpoint_Θ = 0
        setpoint_Ψ = 1

    disturbance:
        Dx=0.1  -> drag force in x direction equivalent to a wind at 3 m / s
### Simulation Results:
![Simulation Results](https://github.com/M-A-Kashi/FuzzyControllerExamples/blob/master/image/Fuzzy%20Logic%20Control%20of%20a%20Quadrotor.png "Fuzzy Logic Control of a Quadrotor")

[1] Zhen-Yu Zhao, M. Tomizuka and S. Isaka, "Fuzzy gain scheduling of PID controllers," in IEEE Transactions on Systems, Man, and Cybernetics, vol. 23, no. 5, pp. 1392-1398, Sept.-Oct. 1993.

repository: makashy/FuzzyControllerExamples

repo_name: makashy/FuzzyControllerExamples


text:
Playpen is a secure application sandbox implemented with namespaces, cgroups and seccomp.

By default, only the `execve` system call is permitted and other system calls must be explicitly
whitelisted. The application is spawned in clean namespaces, so it's unable to see or modify the
system's mount points, processes, network or hostname. The chroot uses a read-only root directory,
so no locking is required and multiple playpen instances can share the same root.

A memory cgroup is used to limit the available memory resources, and a device cgroup to implement
whitelisting for devices. A cgroup is also used to reliably kill the application and any forked
children after an optional timeout.

repository: thehydroimpulse/playpen

repo_name: thehydroimpulse/playpen


text:
# Troubleshooting Median

**A video entry plays for a second and then stops, or does not play at all, but other entries do play!**

The most likely scenario is that one of the "versions" of the video isn't compatible with Median's streaming server. To check, go to the entry's page on Median, log in as admin, go to the Advanced Info section under the video, and check to see if one of the quality versions is "Original File". You should also see a "Mobile", "SD", and maybe even "HD" and more versions. If there are more than one version, as in the "Original File" is NOT the only one, then try deleting it. That'll probably fix it. Click "remove this version" next to whichever one is the "Original File".

**All videos won't play**

Try restarting nginx-rtmp on the streaming servers. Logged in as root, run `restart nginx-rtmp` and wait a second, it should be fairly instantaneous. Or if you're using Fabric, run `fab restart_streaming`.

**Pages won't load or error out**

Try restarting `lighttpd` on the webapp servers. Logged in as root, run `service lighttpd restart` and `service php5-fpm restart` and wait to see if any errors pop up. Check the PHP error logs, too. Or if you're using Fabric, run `fab restart_webapp_services`.

**Users can't upload files via the Uploader**

Most likely the upload node.js scripts aren't running on the file API servers. On them, type in `forever list` to see if the node.js scripts are running. You can restart the process, if it's running, by typing in `forever restart 0`, or start from scratch by typing `forever stopall` and then `forever start /median-file-api/m6-file-api.js`. Or if you're using Fabric, run `fab restart_file_api`.

**People cannot log in or there are other login-related issues**

Median uses simpleSAML single sign-on for authentication, so make sure the identity provider server is working and configured correctly. If it's still failing, simpleSAMLphp is installed in `/median-webapp/lib/simplesaml/` on the web app layer servers if you want to check the local service provider.

**People aren't seeing their classes**

Class information is loaded to a database on the MongoDB cluster to act as a cache, which updates daily. It's possible that the sync did not take place or does not have the latest data.

**General tips and dependencies**

The file and streaming servers rely on an NFS mount for file storage, so make sure that's full of files by doing a simple ls -lah /median on a streaming or file API server. If there isn't anything within /median, that's probably the problem. run mount -a on the streaming/file servers and see if anything happens. If that doesn't work, there's probably something wrong with the NFS share.

repository: ksfigueroa/median

repo_name: ksfigueroa/median


text:
---
layout: page
title: Ventures
permalink: /Ventures/
---

***Venturing*** is our process of ***engaging*** the world economically, culturally, thematically.

We try to do this in an intensely practical manner ... by exploring possible business enterprise ideas (ie, self-sustaining ventures with products that offer customers something they need and will pay for or what is generally referred to as *the MVP with a compelling value proposition*) ... but we also look at creative or scientific research or different open source venture philantropies that could really move the needle.  We strongly favor open source.

# Listing of ventures

Our aim is to read and use curated lists and AI to read faster, more broadly, more deeply, to discern patterns better ... we dogfood our reading in order to assist us in gathering intelligence ... our goal is to have roughly 125 ideas in the hopper, but we actually only focus on about 25 venture themes each a month, approximately one per day.

There are five venture themes that our weekly focus ... they do not necessarily rotate; we could focus on the same five next week.

Of course, there might be only ONE main venture that we are *sorta really* focusing on, every single day, at this time.

1) Annotify.APP

* RSSistant
* SheepDewg.py
* Listify.wtf

2) 86400.guru

3) Funnier.Be

* Clichesaur.us

* BabylonMurderHornet.org

* Doynk.me

4) CloudKernel.org

OS ... CoreOS riff ... decentralized, but not really for massive hubs

Moby

Buildah

MySQL ... LAMP stack, but more layer-ey as in containers ... tighter, more observable ... more htop-ey or bpf-ey without the stackiness

5) BRUNO.science

8) gitRxiv.com

* gitDEEP.com/org

* exiv.xyz

7) creVass.org

* DRAIN.tips

8) Salebarn LLC

* Bidm.AT

9) SQL.ag

* soilrXiv.org

10) WhoresRadish

* CoffeeRxiv.org/wtf/com

11) TWFTR.org

12) ENGRco

* QualityFellow

* Mr.RootCause

* PWR.fm

13) ASYNCH.work

sktch.org/us

14) Nanotoolworks.com

15) NOSE.life

Nanofabricated omni sensing electrochemistry (NOSE) is about nanobiochemical sensing and the metrology of nanobiochemical sensing ... smell, taste, carbon monoxide, hydrogen sulfide, soil quality, water quality, air quality, etc.

* IowaBreeze.org

* Stinxjet.com

16 GYG.be

17) BRUNO.solutions

* LuckSurface.com/org/net

* LyonCountyRepublicans.com ... what's so Lyon about them?

* MZB.me

18) Crowdliness.ORG

* AUCT.us

19) AncientGuy.Fitness

* ViolenceInterrupt.us

* tougher.be

20) TRIZ.tips

* AccidentalInvention.com

21) DIFFversity

* Diff.wtf

* diffgraph.org

* diffversity.com/net/org/wtf

22) AdvancedPyrolytics.com

23) SustainFund.org

* StartupCookbook.US

24) Greenspace.GROUP

25) PrairieNative.com


text:
### Indev 3.0 - [1/28/2019]
* Addition
    * set. (Indev 2.0) (to set values)
        * str.[name].[val] (set variable in string)
        * int.[name].[val] (set variable in integer)
    * sub (subtraction "")
    * mlp (multiplication "")
    * div (division "")
* NOTE: All errors are still derived from Python except unknown command

### Indev 2.0 - [1/27/2019]
* Addition
    * print.not (used for immediate printing) and print.use (use for printing using variable name)
    * add.  (Addition)
        * not.[n1].[n2] (immediate addition)
        * use.[n1].[n2] (add value 1 by value 2 and store the value into value 1)
        * use.new.[n3].[n1].[n2] (add value 1 by value 2 and store the value into a new value)
    * nop (no operation)

### Indev 1.0 - [1/27/2019]
* Project Started


text:
WARNING - PROTOTYPE FOR DISCUSSION ONLY - NOT FINAL DESIGN

    Language

  <select class="govuk-select" id="sort" name="sort">
    <option value="published">English</option>
    <option value="updated" selected>Cymraeg</option>
    <option value="views">Scots</option>
  </select>

# How to fill it in

This prototype provides an overview of how the online help may be structured. This is only used to provide input on the structure

> This guide is a work in progress. Additional information could be subset like this

## Who should fill it in

This is example text of what the Respondent may see when they reach this page. The content will follow shortly.

## Who to include

This is example text of what the Respondent may see when they reach this page. The content will follow shortly.

## When to do it

This is example text of what the Respondent may see when they reach this page. The content will follow shortly.

## Tips for filling in the form

This is example text of what the Respondent may see when they reach this page. The content will follow shortly.

## Accommodation managers and landlords

This is example text of what the Respondent may see when they reach this page. The content will follow shortly.

Next (Who to include)

repository: ONSdigital/census-rh-wireframe

repo_name: ONSdigital/census-rh-wireframe


text:
# Convert pre-trained model from `.weights` to `.npy`

- This page explains how to load pre-trained model (DarkNet-53 and YOLOv3) from `.weights` file and store the model in a `.npy` file.
- Since both DarkNet-53 and YOLOv3 are full convolutional networks, so only the learned parameters of convolutional layers (with learned batch normalization parameters if applicable) are stored in the pre-trained model.
- The converted pre-trained model is stored as dictionary in `.npy` file.

## Format of `.weight`
- The first four 32-bit integers are: major version, minor version, revision, images seen.
- After the first four integers, learned parameters (weights, bias and batch normalization parameters) for each convolutional layers are stored as float32 following the network layout (parsed from `.cfg` file).
- For each convolutional layer with/without batch normalization(BN), the parameters are saved with their corresponding length in the order of (check [here](https://github.com/pjreddie/darknet/blob/b13f67bfdd87434e141af532cdb5dc1b8369aa3b/src/parser.c#L958) for reference):

   | *No BN* | *With BN* |
   |:--|:--|
   |Conv Bias (out_dim)|BN beta (out_dim)|
   |Conv Weights (out_dim * in_dim * filter_height * filter_width)|BN gamma (out_dim)|
   |-|BN Moving Mean (out_dim)|
   |-|BN Moving Variance (out_dim)|
   |-|Conv Weights (out_dim * in_dim * filter_height * filter_width)|

## Format of `.npy`
- The converted model is stored as dictionary in `.npy` file.
- First load the file as `weight_dict = np.load(NPY_PATH, encoding='latin1').item()`
- Then for each convolutional layer with name 'Layer_Name' (naming rules explained [**here**]), the parameters can be access as (if applicable):

   | *Parameters* | *Access* |
   |:--|:--|
   |Conv Weights|weight_dict[Layer_Name][weights]|
   |Conv Bias|weight_dict[Layer_Name][weights]|
   |BN gamma|weight_dict[Layer_Name][0]|
   |BN beta|weight_dict[Layer_Name][1]|
   |BN Moving Mean|weight_dict[Layer_Name][2]|
   |BN Moving Variance|weight_dict[Layer_Name][3]|

## Naming rules for convolutional layers in `.npy` file
Layer names are different from the names in `.cfg` files.
#### DarkNet-53
DarkNet-53 contains 52 convolutional layers for feature extractions named as `conv_1`...`conv_52`, and one output layer for classification named as `conv_fc_1`.
#### YOLOv3
The first 52 layers of DarkNet-53 are used as feature extractor, so the layer names are the same as DarkNet-53. YOLOv3 predicts bounding boxes at 3 different scales. There are 7 convolutional layers at each scales. Also at the second and third scale, an additional convolution layers is used for reduce the dimensionality of the input feature map. Thus, for the first scale, layers are named as `conv_1_1`...`conv_1_7`, and For the second and third scale, layers are named as `conv_2_0`...`conv_2_7` and `conv_3_0`...`conv_3_7`, where `conv_2_0` and `conv_3_0` are used for dimensionality reduction.

## Convert models

- First download the pre-trained `.weights` file of Darknet-53 from [here](https://pjreddie.com/darknet/imagenet/) (Section 'Pre-Trained Models', Darknet53 448x448 [link](https://pjreddie.com/media/files/darknet53_448.weights)) and YOLOv3 from [here](https://pjreddie.com/darknet/yolo/) (Section 'Performance on the COCO Dataset', YOLOv3-416 [link](https://pjreddie.com/media/files/yolov3.weights)).
- Go to `experiment/convert/`

  **DarkNet-53 for image classification**

  ```
  python convert_model.py \
  	--model darknet \
  	--weights_dir WEIGHTS_DIR \
  	--save_dir SAVE_DIR
  ```

  **YOLOv3 pre-trained**

  ```
  python convert_model.py \
  	--model yolo \
  	--weights_dir WEIGHTS_DIR \
  	--save_dir SAVE_DIR
  ```

  **DarkNet-53 feature extractor for YOLOv3**

  ```
  python convert_model.py \
  	--model yolov3_feat \
  	--weights_dir WEIGHTS_DIR \
  	--save_dir SAVE_DIR
  ```

- `--weights_dir` is the directory to put the pre-trained `.weights` file and `--save_dir` is the directory to put the converted `.npy` file.
- Converted parameters are saved as `darknet53_448.npy`, `yolov3.npy` and `yolov3_feat.npy` for pre-trained DarkNet-53 classification, YOLOv3 and DarkNet-53 feature extractor.

### Reference code
- https://github.com/pjreddie/darknet
- https://github.com/qqwweee/keras-yolo3

## Author
Qian Ge


text:
# Google Keep - Full Screen - Chrome Extension
Makes Google Keep editing use full browser window.

## Warning
Use this extension at your own risk. It shouldn't cause problems, but I can't make any guarantees, so back up critical notes.

![Google Keep Full Screen Screenshot](https://raw.githubusercontent.com/chrisputnam9/chrome-google-keep-full-screen/master/images/screenshot_1280x800.png)

## Installation
The simplest method is to install from the [Chrome Web Store](https://chrome.google.com/webstore/detail/kcfmkpjpemonceecfpgamaahlkfpjhdk).

## Manual Installation
This is useful if you want to change the extension or use it as an example for your own.

 1. Go to [chrome://extensions](chrome://extensions)
 2. Check the box for **Developer Mode**
 3. Click **Load unpacked extension...**
 4. Browse and select the folder (eg. local copy of this repository)
 5. The extension should now be installed.
 6. You can modify the extension, save changes, then refresh **chrome://extensions** page to have
    them take effect.


text:
# Helium Navigation

Collection of AppBlocks powering Android navigation:

- Toolbar
- Collapsing Toolbar
- Bottom Navigation
- Navigation Drawer

## Toolbars

Most Android apps use a `Toolbar` in some way. Helium provides a few useful set of classes to integrate it easily into your apps, especially the more convoluted collapsing toolbars.

#### ToolbarUi

- Simple `Toolbar` with default layout
- Pass a menu resource id to inflate the menu items
- Pushes `ToolbarEvent` events
- Sets itself as the Activity `ActionBar` if needed
- Allows customization of the layout
- Allows customization of the `ActionBar` / `Toolbar`
- Integrates with a default `ToolbarLogic` or your own

#### CollapsingToolbarUi

- Only requires passing a `UIBlock` for the content of the screen (typically a scrolling list)
- Sets up a default scroll behavior (toolbar scrolls off while scrolling)
- Allows to pass a custom scroll behavior
- Allows to pass a backdrop UI block to show behind the toolbar in expanded mode
- Allows customization of `AppBarLayout` / `CollapsingToolbarLayout`
- Contains a `ToolbarUi` with all its configuration options
- See [CardListActivity](s/demoapp/src/main/java/com/joaquimverges/demoapp/CardListActivity.kt) for a simple example, or [ArticleListUi](/samples/newsapp/src/main/java/com/jv/news/ui/ArticleListUi.kt) for a more complex one (as seen in the gif above)

Simple usage:

```kotlin
CollapsingToolbarUi<BlockState, BlockEvent>(layoutInflater, myListUi)
```

## Bottom navigation

One of the most common navigation patterns is using a bottom bar. Helium facilitates creating screens with this patterns by providing a UI block that does most of the setup for you, using Material components and the Jetpack Navigation Library.

#### BottomNavUi

- Only requires passing a Menu resource id for the bottom navigation icon/labels, and a Graph resource id to map those with corresponding Fragments.
- Sets up a `NavHostFragment` and a `NavController` automatically, and binds your menu items with your navigation graph.
- Pushes `BottomNavEvent` events to perform extra actions on navigation changes
- Integrates with a default `BottomNavLogic` or your own
- Allows customization of the `BottomNavigationView`
- See [BottomNavActivity](/samples/demoapp/src/main/java/com/joaquimverges/demoapp/BottomNavActivity.kt) for sample code

Simple usage:

```kotlin
class BottomNavActivity: AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        val ui = BottomNavUi(layoutInflater, R.menu.my_menu, R.navigation.my_graph)
        setContentView(ui.view)
    }
}
```

TIP: You can maintain state between navigation changes. To do so, use `requireActivity().getRetainedLogicBlock()` in your fragment. That will tell the framework to retain a logic block as long as the Activity is active, rather than just an individual fragment.

## Navigation Drawer

Slightly less popular than bottom navigation these days, but still very useful for many apps, A navigation drawer UI block is also provided by this Helium package.

#### NavDrawerUI

- Requires passing a UI block for the drawer content, and one for the main content.
- Sets up a default layout, with default drawer gravity (Start)
- Allows customization of the `DrawerLayout`
- Integrates with a `NavDrawerLogic`
- Renders `NavDrawerState`
- Pushes `NavDrawerEvent`
- See [MainScreenUi](/master/samples/newsapp/src/main/java/com/jv/news/ui/MainScreenUi.kt) for sample code

Simple usage:

```kotlin
NavDrawerUi(mainUi, drawerUi)
```

repository: joaquim-verges/Helium

gha_language: Kotlin

repo_name: joaquim-verges/Helium


text:
## Git webhooks with AWS services - Quick Start

For architectural details, step-by-step instructions, and customization options, see the [deployment guide](https://fwd.aws/6e9Rd).

To post feedback, submit feature ideas, or report bugs, use the **Issues** section of this GitHub repo.

To submit code for this Quick Start, see the [AWS Quick Start Contributor's Kit](https://aws-quickstart.github.io/).

The Quick Start includes an AWS CloudFormation template that automates the deployment. You can also use the AWS CloudFormation template as a starting point for your own implementation.

<!-- ![Quick Start architecture for implementing webhooks on AWS](https://d0.awsstatic.com/partner-network/QuickStart/datasheets/git-to-s3-webhooks-architecture-on-aws.png) -->

![Quick Start architecture for implementing webhooks on AWS](./docs/images/image3.png)

For implementation details, deployment instructions, and customization options, see the [deployment guide](https://aws-quickstart.github.io/quickstart-git2s3/).

To post feedback, submit feature ideas, or report bugs, use the **Issues** section of this GitHub repo.
If you'd like to submit code for this Quick Start, please review the [AWS Quick Start Contributor's Kit](https://aws-quickstart.github.io/).
>>>>>>> main


text:
# RedditOldModmail-to-Sqlite

Archives up to 1000 parent messages in Reddit old modmail with all replies to those messages.

In its current form it only archives the last 1000 parent messages (with all replies). API data does not go back past that point.

If your mod team has been ride-or-die with old modmail until the bitter end you'll have to find some other means to get the older stuff.

# Requirements:

* Python 3
  * dotenv
  * praw
  * sqlite3

* A Reddit API account with modmail access in your target subreddit.

Create the Reddit API key as a personal script. I do not recommend using your main reddit account for this. Make a separate bot account and add it to your mod team.

# Config

Create a .env file in the top level directory with the following params:

REDDIT_CLIENT=your_reddit_client
REDDIT_SECRET=your_reddit_secret
REDDIT_USERNAME=reddit_api_account_username
REDDIT_PASS=reddit_api_account_password

Edit lines 14-16 with the name of your target subreddit, your desired database filename, and your unique useragent for the Reddit API account.

The database with your filename of choice will be created in the top level directory upon running the script for the first time.

# Disclaimer

I would recommend only using this script to archive to a local database on your hard drive. If you must make your old modmail archives public on the web for other members of your team, protect it heavily with passwords and 2FA.


text:
jenkins
=========

Install Jenkins continuous integration package on RHEL/CentOS and Ubuntu servers.

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

CentOS server - 6 and 7

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

baseurl: "http://pkg.jenkins.io/redhat"
gpgkey: "http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key"

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

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

---
- hosts: jenkins
  become: yes
  become_user: root
  vars:
    baseurl: "{{ baseurl }}"
    gpgkey: "{{ gpgkey }}"

  roles:
    - jenkins

License
-------

BSD

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

Venkatesh.L - DevOps Engineer in CD CloudEnablers pvt ltd.

repository: VenkateshLoganathan/Ansible

repo_name: VenkateshLoganathan/Ansible


text:
# If-Else

Branching in Limbo with if-else trees is similar to branching with if-else trees in C.

## Source

### ifelse.b:22,26

	if(bufio == nil) {
		sys->fprint(stderr, "err: could not load %s  %r\n", Bufio->PATH);
		raise "fail:load";
	}

This is a test whether the variable `bufio` is `nil`.

The `nil` keyword is a special operator in that it represents a lack of value for a type and can be equivalent to different values depending on the context.

Note: The value nil is the "undefined" or "explicitly empty" value for non-numeric types. That is, numeric types do not have a `nil` value equivalent. 0 is considered the presence of a value, etc.

### ifelse.b:28,33

	str := "";
	if(str == nil)
		print("String %s is nil\n", str);

	if(str == "")
		print("String %s is empty\n", str);

These tests against the string `str` show that for the purposes of a string, `nil` == `""`. That is, a lack of value in a string, is an empty string.

### ifelse.b:35,42

	l: list of string;
	if(l == nil)
		print("List is nil\n");

	l = "ducks" :: l;
	if(l != nil) {
		print("List is not nil, 0th is: \"%s\"\n", hd l);
	}

The variables `l` is a list containing a series of strings. If there are no strings within the string, it is considered a `nil` list.

The `::` operator is unique to lists, it prepends to the list the value on its right side, the value on its left side. That is, the value is inserted in precedence to the head. In this case, there is no head value present, so the string `"ducks"` becomes to head of the list.

The `hd` keyword stands for head and returns the head of the list to its right.

### ifelse.b:44,57

Source is not shown for brevity.

These tests are a series of numeric comparisons which provide output depending on properties of said numeric value. In this case, the numeric value is the variable `num`. Note the intermixed omission and presence of curly braces.

## Demo

	; limbo ifelse.b
	; ifelse
	String  is nil
	String  is empty
	List is nil
	List is not nil, 0th is: "ducks"
	7 is odd
	9 has one digit
	;

## Exercises

- Change the value of `num`, what output do you receive?
- Change `Bufio->PATH` to a string such as `"ducks.dis"`, do you receive an exception or an error?

repository: henesy/limbobyexample

repo_name: henesy/limbobyexample