text:
# Temperature Drop through Insulated Pipe (Steady State)
This VBA function/Excel tool calculates the temperature drop through a pre-insulated buried single steel pipe (steady-state).

## Table of Contents
- [How2Use](README.md#how2use)
- [License](README.md#license)
- [Acknowledgement](README.md#acknowledgement)
- [How2Cite](README.md#how2cite)
- [References](README.md#references)

## How2Use
An example Excel file is given: [TemperatureDrop_Buried&InsulatedPipeV02_r02.xlsm](https://github.com/DrTol/temperature_drop-Excel/blob/master/TemperatureDrop_Buried%26InsulatedPipeV02_r02.xlsm), which illustrates how to use the VB functions developed i) [Tout](https://github.com/DrTol/temperature_drop-Excel/blob/master/Tout) and ii) [Tout_simple](https://github.com/DrTol/temperature_drop-Excel/blob/master/Tout_simple).

These functions are based on other VBA functions:
a) [XSteam](https://github.com/DrTol/temperature_drop-Excel/blob/master/XSteam) for the water properties,
b) [f_Clamond](https://github.com/DrTol/temperature_drop-Excel/blob/master/f_Clamond) to return the Darcy friction factor,
c) [zOthers](https://github.com/DrTol/temperature_drop-Excel/blob/master/zOthers) involves of VB functions to calculate pi number and Reynolds number

If you are new to Visual Basic (Excel), please follow the instructions in [Copy a macro module to another workbook](https://support.office.com/en-us/article/copy-a-macro-module-to-another-workbook-13c0938b-8432-4259-9177-a71f7e626de0) OR simply make use of the example Excel file [TemperatureDrop_Buried&InsulatedPipeV02_r02.xlsm](https://github.com/DrTol/temperature_drop-Excel/blob/master/TemperatureDrop_Buried%26InsulatedPipeV02_r02.xlsm) to base on for your calculations.

## License
You are free to use, modify and distribute the code as long as the authorship is properly acknowledged. The same applies for the original works 'XSteam' by Holmgren M and 'f_Clamond' by Clamond, D.

## Acknowledgement
In memory of my father Bekir Tol.

We would like to acknowledge all of the open-source minds in general for their willing of share (as apps or comments/answers in forums), which has encouraged our department to publish our tools developed.

## How2Cite:
1. Tol, Hİ. temperature_drop-Excel. DOI: 10.5281/zenodo.2550093. GitHub Repository 2018; https://github.com/DrTol/temperature_drop-Excel

## References
- Cengel, YA. Heat transfer: A practical approach (2. ed)
- Kwon KC, 1998. Heat transfer model of above and underground insulated piping systems. In: ASME conference - Heat exchanger committee meeting & International joint power generation conference, Baltimore, MA.
- LOGSTOR, LOGSTOR calculator - Energy Loss, Available at: http://calc.logstor.com/
- Ankur, Heat transfer in buried liquid pipelines, Available at: https://www.cheresources.com/invision/blog/4/entry-493-heat-transfer-in-buried-liquid-pipelines/
- Breizh, insulated pipe buried V1.xlsx, Available at: https://www.cheresources.com/invision/index.php?app=core&module=attach&section=attach&attach_id=12301
- Kusuda T, 1981. Heat transfer analysis of underground heat and chilled-water distribution systems. Report No: NBSIR 81-2378, US Department of Commerce, Washington DC.
- Subramanian RS, Heat transfer in flow through conduits, Clarkson University.


text:
Title: Troubleshooting AppVeyor
---

> **Warning** Do not adjust the project settings via the GUI interface. All configuration changes must be done via modifying the `AppVeyor.yml` which ensures that there is no configuration drift and all changes go through the project approval process.

## Enabling Remote Desktop

Create a branch off the branch you wish to troubleshoot. In that branch adjust the `AppVeyor.yml` [as per the instructions on this page](https://www.appveyor.com/docs/how-to/rdp-to-build-worker/).

![](enable-rdp-on-appveyor.png)

Push the troubleshooting branch which will trigger a new build. When that build completes (either success or failure) at the bottom of the log you will find credentials which you can use to RDP onto AppVeyor.

![](appveyor-rdp-credentials.png)

Your RDP session is limited by overall build time (60 min). All work will be destroyed when the limit is reached so keep working notes on your local computer. If you need more time then locate your branch in the AppVeyor build history and rebuild the commit which will provision a new instance with different RDP credentials and a fresh session limit.

> **Warning** Please don't litter in our repository; delete your temporary branch when you have finished troubleshooting.

## Retrying a failed build
At a terminal:
```
> git commit --amend -C HEAD
> git push -f origin $NAME_OF_BRANCH
```
This will update the timestamp on the last commit and force push it, thereby triggering another build. Of course, like any forced push, this is only safe if no one is depending on said branch.

## Waiting for status to be reported
Ugh, isn't this annoying? Luckily it doesn't happen often. It happens when the Webhook payload from GitHub to AppVeyor failures for whatever reason. Luckily it's easy to fix.

![](waiting-for-status-to-be-reported.png)

Navigate to Settings -> Webhooks and then click on the manage AppVeyor webhook button which will reveal this screen.

![](manage-appveyor-webhook.png)

Scroll down and identify the failed payload and mash the "Redeliver" button exactly once.

![](trigger-build-by-redelivering-failed-appveyor-webhook.png)

Visit AppVeyor to verify that the build has kicked off.

license: MIT

repository: reactiveui/website

branch_name: refs/heads/main

extension: md

gha_language: HTML

gha_license_id: MIT

license_type: permissive

repo_name: reactiveui/website


text:
# Installing amtc and amtc-web

```bash
 * BIG FAT WARNING *

 This document is a draft for work-in-progress-thing-amtc-web2.
 It +/- reflects current state of the packaging and installation
 process, but amtc-web2 hasn't full amtc-web1 functionality
 yet -- ALPHA SOFTWARE - You've been warned!
```

amtc is a C program, it needs to be compiled before use.
amtc-web consists of a bunch of PHP, JavaScript and CSS files that
depend on third-party libraries that have to be fetched
from the net prior to first use of amtc-web upon github clone.

### Installation Options

 * Installing binary release packages
 * Building and installing (packages) from amtc/amtc-web sources

Both (all three) variants have dependencies, listed below, that
need to be satisfied prior to installation.

# Dependencies
amtc-web will download any JS/PHP library dependencies during build;
when installing binary packages, this step will already have been
done for you. However, amtc still depends on libcurl to run and
amtc-web won't web without a server.

As amtc binary packages are not repository-hosted, dependencies
should be met prior to installation (at least true for debian).
Building from source obviously has more dependencies than just
using the binary package - and creating packages has most.
Probably means: Use the binary packages to give amtc-web a try,
go the build route to look behind the scenes.

The section below lists dependencies for each OS and installation
route. For all systems, a vanilla, basic installation is assumed.

# Installation of binary packages

Generic instructions:

 * Install your webserver of choice - with PHP support
 * The example configuration files included with amtc-web assume apache
 * Install PHP with PDO support for your favourite database, supported by amtc-web (i.e. MySQL, SQLite ... more tbd).
 * When using something else than SQLite, prepare a DB to be used by amtc-web.
 * Install the binary package as downloaded from the
   [github amtc releases page](https://github.com/schnoddelbotz/amtc/releases)

## Binary package installation preconditions

amtc-web does not depend on a specific webserver, it just has
to support execution of PHP scripts. The binary packages assume
apache - for all others, you'll most likely have to touch
some config files to get it going. Use the commands below to
meet runtime dependencies of amtc and amtc-web:

 * `OSX` None. Simply install the amtc binary package!
 * `RPM` `sudo yum install httpd php-pdo`
 * `DEB` `sudo apt-get install libapache2-mod-php5 php5-curl php5-sqlite`

... where `RPM` stands for commands to be executed on RPM-based
systems (like RHEL/CentOS, Fedora...), `DEB` for debian and
`OSX` for the big cat.

## Binary package installation

```bash
# OSX. Click the .pkg *or*
$ sudo installer -tgt / -pkg /path/to/downloads/amtc_*.pkg

# RPM-based OS
# yum is able to catch and resolve any dependency problems here
$ sudo yum localinstall /path/to/downloads/amtc*.rpm

# DEBian
# the second command should fix dependency issues, if any
$ sudo dpkg -i /path/to/downloads/amtc*.deb
$ sudo apt-get install -f
```

The package (post-)installations try to
 * enable mod_alias ... (via a2enmod, only on DEB)
 * enable mod_php5 in httpd.conf (only on OSX)
 * set SELinux policy context on /etc/amtc-web to allow httpd to write there (RPM only)
 * restart apache to let amtc-web_httpd.conf take effect

Ideally, after successful package installation, you should be
able to visit [http://localhost/amtc-web/](http://localhost/amtc-web/) in your web browser now...

# Setup - Finalizing installation

Visit [http://localhost/amtc-web/](http://localhost/amtc-web/).
Hopefully, the setup of amtc-web should come up and ask you
for your database type and credentials etc. You will also be able
to specify the authenticator URL there -- a http basic
authentication protected web page that may then serve as
a authentication source for amtc-web.
When using the default 'integrated' authenticator, you
will be able to manage passwords using htpasswd against
/etc/amtc-web/users.ht. The file contains the default account,
that can be used to login after successfully finishing setup:
Login as user: admin, password: amtc.

If it went OK so far, try creating a room with some hosts
that reflect your desired setup. Play around ... and if you
want to keep amtc-web, just make sure to enable SSL for your
web server. Have fun!

# Building from source, packaging

For the courious...

## Build preconditions

Building amtc requires libcurl development headers and xdd, which comes as
part of vim. Building amtc-web relies on curl itself to fetch JS/PHP
libraries during 'build'. Build preconditions per platform:

 * `OSX` Install XCode via AppStore
 * `RPM` `sudo yum groupinstall "Development tools"`
 * `RPM` `sudo yum install git vim-common libcurl-devel gnutls-devel libcurl gnutls`
 * `DEB` `sudo apt-get install git curl vim-common libcurl4-gnutls-dev libgnutls-dev build-essential`

## Package build preconditions

The regular system packaging tools will be needed in addition to the build tools installed above.

 * `OSX` Included with XCode (pkgbuild). No action required.
 * `RPM` `sudo yum install rpm-build`
 * `DEB` `sudo apt-get install dh-make devscripts`

## Building, building package, installing package

After having satisfied above build dependencies, try:
```bash
$ git clone https://github.com/schnoddelbotz/amtc
$ cd amtc
```
the most interesting [Makefile](../blob/master/Makefile) targets available are:

 * `make amtc` to only build the C target
 * `make amtc-web` to only create a usable dev-environment in amtc-web/
 * `make package` create a package of amtc for current platform
 * `make install-package` creates and installs a package
 * `make purge` is _DANGEROUS_. Will not only uninstall, but trash config and (SQLite-)DB.

repository: jeremykuhnash/amtc

branch_name: refs/heads/master

repo_name: jeremykuhnash/amtc


text:
---
title: "Philippians 3:10-12"
excerpt: "The power of his resurrection. Share in his suffering, be like him in his death, resurrection from the dead."
image:
  teaser: Philippians-teaser.jpg
tags: [philippians, bible-studies]
featured: false
modified:
comments: true
feature:
  category: philippians
comments_locked: false
---

{% include toc.html %}
{% include toc_spacer.html %}
{% include bible-study/philippians-study-notes %}
{% include toc_spacer.html %}
{% include bible-study/bible-studies %}

{{ page.excerpt | markdownify }}

[(Bấm vào đây để đọc tiếng Việt)]({{ site.url }}{% post_url bible-studies-Viet/Philippians/2022-09-10-Phi-lip-03-v08-09 %})

"10My aim is to know him, to experience the power of his resurrection, to share in his sufferings, and to be like him in his death, 11and so, somehow, to attain to the resurrection from the dead. 12Not that I have already attained this – that is, I have not already been perfected – but I strive to lay hold of that for which Christ Jesus also laid hold of me." (Philippians 3:11-12)

## 1.  THE POWER OF HIS RESURRECTION

*“10My aim is to know him, to experience the power of his
resurrection, ..."*
 (Philippians 3:10a)

Last week, we discussed the concept of *“So that I might know him,”* and how the condition for knowing God is when *“I regard them as dung.”* *“Them”* here are fleshly efforts that Paul expended to satisfy the requirements of the law, as well as praise and respect from men who were his contemporaries who also lived under the law.

We continued with the idea of *“that I might experience the power of his resurrection”* this week. One possible question here is: What does it mean to experience the power of his resurrection? What else could it be but what Adam and Eve have lost since the beginning of time, the burden of sin that they have passed on to their descendants, the separation from God as a result of their sin nature, and the many other consequences that have resulted?

God had restored to those who believe what Adam had lost through the death of Christ. But how can Paul, and all who read his letter, *“experience”* the power of Christ’s resurrection?

If we live by the precept that *“the just shall live by faith,”* we can only *“experience”* by faith, by firmly believing God’s promise of the *“power of his resurrection.”* While God may heal someone, that healing does not imply eternal life. Someone may have been delivered from some major life challenges, but they are not yet in God’s kingdom. Because eternal life and the coming of God’s kingdom will occur only *“in a moment, in the blinking of an eye, at the last trumpet. For the trumpet will sound, and the dead will be raised imperishable, and we will be changed.”*(1 Corinthians 15:52)

## 2. SHARE IN HIS SUFFERING, BE LIKE HIM IN
HIS DEATH, RESURRECTION FROM THE DEAD

*“ ... 10bto share in his sufferings, and to be like him
in his death, 11and so, somehow, to attain to the
resurrection from the dead.”*
 (Philippians 3:10b-11)

Using the same interpretation, we are given everything mentioned in the subtopic above simply because we are considered to have died with Christ and thus will be raised with him.

*“Therefore we have been buried with him through baptism into death, in order that just as Christ was raised from the dead through the glory of the Father, so we too may live a new life.”* (Romans 6:4)

*“Now if we died with Christ, we believe that we will also live with him.”* (Romans 6:8)

## 3. NOT ALREADY PERFECTED, BUT ALREADY
LAID HOLD OF BY CHRIST

*“ 12Not that I have already
attained this – that is, I have not already been perfected
– but I strive to lay hold of that for which Christ Jesus
also laid hold of me.”*
 (Philippians 3:12)

This is a mystery of faith. Like someone who has been granted US citizenship but must wait until the day they can swear allegiance to the flag. Like us, we have been sealed with the Holy Spirit by the faithful promise of God, but we must wait until the last trumpet is sounded, when Christ returns.

{% include bible-study/bible-study-footer %}

gha_language: CSS

gha_license_id: NOASSERTION


text:
# mybot

A virtual assistant that helps you get your time back.

## configure the bot

Export the following environment variables:

```sh
# botframework.com configuration
MICROSOFT_APP_ID=
MICROSOFT_APP_PASSWORD=
BOT_CONSOLE=
BOT_PORT=
BOT_DEFAULT_LOCALE=en

BOT_LUIS_MODEL= # luis.ai application url

# qnamaker.ai configuration for faqs
MICROSOFT_QNA_KNOWLEDGEBASE_ID=
MICROSOFT_QNA_SUBSCRIPTION_KEY=
```

## run the bot

Prerequisites: node 6+

```sh
git clone git@github.com:palmerabollo/mybot.git && cd mybot
npm install
npm run watch-console # run in console mode
```

You can also run the bot as a HTTP server os as a serverless AWS Lambda function.

repository: palmerabollo/mybot

gha_language: TypeScript

repo_name: palmerabollo/mybot


text:
colorclock
==========

Clock displaying colors based on current time

### Demo

* https://hurtak.github.io/colorclock/

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

repository: Hurtak/colorclock

gha_language: JavaScript

repo_name: Hurtak/colorclock


text:
# findchord
A game to practice music chord reading.

Tested only on Chrome (and probably working only)

# CREDITS

Based on :
- https://www.w3.org/TR/webmidi/ to listen piano keyboard input
- Vex flow http://www.vexflow.com/ to display scores
- JS Dynamic Audio Synth https://github.com/keithwhor/audiosynth

Many thanks to following site for their great examples:
http://www.gregjopa.com/HTML5-Cloud-Composer/

repository: lorandg/findchord

repo_name: lorandg/findchord


text:
---
layout: post
title: Smoky Apple & Butternut Squash Soup
category: Main Dish
abstract: A delicious smoky, spicy fall soup
author: Bill Capecchi
tags: apple butternut_squash
---

***

### Origin:

Mom cut this recipe out of the fall 2016 Real Food magazine

***

### Ingredients:

- 1 Tbsp olive oil
- 1 Tbsp butter
- 3 large onions, finely chopped (about 4 ½ cups)
- 1 tsp chipotle chili powder
- 2 lbs butternut squash, peeled and cut into chunks (about 6 cups)
- 1 lb sweet apples, peeled and cut into chunks (about 3 ½ cups)
- 1 cup apple juice (more if necessary)
- 1 cup chicken broth
- ½ tsp salt
- ½ tsp ground black pepper
- Toasted pecans, for garnish, if desired
- Apple slices, cut thin, for garnish, if desired

***

### Instructions:

In a large saucepan, heat oil and butter over medium heat; add onions and chili powder; cook and stir until onions are tender, about 10 minutes.
Add squash, apples, apple juice, chicken broth, salt and pepper; bring to boil.
Cover and cook on low heat until apples and squash are very soft, about 30 minutes. Remove from heat and cool slightly.
Puree with an immersion blender or a food processor; return to saucepan. Add additional apple juice or broth, if needed.
Garnish with toasted pecans, sour cream swirls and thin apple slices, if desired.

![apple_butternut_soup.jpg](\images\apple_butternut_soup.jpg "apple_butternut_soup")

***

### Notes:

Sour cream is a must. Served with a nice sourdough bread and butter- MMMMMHMMM!! Might want to cut the chipotle chili powder in half and test it. It can get spicy!


text:
### [CVE-2021-24947](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-24947)
![](https://img.shields.io/static/v1?label=Product&message=RVM%20%E2%80%93%20Responsive%20Vector%20Maps&color=blue)
![](https://img.shields.io/static/v1?label=Version&message=6.4.2%3C%206.4.2%20&color=brighgreen)
![](https://img.shields.io/static/v1?label=Vulnerability&message=CWE-863%20Incorrect%20Authorization&color=brighgreen)

### Description

The RVM WordPress plugin before 6.4.2 does not have proper authorisation, CSRF checks and validation of the rvm_upload_regions_file_path parameter in the rvm_import_regions AJAX action, allowing any authenticated user, such as subscriber, to read arbitrary files on the web server

### POC

#### Reference
No PoCs from references.

#### Github
- https://github.com/ARPSyndicate/cvemon
- https://github.com/ARPSyndicate/kenzer-templates
- https://github.com/kazet/wpgarlic

repository: trickest/cve

repo_name: trickest/cve


text:
#An epitaph vpon the decease of the worshipfull Lady Mary Ramsey, late wife vnto Sir Thomas Ramsey Knight, sometime Lord Maior and Alderman of the honorable Cittie of London Wherevnto is annexed certaine short epigrams, touching the mortalitie of man. Published by the consent of the executors. Written by N.B.#

##Bourman, Nicholas.##
An epitaph vpon the decease of the worshipfull Lady Mary Ramsey, late wife vnto Sir Thomas Ramsey Knight, sometime Lord Maior and Alderman of the honorable Cittie of London Wherevnto is annexed certaine short epigrams, touching the mortalitie of man. Published by the consent of the executors. Written by N.B.
Bourman, Nicholas.

##General Summary##

**Links**

[TCP catalogue](http://www.ota.ox.ac.uk/tcp/)  •
[HTML](http://tei.it.ox.ac.uk/tcp/Texts-HTML/free/A16/A16502.html)  •
[EPUB](http://tei.it.ox.ac.uk/tcp/Texts-EPUB/free/A16/A16502.epub) •
[Page images (Historical Texts)](https://data.historicaltexts.jisc.ac.uk/view?pubId=eebo-99840392e&pageId=eebo-99840392e-4893-1)

**Availability**

This keyboarded and encoded edition of the
	       work described above is co-owned by the institutions
	       providing financial support to the Early English Books
	       Online Text Creation Partnership. This Phase I text is
	       available for reuse, according to the terms of Creative
	       Commons 0 1.0 Universal. The text can be copied,
	       modified, distributed and performed, even for
	       commercial purposes, all without asking permission.

**Major revisions**

1. __2006-05__ __TCP__ *Assigned for keying and markup*
1. __2006-07__ __Apex CoVantage__ *Keyed and coded from ProQuest page images*
1. __2006-09__ __Judith Siefring__ *Sampled and proofread*
1. __2006-09__ __Judith Siefring__ *Text and markup reviewed and edited*
1. __2007-02__ __pfs__ *Batch review (QC) and XML conversion*

##Content Summary##

#####Front#####

1. The Author to the Booke.

1. The Bookes aunſwer.

#####Body#####

1. An Epitaphe vpon the deceaſe of the Worſhipfull Lady MARIE RAMSEY.

1. A ſufficient defence and reaſonable excuſe concerning the miſchaunce that hapned at Leaden Hall after the funerall of the worſhipfull Lady Mary Ramſey ſo ſolemnized.

1. In obitum Dominae Mariae Ramſei Ni▪ Boormanni Longaeuum et vltimum vale.

1. Short Epigrams touching the mortallitie of man.
EArth of the earth, muſt to the earth,from whence at firſt it came,Such is the earthly naturall ſtat
    _ Another.

    _ Another.

    _ Another.

    _ Another.

    _ Another.

    _ Another.

1. The Lenuoy.

**Types of content**

  * There are 291 **verse** lines!
  * Oh, Mr. Jourdain, there is **prose** in there!


text:
# Lane Detection System
[![Build Status](https://travis-ci.org/rohithjayarajan/LaneDetectionSystem.svg?branch=master)](https://travis-ci.org/rohithjayarajan/LaneDetectionSystem)
[![Coverage Status](https://coveralls.io/repos/github/rohithjayarajan/LaneDetectionSystem/badge.svg?branch=master)](https://coveralls.io/github/rohithjayarajan/LaneDetectionSystem?branch=master)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)

---

## Overview

Project to design a system for lane departure warning system for self-driving cars which include lane detection and steer prediction. In this project, a monocular camera installed on the self driving vehicle serves as the input for the lane detecton system pipeline. After preprocessing of image frame, the segmented two lanes are used to fit curves describing the traffic lanes. Also this information is used to predict the steering angle of the vehicle.
A C++ project with:

- cmake
- googletest
- OpenCV

## License
```
MIT License

Copyright (c) 2018 Rohith Jayarajan, Akash Guha

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.
```
## Algorithm Pipeline

Aim of the project is to formulate a software pipeline to identify white/yellow lanes on the road and predict the steering angle for autonomous vehicles.

The video input is from a fixed front facing camera installed on top of the vehicle/car. The camera’s intrinsic parameters and the distortion coefficients for the given dataset was provided.

![](images/1.png)

As no camera is perfect, the distortions in the camera lens modifies the captured image, therefore the camera intrinsic parameters and distortion coefficients are used to un-distort the image frames before carrying out any further processing. A gaussian filter is used to smooth the image frame and reduce the noise content in it.

 A region of interest is extracted by eliminating the upper half of the image, as it is obvious that the lanes are present only in the lower half. Also extracting an ROI as part of the pre-processing step helps in reducing computation to a great extent in later steps.

 ![](images/2.png)

Following the initial preprocessing of the image frames, thresholding technique in both RGB and HLS color spaces were tried, to get the binary image showing just the lane pixels. As HLS color space is more immune to variations in illumination/external lighting, it gives a better result. Finding the optimal threshold values for hue, saturation and luminescence is the most time consuming process in this phase.

![](images/3.png)

The received binary image consisting of the lanes, is then transformed (perspective transformation) to obtain a top view. This allows to fit a curve on the lane pixels as they were projected onto a 2D surface.

![](images/4.png)

The next step is to fit a second degree polynomial onto the left and right lane pixels. A histogram is generated representing the pixel count along the y-axis while we sweep across the width of the image. The two highest peaks in the histogram will likely be the x location for the base of the lane lines.

![](images/5.png)

Two sliding windows representing the left and right lanes are aligned with the lane centers at the base of the image frame, these windows then track the lanes up to the top of the frame.

On getting the fitted lane pixels, the same is plotted on the image and the turn angle is computed.

The last step is to warp the lane boundaries back onto the original image by inverse perspective transformation.

![](images/6.png)

## Dependencies

- [OpenCV][reference-id-for-OpenCV]: An Open Source Computer Vision Library released under a BSD license.
A complete installation guide for OpenCV can be found [here][reference-id-for-here].

[reference-id-for-OpenCV]: https://opencv.org/
[reference-id-for-here]: https://docs.opencv.org/3.3.1/d7/d9f/tutorial_linux_install.html

## Solo Iterative Process

SIP is a software process that single programmers use while working on a software project. The solo programmer who is the hero of this process is named “Sol”. Sol receives the requirements from the users and records them in the product backlog. From the iteration backlog, Sol selects a specific change request and implements the corresponding software changes. Product Backlog, Work Log and Iteration Backlog for this project can be found [here][reference-id-for-here1].

[reference-id-for-here1]: https://docs.google.com/spreadsheets/d/1b254fKUI1N3dCOtlsByfg0JyH0NWnpPUUpDtdTfVFeI/edit?usp=sharing

## Standard install via command-line
```
git clone --recursive https://github.com/rohithjayarajan/LaneDetectionSystem
cd <path to repository>
mkdir build
cd build
cmake ..
make
```
Run tests:
```
./test/cpp-test
```
Run program:
```
cd..
./build/app/shell-app
```

## Building for code coverage
```
sudo apt-get install lcov
cmake -D COVERAGE=ON -D CMAKE_BUILD_TYPE=Debug ../
make
make code_coverage
```
This generates a index.html page in the build/coverage sub-directory that can be viewed locally in a web browser.

## Working with Eclipse IDE ##

## Installation

In your Eclipse workspace directory (or create a new one), checkout the repo (and submodules)
```
mkdir -p ~/workspace
cd ~/workspace
git clone --recursive https://github.com/rohithjayarajan/LaneDetectionSystem
```

In your work directory, use cmake to create an Eclipse project for an [out-of-source build] of LaneDetectionSystem

```
cd ~/workspace
mkdir -p LaneDetectionSystem-eclipse
cd LaneDetectionSystem-eclipse
cmake -G "Eclipse CDT4 - Unix Makefiles" -D CMAKE_BUILD_TYPE=Debug -D CMAKE_ECLIPSE_VERSION=4.7.0 -D CMAKE_CXX_COMPILER_ARG1=-std=c++14 ../LaneDetectionSystem/
```

## Import

Open Eclipse, go to File -> Import -> General -> Existing Projects into Workspace ->
Select "LaneDetectionSystem-eclipse" directory created previously as root directory -> Finish

# Edit

Source files may be edited under the "[Source Directory]" label in the Project Explorer.

## Build

To build the project, in Eclipse, unfold LaneDetectionSystem-eclipse project in Project Explorer,unfold Build Targets, double click on "all" to build all projects.

## Run

1. In Eclipse, right click on the LaneDetectionSystem-eclipse in Project Explorer,
select Run As -> Local C/C++ Application

2. Choose the binaries to run (e.g. shell-app, cpp-test for unit testing)

## Debug

1. Set breakpoint in source file (i.e. double click in the left margin on the line you want
the program to break).

2. In Eclipse, right click on the LaneDetectionSystem-eclipse in Project Explorer, select Debug As ->
Local C/C++ Application, choose the binaries to run (e.g. shell-app).

3. If prompt to "Confirm Perspective Switch", select yes.

4. Program will break at the breakpoint you set.

5. Press Step Into (F5), Step Over (F6), Step Return (F7) to step/debug your program.

6. Right click on the variable in editor to add watch expression to watch the variable in
debugger window.

7. Press Terminate icon to terminate debugging and press C/C++ icon to switch back to C/C++
perspetive view (or Windows->Perspective->Open Perspective->C/C++).

## Plugins

- CppChEclipse

    To install and run cppcheck in Eclipse

    1. In Eclipse, go to Window -> Preferences -> C/C++ -> cppcheclipse.
    Set cppcheck binary path to "/usr/bin/cppcheck".

    2. To run CPPCheck on a project, right click on the project name in the Project Explorer
    and choose cppcheck -> Run cppcheck.

- Google C++ Sytle

    To include and use Google C++ Style formatter in Eclipse

    1. In Eclipse, go to Window -> Preferences -> C/C++ -> Code Style -> Formatter.
    Import [eclipse-cpp-google-style][reference-id-for-eclipse-cpp-google-style] and apply.

    2. To use Google C++ style formatter, right click on the source code or folder in
    Project Explorer and choose Source -> Format

[reference-id-for-eclipse-cpp-google-style]: https://raw.githubusercontent.com/google/styleguide/gh-pages/eclipse-cpp-google-style.xml

- Git

    It is possible to manage version control through Eclipse and the git plugin, but it typically requires creating another project. If you're interested in this, try it out yourself and contact me on Canvas.

## Doxygen Documentation

To generate Doxygen Documentation,
```
cd <path to repository>
mkdir <documentation_folder_name>
cd <documentation_folder_name>
doxygen -g <config_file_name>

```
Update PROJECT_NAME and INPUT fields in the configuration file.

Then run the following command to generate the documentations,
```
doxygen <config_file_name>
```

repository: kindow/LaneDetectionSystem

repo_name: kindow/LaneDetectionSystem


text:
# Evaluate Expression

## Origin

[Link](https://www.interviewbit.com/problems/evaluate-expression/)

## Description

Evaluate the value of an arithmetic expression in Reverse Polish Notation.

Valid operators are +, -, *, /. Each operand may be an integer or another expression.

### Examples

```text
["2", "1", "+", "3", "*"] -> ((2 + 1) * 3) -> 9
["4", "13", "5", "/", "+"] -> (4 + (13 / 5)) -> 6
```

## Companies

1. Yahoo
1. Google
1. Facebook

## Categories

1. Courses
1. Programming

## Tags

1. Stacks
1. Queues

## Notes

1. [ProgramCreek](https://www.programcreek.com/2012/12/leetcode-evaluate-reverse-polish-notation/)
1. [LeetCode discussion](https://leetcode.com/problems/evaluate-reverse-polish-notation/discuss/47430)


text:
# AWS Cognito Core UI

AWS Cognito Core UI is a library package that allows designers to customize the UX to work with AWS Cognito.

## Install

```bash
npm install aws-cognito-core-ui # or yarn add aws-cognito-core-ui
```

---

## Usage

It might be easier to use [aws-cognito-react-ui](https://github.com/luke-guan/aws-cognito-react-ui) or [aws-cognito-react-native-ui](https://github.com/luke-guan/aws-cognito-react-native-ui). Look at the those package's source code.

Create UX for each screen:

```
- SignIn
- ErrorMsg
- ForgotPassword (Type in user, to receive email code)
- ForgotPasswordSubmit (Type in newPassword and code)
- SignOut
- ConfirmSignUp (Type in code to validate user)
- ConfirmSignIn (Type in mfaCode)
- NewPasswordRequired (Setup newPassword required from Cognito)
- MfaSetup (Setup 2FA)
- ChangePassword (Change Password)
- ChangePasswordSuccess (Screen when password successful)
- Loading
```

More info can be found at [Basic Usage](docs/BasicUsage.md).

##### Import Package

```javascript
import AuthProvider from 'aws-cognito-core-ui';
```

##### Design Component Object for each screen

The object keys end in C, (leave alone), the value on the right should point to your UX screen. In this case we are creating the LoadingUI.

Example for HTML (web):

```javascript
const LoadingUI = () => (
    <div>
        <h1>Loading</h1>
    </div>
);
```

Example for App (react-native):

```javascript
const LoadingUI = () => (
    <View>
        <Text>Loading</Text>
    </View>
);
```

##### Link Component to your UX

Reference the [docs](docs/BasicUsage.md) on what is needed to contruct each component.

```javascript
const MyScreenComponents = {
    signInC: SignInUI,
    errorMsgC: ErrorMsgUI,
    forgotPasswordC: ForgotPasswordUI,
    forgotPasswordSubmitC: ForgotPasswordSubmitUI,
    signOutC: SignOutUI,
    signUpC: SignUpUI,
    confirmSignUpC: ConfirmSignUpUI,
    confirmSignInC: ConfirmSignInUI,
    newPasswordRequiredC: NewPasswordRequiredUI,
    mfaSetupC: MfaSetupUI,
    changePasswordC: ChangePasswordUI,
    changePasswordSuccessC: ChangePasswordSuccessUI,
    loadingC: LoadingUI,
};
```

##### Wrap your App with AuthProvider

Pass in your awsconfig, along with your screens to ComponentObject.

```javascript
<AuthProvider awsconfig={awsconfig} ComponentObject={MyScreenComponents}>
    <MyApp />
</AuthProvider>
```

[FAQs](docs/FAQs.md)

## Support

Feedback / Questions / Thoughts / Hire me?

[Discord](https://discord.gg/Mfwc5sg)

repository: luke-guan/aws-cognito-core-ui

repo_name: luke-guan/aws-cognito-core-ui


text:
Grunt-Mocha-Setup
=================

A simple example repo to get a JS Heavy Drupal module into testing pattern quickly.

1. Copy paste these files to your module's directory
2. Delete `js/my-module.js`, `js/my-module.min.js`, you have your actual files.  Make sure to keep them in the `js/` folder though.
3. Rename `test/my-module.js` and `test/my-module.html` to reflect names that make sense for your project.  You can dupe them for multiple page tests if it makes sense.
4. Start editing `test/my-module.js` with tests that make sense for your module instead of the dummy module.
5. If you need more globals defined, look at adding their definitions in the `stubs.js` file.  Update the `globals` block in `my-module.html` accordingly.

repository: robcolburn/Grunt-Mocha-Setup

repo_name: robcolburn/Grunt-Mocha-Setup


text:
# SpaBerry
An IoT adapter for Balboa 9800CP control board, circa 1999.

Reads and simulates the protocol of the 8-button [Balboa 51285 Deluxe Digital Control](https://spacare.com/51058BalboaSerielDeluxeTopsideControl.aspx) topside, aka VL801D, via an 8-pin RJ45 jack.

Monitor and control set temperature and spa mode through a web-based interface.
Combine with [homebridge-spaberry](https://github.com/heisler3030/homebridge-spaberry) module for Homekit / Siri control on Apple devices.

# Application Mechanics

The app deploys a simple express webserver on the Pi returning JSON status and accepting commands via HTTP.

Requests for Spa status use the Pi to read a data and clock signal from the spa and decode the display.  To get the current set temperature, a button press is simulated and the display is read again.

Button presses are achieved using the Arduino which intercepts and modifies the realtime control signal between the topside and the controller board.  Currently implemented controls are temp up, temp down, and spa mode.

**/json**
```
{
  "bits": "0100011110111111111111000000000001000100000110001000001000001000000000000000",
  "display": "86F",
  "setHeat": 0,
  "mode": 0,
  "heating": 0,
  "tempUp": 0,
  "tempDown": 0,
  "blower": 0,
  "pump": 1,
  "jets": 0,
  "light": 0,
  "temperature": 86,
  "setTemp": 85
}
```

# Requirements

This app was built and deployed using Raspberry Pi 3 model B and Arduino Uno R3 but should be compatible with other models.  Lesser models of Pi may have insufficient performance for the signal processing.

Requires the [pigpio node library](https://github.com/fivdi/pigpio), please review the installation instructions including the installation of the base C library.

You will need to assemble a hardware setup which intercepts the RJ45 topside-to-board communications and routes them to the Raspberry Pi and Arduino GPIO pins.  A detailed log of this process and the reverse engineering of the protocol can be found here:

[SpaBerry project log](https://docs.google.com/document/d/1xuc5N6-Q7J7bQxBARYjUywhqkIFjOnh8vAHqEya5QAI/edit?usp=sharing)

![Spaberry Wiring Diagram](https://raw.githubusercontent.com/heisler3030/spaberry/main/SpaBerry.png)

# Installation

The spaberry library is not a ready-to-deploy application but should be easily forked and adapted to your situation.  Key variables in the header of [comms.js](https://github.com/heisler3030/spaberry/blob/main/comms.js) and [spaberry.ino](https://github.com/heisler3030/spaberry/blob/main/spaberry.ino) should be modified to reflect the specific GPIO pinouts in use on the Arduino and Raspberry Pi.

# Potential refinements

Future adaptations of the SpaBerry app may consider using the Arduino to both read and write the signal, as it is much more capable of reading the high-speed signal than the Pi, given the simpler architecture.  This will require adapting the code to pass the data back via the USB serial interface.

# Gratitude

Special thanks to the RaspberryPi.org community for [documenting their previous efforts](https://www.raspberrypi.org/forums/viewtopic.php?t=175399) and paving he way for this project.  Hope that this project can be of similar help to future explorers.

repository: rickbol/spaberry

repo_name: rickbol/spaberry


text:
---
title: Blog 18-04-18
layout: post
author: george.mowbray
permalink: /blog-18-04-18/
source-id: 1lyKY1QA-wVkr3KP5MhrGylpN3MsibuG0KHFMLiuKoLY
published: true
---

    Title
    Blog 18-04-18
    Date
    18/04/18

    Starting point:
    Learnt about different types of malware and created a presentation on Prezi about them.

    Target for this lesson?
    Learn about media.

    Did I reach my target?
    Yes, although we did not actually do any physical work we did have a very interesting talk in which I learnt a great deal.

    How did you use your learning habits this week?

    Persevering

    Questioning?
    I asked question when I wasn't sure about something that someone had said.

    Independence

    Reflecting

    Engagement
    During Mr. Keen’s talk I contributed to the discussion by raising a couple of valid points.

    What could have gone better in your learning?

    I could have expressed my own opinions on the topics we were discussing as I was just going with what Mr. Keen was saying and assuming that what he said was right.

    What changes do you need to make to improve your learning next time?

    I need to make my decisions for myself.


text:
![Project_Logo](Assets/RemakeHYFBE.svg)
# Group 3 Project
*__Team members:__*
- [Osimef849](https://github.com/Osimef849)
- [RosaMoran](https://github.com/RosaMoran)
- [SerkanDemir86](https://github.com/SerkanDemir86)
- [Hajir-pro](https://github.com/Hajir-pro)
- [WalterAlvar](https://github.com/WalterAlvar)
- [Maria2811-code](https://github.com/Maria2811-code)

You can check the result with this [live demo](https://maria2811-code.github.io/Project-3Class15_3-HYF_website/)
You can check the original [repo](https://github.com/Maria2811-code/Project-3Class15_3-HYF_website/tree/main)

## The Mission
This is our attempt to reverse engineering [Hack Your Future.be](https://hackyourfuture.be/). It is our second group project in order to learn the next subjects:

- __Incremental Development__ working a single remote Repo, from each group member's laptop.
- __Agile__ methodology is the way we work, adding small steps and performing regular meetings to learn from each other:
  - This also help us to understand GitHub features as a tool to manage a group project.
  - It is our first aproaching into work through CLI
  - The importance of a well done Development Strategy and the whole plannification process.

### The Technology

- __HTML & CSS__ to buit the whole website.
- __Git & GitHub__ for managing the versions and store the repo.
- __DevTools__ for inspecting the real website and understanding the flow.
- __Visual Studio Code__ and all the useful extensions for make our lives easiest.

### Screenshots

This is a little **"Making Of Process"** or *our current life with the laptop as a friend:*

![Project_Logo](Assets/ScreenS1.png)
![Project_Logo](Assets/ScreenS2.png)
![Project_Logo](Assets/ScreenS3.png)
![Project_Logo](Assets/ScreenS4.png)
![Project_Logo](Assets/ScreenS5.png)


text:
## DrawContent ##

This is a custom view where you can draw shape or draw text with animation.

[Sample for splash screen] (http://vimeo.com/54602798 "SplashView") and [password check] (https://vimeo.com/54601584 "PasswordCheck")

![Screenshot] (http://nikhilgohil11.com/github/Screenshot.png)

## How to use ##
	#import "DrawContent.h"

For shape:

	DrawContentView *drawContent = [[DrawContentView alloc] initWithFrame:CGRectMake(x, y, width, height)];

	drawContent.shapeName = @"drawQuadCurve"; //available shapes (Right , Cancel, Pentagon, Arc, Cubic curve, Quad curve)

	drawContent.lineSize = 2.1f;

    drawContent.lineColor = [UIColor blackColor];

	[scrollWithPaging addSubview:drawContent];

    [drawContent startAnimationWithDuration:2.5f];

For text:

	DrawContentView *drawContent = [[DrawContentView alloc] initWithFrame:CGRectMake(x, y, width, height)];

	drawContent.lineSize = 2.1f;

	drawContent.messageText = @"raw engineering";

	drawContent.fontTextSize = 23.0f;

	drawContent.lineColor = [UIColor blackColor];

	[scrollWithPaging addSubview:drawContent3];

    [drawContent3 startAnimationWithDuration:2.5f];

## Lincense ##

   [MIT License] (http://raweng.mit-license.org/ "MIT License")


text:
# Visit the project website:

[jugglerjs.com](http://jugglerjs.com)

# What you get:

- Backbone, Backbone Marionette boilerplate
- Page Transition Handling (slide, fade, stack)
- Using require.js as module loader
- Integrated phonegap
- Ratchet CSS UI Components
- juggl as build tool (grunt.js)

# Getting started:

### Install juggler's command line tool:

    npm install -g juggl

### Create a new project:

    mkdir myapp
    cd myapp
    // init juggler project template
    juggl init:juggler
    // -> for now you will need to set path and projectname in grunt.js file

### Add a device:

    // create iOS phonegap application
    juggl iOS:create
    // build webapp
    juggl iOS:build
    // start iOS emulator (brew install ios-sim -- to use sim from commandline)
    juggl iOS:emulate

### Test / Debug App in Browser:

    // build debug app
    juggl iOS:boil
    // start built in server
    juggl server
    // -> head your browser to localhost:8000

repository: bentech/juggler-init-demo

repo_name: bentech/juggler-init-demo


text:
---
layout: post
title:  "Presentation at Digital Classicist Berlin"
date:   2021-12-14 21:00:00
categories: blog
author: Kyle P. Johnson
---

Three of us -- Kyle Johnson, Clément Besnier, and Todd Cook -- presented to the [Digital Classicist Berlin](https://www.berliner-antike-kolleg.org/transfer/termine/2021-2022_digital_classicist.html) program at the Berlin–Brandenburgischen Akademie der Wissenschaften.

- [Kyle's slides](http://cltk.org/assets/cltk-pres-digital-classics-berlin-brandenburg.pdf) on the CLTK, generally
- [Clément's notebook](https://github.com/clemsciences/cltk-2021-berlin-code/blob/main/cltk_discovery_of_america.ipynb) on making a custom Process and examples using Old Norse
- [Todd's slides](https://docs.google.com/presentation/d/e/2PACX-1vQEK5MC9uS4SEvkaD9viCsqsEDhTEOHwFg8xssZul8u9qSe3qiQ6RQv4Lsx0vWE62gpnpMnsAPeFChS/pub?start=true&loop=false&delayms=15000&slide=id.p) on MLOps and large language models

extension: markdown

gha_language: SCSS


text:
# WiFiSetupWizard_ESP32

## Description

WiFiSetupWizard_ESP32 is designed to be a simple to use WiFi setup utility for the Espressif ESP32 using the arduino-esp32 libraries, therefore making it easy to integrate into Arduino/PlatformIO projects using the ESP32. It uses serial communication with the ESP32 (UART_0) to communicate externally, meaning that WiFi connections can be set up using terminal emulator software on a PC or other device.
## Features
 - Simple to use - a total of 6 lines of code are required in order to add the utility, and the utility runs entirely within the setup() portion of the code, meaning that the loop() portion of the code is free
 - Lightweight - does not use much more RAM or program storage space on top of the resources required to use WiFi on the ESP32
 - WiFi credentials storage using the NVS (non-volatile storage) on the ESP32

## Using the library
**PlatformIO**
If you are using PlatformIO, place the /lib/WiFiSetup folder from this repository into the /lib folder of your project. Then, follow the example in /src/main.cpp to incorporate the wizard into your project.
**Arduino**
To use the library, copy the /lib/WiFiSetup folder from the repository and paste it into your Arduino libraries folder:
*Typical locations:*
- Windows: C:\Users\your_user\My Documents\Arduino\libraries
- macOS: /Users/your_user/Documents/Arduino/libraries
- Linux: /home/your_user/Arduino/libraries
Then, restart your Arduino IDE and the library should appear in the Sketch/Include Library menu as WiFiSetup, as shown:

![WiFiSetup library location in Sketch menu in Arduino IDE](https://github.com/fbm3334/WiFiSetupWizard_ESP32/blob/master/img/ArduinoLib_nonretina.png)

### Using the wizard
Please refer to [Usage.md](https://github.com/fbm3334/WiFiSetupWizard_ESP32/blob/master/Usage.md) for instructions on using the wizard.

## Future additions
Some features that are missing and can be added in the future include:
 - [ ] ESP8266 support
 - [ ] Status LED support (e.g. using an RGB LED to indicate connection status)
 - [ ] WEP encryption support - I have decided not to add it as WEP has been deprecated since 2004 and is extremely insecure (see [this article](http://www.isaac.cs.berkeley.edu/isaac/wep-faq.html) from researchers from the University of California, Berkeley for details).
## Licensing
This library is licensed under the MIT license. Please refer to the license for terms of use.
<!--stackedit_data:
eyJoaXN0b3J5IjpbNTYzMjMyNjc5LC01NjY5OTQxNTcsNjg4NT
k4ODY0LC0xMDY4ODEwMzIzLC04MDI5OTYwMzcsODc2MTUyNTM4
LC0xNDAzMTc0NjU4LC0xMzM3NDk1NDMxLDE1NTg1MDI4MjUsMT
U4ODc0ODAzMCwyMDQ1MTY2MjYxLDE5Njg2NDEzNDMsLTc3MTM5
Njg2NF19
-->


text:
[![Gem Version](https://badge.fury.io/rb/fear-rspec.svg)](https://badge.fury.io/rb/fear-rspec)

# Fear::Rspec

`fear-rspec` is a set of rspec matchers for [Fear](https://github.com/bolshakov/fear).

## Installation

Add this line to your application's Gemfile:

```ruby
gem 'fear-rspec'
```

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install fear-rspec

## Usage

Load matchers:

```ruby
require 'fear/rspec'
```

### Try matchers

To match against a `Failure`, use `be_failure_of` matcher.

```ruby
expect(Failure(ArgumentError)).to be_failure_of(ArgumentError) # passes
expect(Failure(ArgumentError)).to  be_failure_of(RuntimeError) # fails
expect(Success(5)).to                         be_failure_of(5) # fails
```

To match against a `Success`, use `be_success_of` matcher.

```ruby
expect(5).not_to                  be_success_of(5) # passes
expect(Success(5)).to             be_success_of(5) # passes
expect(Success(1)).to             be_success_of(5) # fails
expect(Failure(ArgumentError)).to be_success_of(5) # fails
```

### Either matchers

To match against a `Left`, use `be_left_of` matcher.

```ruby
expect(5).not_to    be_left_of(5) # passes
expect(Left(5)).to  be_left_of(5) # passes
expect(Left(1)).to  be_left_of(5) # fails
expect(Right(5)).to be_left_of(5) # fails
```

To match against a `Right`, use `be_right_of` matcher.

```ruby
expect(5).not_to    be_right_of(5) # passes
expect(Right(5)).to be_right_of(5) # passes
expect(Right(1)).to be_right_of(5) # fails
expect(Left(5)).to  be_right_of(5) # fails
```

### Option matchers

To match against a `Some`, use `be_some_of` matcher.

```ruby
expect(5).not_to   be_some_of(5)  # passes
expect(Some(5)).to be_some_of(5)  # passes
expect(Some(1)).to be_some_of(5)  # fails
expect(None()).to  be_some_of(5)  # fails
```

To match against a `None`, use `be_none` matcher.

```ruby
expect(5).not_to   be_none # passes
expect(Some(5)).to be_none # fails
expect(None()).to  be_none # passes
```

## Development

After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).

## Contributing

1. Fork it ( https://github.com/bolshakov/fear-rspec/fork )
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull Request

## License

The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).

repository: bolshakov/fear-rspec

gha_language: Ruby

repo_name: bolshakov/fear-rspec


text:
# vue-cli-plugin-prerender-spa

Add `prerender-spa-plugin` into your Vue application with zero configuration.

![](https://img.shields.io/david/solarliner/vue-cli-plugin-prerender-spa.svg)
![](https://img.shields.io/david/dev/solarliner/vue-cli-plugin-prerender-spa.svg)
![](https://img.shields.io/npm/v/vue-cli-plugin-prerender-spa.svg)
![](https://img.shields.io/github/commits-since/solarliner/vue-cli-plugin-prerender-spa/1.1.5.svg)

**Looking for a co-maintainer**: I'm continuing to maintain this project, hoever
I still would like help on some of the issues, and generally to help me keep this
plugin going as it's getting more and more popular. If you think you can help,
file and issue for maintainship!

**Support requests**: Vue has a Discord server and I often lurk in there. And
while there is a support label in the Issues, GitHub isn't the place for support
requests and should be directed to me in the
[Vue Land Discord server](https://vue-land.js.org).

## Install

Add prerendering to your Vue application with:

```bash
vue add prerender-spa
```

or by searching for `prerender-spa` in the Vue UI plugins.

You'll be asked a few questions, detailed below, to which the default answers
are the most common options.

The main option to fit to your needs is the **list of routes to pre-render**.
Specify them as a comma-separated list:

```bash
? Which routes to pre-render? (list them separated by a comma) /,/about,/contact
```

## Options list

### Pre-rendered routes

```bash
? Which routes to pre-render? (list them separated by a comma) /
```

Specify a list of routes to pre-render. By default only the index page is pre-
rendered, which should cover most SPAs. If your project uses vue-router, you
can specify a list of routes that do not depend on dynamic content (like user
uploaded data, public profiles, etc.). For example you can add your about page
as well as a contact page - those will load faster, and will be indexed by bots
who do not execute JavaScript, improving Search Engines rankings.

Note that if you want to also pre-render user generated content, you _will_
have to switch to Server-Side Rendering, there are no other options.

#### What it does to your project

The list of routes is split into an array and passed into the Webpack plugin.
The routes aren't checked for existence or even duplicates, just split into an
array and sent to the `PrerenderSPAPlugin` instance.

### Event-triggered snapshot

```bash
? Use a render event to trigger the snapshot? Yes
```

Use a document event to signal `prerender-spa-plugin` to trigger a snapshot of
the DOM and save it. By default the renderer waits until `DOMContentLoaded` to
take a snapshot of the DOM. But it is still recommended that you control the
snapshot trigger - no surprise waiting for hours for your build before
realizing what's happening.

#### What it does to your project

When enabling the event-based snapshot trigger, it will tell
`PrerenderSPAPlugin` to listen for an `x-app-rendered` event. Your main file
is then modified to add a `mounted()` hook where the event will fire. Note that
it doesn't check if the hook is already present, nor does it parses the file;
it just looks for the line starting with `render:` (minus whitespaces) and
inserts the `mounted()` hook below. If you already have the hook set up, or if
your `render()` function on the main file is longer than one line, it will break
your Vue entrypoint. A better injection routine is planned, but for now, it
covers a vast majority of projects where the main file isn't touched.

### Use a headless browser for rendering

```bash
? Use a headless browser to render the application? (recommended) Yes
```

This option is there for debugging purposes, but **should be left enabled**
otherwise. Not using a headless browser will open a Chrome window when building
with your app running inside, then close once the snapshot has been taken.
Since the plugin configuration object isn't available, it is available here.

#### What it does to your project

The `headless` value of the configuration object is set to the answer to the
question.

### Only pre-render for production builds

```bash
? Only use prerendering for production builds? (recommended) Yes
```

Only load the pre-rendering plugin when building for production. This is
strongly recommended as the plugin, spawning an instance of the Chrome browser,
adds significant time to the build process. Development builds should be snappy
and not memory-intensive; which is exactly what this plugin does to your build.

However, there may be cases where you want to test the pre-rendering itself,
and switching to a production build isn't the solution - you may then turn off
that option.

### Indirect options

#### Parallel / Mutli-threaded

This option is configured from within the Vue CLI itself, but serves to a whole
host of plugins to determine whether to turn on parallel jobs / multi-threading.

This plugin uses it to tell `prerender-spa-plugin` to render pages concurrently
(meaning in parallel) or not by setting the `maxConcurrentRoutes` parameter to
either 1 or 4, if the build is respectively single-threaded or multi-threaded.

### Custom configuration

After being invoked, the plugin saves a file named `.prerender-spa.json` in the
root directory of the project; where you can specify custom options for the
Puppeteer renderer. It will be merged, and its options will overwrite those set
by the plugin itself.

Other way to set custom configuration for the Puppeteer renderer is to use `customRendererConfig`
dictionary of possible [Puppeteer launch options](https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#puppeteerlaunchoptions).

Example configuration of debugging your site with Chrome DevTools opened automatically:

```js
// vue.config.js

module.exports = {
  pluginOptions: {
    prerenderSpa: {
      registry: undefined,
      renderRoutes: [
        '/',
        '/about'
      ],
      useRenderEvent: true,
      onlyProduction: true,

      headless: false, // <- this could also be inside the customRendererConfig
      customRendererConfig:
      {
        args: ["--auto-open-devtools-for-tabs"]
      }
    }
  }
}
```

### User post processing function

Pupeteer allows to postprocess the HTML after it's been snapshot, and the plugin
allows you to provide your own function if you need to.

Add a `postProcess` option into your `vue.config.js` file to provide a custom
post-processing function to run on every build.

Example configuration:

```js
// vue.config.js

module.exports = {
  pluginOptions: {
    prerenderSpa: {
      registry: undefined,
      renderRoutes: [
        '/',
        '/about'
      ],
      useRenderEvent: true,
      headless: true,
      onlyProduction: true,
      postProcess: route => {
        // Defer scripts and tell Vue it's been server rendered to trigger hydration
        route.html = route.html
          .replace(/<script (.*?)>/g, '<script $1 defer>')
          .replace('id="app"', 'id="app" data-server-rendered="true"');
        return route;
      }
    }
  }
}
```

## Contributing

You are very welcome to contribute. To ask for a feature, or submit a bug, use
the Issues list. If you want to contribute a feature yourself, first submit an
Issue, work on your code, and add a Pull Request, referencing your issue in the
PR message. This way the isse can serve as a mean to discuss the feature, and
the Pull Request is where we can review the code and talk specificities.

In all cases, follow the templates carefully, in order to maximize information
throughput.

## Notices

### Backend routing configuration for deployments

Since the `index.html` is now (most likely, depending on your list of routes)
pre-rendered, pointing to it from another path will lead to whiteflashing as
the pre-rendered content (of the index page) will not match the expected
content of the route (say from an about page). For this reason, the plugin
outputs another file called `app.html` that doesn't get pre-rendered. **For
better user experience, it is recommended to route non-prerendered routes to
this file** instead of the default `index.html`.

Here's an example nginx configuration snippet:

```nginx
location / {
try_files $uri $uri/index.html $uri.html /app.html;
}
```

And an example Firebase configuration (taken from https://stackoverflow.com/a/51218261):

```json
"rewrites": [
  {
    "source": "**",
    "destination": "/app.html"
  },
  {
    "source": "/",
    "destination": "/index.html"
  }
]
```

### CI/CD workflows

Because the `prerender-spa-plugin` uses a headless Chrome instance, your
regular `node:latest` Docker image will not chug your build correctly; you need
system dependencies and configuration that might not be efficient to add to the
job itself - rather, it is recommended to switch to a Node.js + Puppeteer
image where you can just use your `install && build` workflow without any
additional configuration. I personally use the `alekzonder/puppeteer` image.

If you do decide on using alekzonder/puppeteer and you want to install global npm packages. The following commands can be used prior to the installation of your required global package to ensure that you do not receive an `EACCES: permission denied, access '/usr/local/lib/node_modules'` error. I have tested this using Gitlab CI.

```
- mkdir ~/.npm-global
- npm config set prefix '~/.npm-global'
- npm install -g @vue/cli-service-global
```

### Compatibility with other Vue CLI plugins

This plugin should be compatible with any plugin that doesn't add a `mounted()`
hook into the Vue entrypoint in your `main.{js,ts}` file, as this is the only
file it updates, and only if you choose an event-based snapshot trigger.

repository: SolarLiner/vue-cli-plugin-prerender-spa

branch_name: refs/heads/develop

repo_name: SolarLiner/vue-cli-plugin-prerender-spa


text:
# Invoke-IntunePolicySync
 A script to force the sync of Intune MDM Policies on a Windows 10 Device during first logon

# Invoke-IntunePolicySyncOniOSAndAndroid
 A script to bulk force update policies on all iOS and Android devices in your tenant

 **Read the comments in the script in order to use it sucessfully**

Or the Blog article at [Force Intune policy sync from a PowerShell script](https://www.scconfigmgr.com/2019/09/22/force-intune-policy-sync-from-a-powershell-script/)

repository: CuttyWise/invoke-IntunePolicySync

repo_name: CuttyWise/invoke-IntunePolicySync


text:
HTSlib is an experimental implementation of a unified C library for accessing
common file formats, such as [SAM][1] and [VCF][2], used for high-throughput
sequencing data.
HTSlib only depends on [zlib][3].
It is known to be compatible with gcc, g++ and clang.

HTSlib implements a generalized BAM index, with
file extension `.csi` (coordinate-sorted index). The HTSlib file reader first
looks for the new index and then for the old if the new index is absent.

HTSlib is unfinished. It has not been tested on large-scale real data. Some
useful APIs are missing.

[1]: http://samtools.sourceforge.net
[2]: http://vcftools.sourceforge.net/specs.html
[3]: http://zlib.net/

repository: pkrusche/vt

repo_name: pkrusche/vt


text:
# Sporidesmium copulatum Preuss SPECIES

#### Status
ACCEPTED

#### According to
Index Fungorum

#### Published in
Linnaea 8: 103 (1833)

#### Original name
Sporidesmium copulatum Preuss

### Remarks
null

repository: mdoering/backbone

repo_name: mdoering/backbone


text:
# react-password-validation

## About

The following code is a custom react hook that is used to validate passwords.
Feel free to clone and use :)

I love creating these easy to use code examples. If you could star my repo or give my medium article a clap it really helps me out.

## Includes the following password validtion:

- Minimum Character Validation
- Includes a number
- UpperCase
- LowerCase
- Includes Special Character
- Passwords Match

## Simple to get started

- Follow Me
- Clone Repo
- Npm install

### Resources

- Article/Guide
- https://medium.com/@steven_creates/creating-a-custom-react-hook-for-password-validation-46fc421c16ee

### Find Me

- LinkedIn: https://www.linkedin.com/in/steven-hofheins/
- Medium: https://medium.com/@steven_creates
- GitHub: https://github.com/StevenCreates

### If you end up cloning this more than once please star it


text:
---
layout: default
title: "Realtime"
---

# Realtime

React-admin provides hooks and UI components for collaborative applications where several people work in parallel. It allows publishing and subscribing to real-time events, updating views when another user pushes a change, notifying end users of events, and preventing data loss when two editors work on the same resource concurrently.

<video controls autoplay playsinline muted width="100%">
  <source src="./img/CollaborativeDemo.mp4" type="video/mp4" />
  Your browser does not support the video tag.
</video>

These features are provided by the `ra-realtime` package, which is part of the [Enterprise Edition](https://marmelab.com/ra-enterprise)<img class="icon" src="./img/premium.svg" />

## Backend Agnostic

The `ra-realtime` package supports various realtime infrastructures:

- [Mercure](https://mercure.rocks/),
- [API Platform](https://api-platform.com/docs/admin/real-time-mercure/#real-time-updates-with-mercure),
- [supabase](https://supabase.com/),
- [Socket.IO](https://socket.io/),
- [Ably](https://ably.com/),
- and many more.

That's because it uses the same _adapter_ approach as for CRUD methods. In fact, the `dataProvider` is used to send and receive events.

See the [Data Provider Requirements](./RealtimeDataProvider.md) page for more information.

## Publish/Subscribe

At its core, `ra-realtime` provides a **pub/sub mechanism** to send and receive real-time events. Events are sent to a topic, and all subscribers to this topic receive the event.

```jsx
// on the publisher side
const [publish] = usePublish();
publish(topic, event);

// on the subscriber side
useSubscribe(topic, callback);
```

`ra-realtime` provides a set of high-level hooks to make it easy to work with real-time events:

-   [`usePublish`](./usePublish.md)
-   [`useSubscribe`](./useSubscribe.md)
-   [`useSubscribeCallback`](./useSubscribeCallback.md)
-   [`useSubscribeToRecord`](./useSubscribeToRecord.md)
-   [`useSubscribeToRecordList`](./useSubscribeToRecordList.md)

## Live Updates

Ra-realtime provides **live updates** via specialized hooks and components. This means that when a user edits a resource, the other users working on the same resource see the changes in real-time whether they are in a list, a show view, or an edit view.

For instance, replace `<List>` with `<ListLive>` to have a list refreshing automatically when an element is added, updated, or deleted:

```diff
import {
-   List,
    Datagrid,
    TextField,
    NumberField,
    Datefield,
} from 'react-admin';
+import { ListLive } from '@react-admin/ra-realtime';

const PostList = () => (
-   <List>
+   <ListLive>
        <Datagrid>
            <TextField source="title" />
            <NumberField source="views" />
            <DateField source="published_at" />
        </Datagrid>
-   </List>
+   </ListLive>
);
```

<video controls autoplay playsinline muted loop>
  <source src="./img/useSubscribeToRecordList.webm" type="video/webm"/>
  <source src="./img/useSubscribeToRecordList.mp4" type="video/mp4"/>
  Your browser does not support the video tag.
</video>

This feature leverages the following hooks:

-   [`useGetListLive`](./useGetListLive.md)
-   [`useGetOneLive`](./useGetOneLive.md)

And the following components:

-   [`<ListLive>`](./ListLive.md)
-   [`<EditLive>`](./EditLive.md)
-   [`<ShowLive>`](./ShowLive.md)

## Menu Badges

Ra-realtime also provides **badge notifications in the Menu**, so that users can see that something new happened to a resource list while working on another one.

![MenuLive](./img/RealtimeMenu.png)

Use `<MenuLive>` instead of react-admin's `<Menu>` to get this feature:

```jsx
import React from 'react';
import { Admin, Layout, Resource } from 'react-admin';
import { MenuLive } from '@react-admin/ra-realtime';

import { PostList, PostShow, PostEdit, realTimeDataProvider } from '.';

const CustomLayout = (props) => (
    <Layout {...props} menu={MenuLive} />
);

const MyReactAdmin = () => (
    <Admin dataProvider={realTimeDataProvider} layout={CustomLayout}>
        <Resource name="posts" list={PostList} show={PostShow} edit={PostEdit} />
    </Admin>
);
```

This feature leverages the following components:

-   [`<MenuLive>`](./MenuLive.md)
-   [`<MenuLiveItemLink>`](./MenuLive.md)

## Locks

And last but not least, ra-realtime provides a **lock mechanism** to prevent two users from editing the same resource at the same time.

<video controls autoplay playsinline muted loop>
  <source src="./img/locks-demo.webm" type="video/webm"/>
  <source src="./img/locks-demo.mp4" type="video/mp4"/>
  Your browser does not support the video tag.
</video>

A user can lock a resource, either by voluntarily asking for a lock or by editing a resource. When a resource is locked, other users can't edit it. When the lock is released, other users can edit the resource again.

```tsx
export const NewMessageForm = () => {
    const [create, { isLoading: isCreating }] = useCreate();
    const record = useRecordContext();

    const { data: lock } = useGetLockLive('tickets', { id: record.id });
    const { identity } = useGetIdentity();
    const isFormDisabled = lock && lock.identity !== identity?.id;

    const [doLock] = useLockOnCall({ resource: 'tickets' });
    const handleSubmit = (values: any) => {
        /* ... */
    };

    return (
        <Form onSubmit={handleSubmit}>
            <TextInput
                source="message"
                multiline
                onFocus={() => {
                    doLock();
                }}
                disabled={isFormDisabled}
            />
            <SelectInput
                source="status"
                choices={statusChoices}
                disabled={isFormDisabled}
            />
            <Button type="submit" disabled={isCreating || isFormDisabled}>
                Submit
            </Button>
        </Form>
    );
};
```

This feature leverages the following hooks:

-   [`useLock`](./useLock.md)
-   [`useUnlock`](./useUnlock.md)
-   [`useGetLock`](./useGetLock.md)
-   [`useGetLockLive`](./useGetLockLive.md)
-   [`useGetLocks`](./useGetLocks.md)
-   [`useGetLocksLive`](./useGetLocksLive.md)
-   [`useLockOnCall`](./useLockOnCall.md)
-   [`useLockOnMount`](./useLockOnMount.md)

## Installation

```sh
npm install --save @react-admin/ra-realtime
# or
yarn add @react-admin/ra-realtime
```

`ra-realtime` is part of the [React-Admin Enterprise Edition](https://marmelab.com/ra-enterprise/), and hosted in a private npm registry. You need to subscribe to one of the Enterprise Edition plans to install this package.

You will need a data provider that supports real-time subscriptions. Check out the [Data Provider Requirements](./RealtimeDataProvider.md) section for more information.

## I18N

This module uses specific translations for displaying notifications. As for all translations in react-admin, it's possible to customize the messages.

To create your own translations, you can use the TypeScript types to see the structure and see which keys are overridable.

Here is an example of how to customize translations in your app:

```tsx
import polyglotI18nProvider from 'ra-i18n-polyglot';
import englishMessages from 'ra-language-english';
import frenchMessages from 'ra-language-french';
import {
    TranslationMessages as BaseTranslationMessages,
    raRealTimeEnglishMessages,
    raRealTimeFrenchMessages,
    RaRealTimeTranslationMessages,
} from '@react-admin/ra-realtime';

/* TranslationMessages extends the defaut translation
 * Type from react-admin (BaseTranslationMessages)
 * and the ra-realtime translation Type (RaRealTimeTranslationMessages)
 */
interface TranslationMessages
    extends RaRealTimeTranslationMessages,
        BaseTranslationMessages {}

const customEnglishMessages: TranslationMessages = mergeTranslations(
    englishMessages,
    raRealTimeEnglishMessages,
    {
        'ra-realtime': {
            notification: {
                record: {
                    updated: 'Wow, this entry has been modified by a ghost',
                    deleted: 'Hey, a ghost has stolen this entry',
                },
            },
        },
    }
);

const i18nCustomProvider = polyglotI18nProvider(locale => {
    if (locale === 'fr') {
        return mergeTranslations(frenchMessages, raRealTimeFrenchMessages);
    }
    return customEnglishMessages;
}, 'en');

export const MyApp = () => (
    <Admin dataProvider={myDataprovider} i18nProvider={i18nCustomProvider}>
        ...
    </Admin>
);
```

repository: marmelab/react-admin

repo_name: marmelab/react-admin


text:
# Natural-Language-Processing
Python application using 'NLTK' library to analyze author's writing style

Dataset used in this code is taken from https://www.gutenberg.org/ebooks/1404

repository: cv-hirtihk/Natural-Language-Processing

repo_name: cv-hirtihk/Natural-Language-Processing


text:
# Toolbar and Custom Filtering

In this part, we will learn the following:

* Introduction
* Use Custom Toolbar
* Toolbar Variables
* Custom Toolbar Example
* Custom Filtering

## Introduction

In the ZfcDatagrid, there is an area above the grid table which by default contains only
the export links, but you can use a custom toolbar to be used for many purposes,
like adding global actions, adding cutome filtering form, adding export links, and whatever
you want. Details on how to do this explained bellow.

## Use Custom Toolbar

To use a custom toolbar instead the default one you can do the following:
* Create a file that you will use as your toolbar, let us say that the file is in
`module/Application/view/layout` directory and is called `my-datagrid-toolbar.phtml`
* Copy the file `config/zfcdatagrid.local.php.dist` to your project directory
`config/autoload` and rename it to `zfcdatagrid.local.php`
* Edit the fine `zfcdatagrid.local.php` and add the following under the `'renderer'`
configuration key as the following:
```php
'renderer' => array(
    'bootstrapTable' => array(
        'templates' => array(
            'toolbar' => 'view/layout/my-datagrid-toolbar.phtml'
        )
    ),
)
```
By this the `ZfcDatadrig` will use the file `my-datagrid-toolbar.phtml` as a global
toolbar, i.e. it will be rendered for all of the grids in you application.

## Toolbar Variables

You can set variables for your custom toolbar as the following:
```php
$grid->setToolbarTemplateVariables(['myVariable' => 123]);
```
and then in your toolbar you can use the variable directly as
`$myVariable` or `$this->myVariable`

## Custom Toolbar Example

The following is an example of a toolbar, in which we make use of the module original
export toolbar. In this example we devided the toolbar into 3 parts, the first can be
used for global actions, the second can be used for filtering forms, and the last is
used for the module export links:
```php
<div class="row row-fluid" style="margin-bottom: 5px;">
    <!-- Actions (add, ...) -->
    <div class="span3 col-md-3 text-left">
        <?php if (isset($globalActions)) : ?>
        <?php foreach ($globalActions as $globalActionName => $globalActionURL) : ?>
        <a class="btn btn-primary btn-sm" href="<?php echo $globalActionURL; ?>">
            <?php echo $globalActionName; ?>
        </a>
        <?php endforeach; ?>
        <?php endif; ?>
    </div>

    <!-- Anything else (filter, ...) -->
    <div class="span6 col-md-6">
        <?php if (isset($middleToolbarTemplate)) {echo $this->partial($middleToolbarTemplate);} ?>
    </div>

    <!-- Export buttons -->
    <div class="span3 col-md-3 text-right">
        <?php echo $this->partial('zfc-datagrid/toolbar/export');?>
    </div>
</div>
```
In this example you can set the global actions like the following:
```php
$grid->setToolbarTemplateVariables(
    [
        'globalActions' => [
            $this->translate('New User') => $this->url()->fromRoute('application', ['controller' => 'user', 'action' => 'add']),
        ]
    ]
);
```

## Custom Filtering

After setting the middle area of the toolbar with a filtering form, the next step
will be how to filter the datagrid, the current way to do that is by getting the
form variables in your action and do the filtering by yourself, for example in the
action you can do the following:
```php
public function listUsersAction()
{
	...
    // Get the datasource to be used
    $users = $this->getUsersDatasource();

    // Get the filtering form and check for submitted values
    $username = 0;
    $form = $this->getServiceLocator()->get('Application\Form\User\UserFilterForm');
    $request = $this->getRequest();
    if ($request->isPost()) {
        $form->setData($request->getPost());
        if ($form->isValid()) {
            $username = $this->params()->fromPost('username', 0);
        }
    }

    // Do the filtering of your datasource based on the form variables
    if ($username != 0) {
    	// Filter the $users datasource
    }

    // After filtering set the datasource of the grid:
    $dataGrid->setDataSource($users);
    ...
}
```

### Navigation

* Continue to [**Exporting**](/docs/06.%20Exporting.md)
* Back to [Filtering](/docs/04.%20Filtering.md)
* Back to [the Index](/docs/README.md)

url: https://raw.githubusercontent.com/zfc-datagrid/zfc-datagrid/eb2d8db25130cca1896abaef1cefbc3dedc9a16e/docs/05. Toolbar and Custom Filtering.md

repository: zfc-datagrid/zfc-datagrid

filename: 05. Toolbar and Custom Filtering.md

gha_language: PHP

repo_name: zfc-datagrid/zfc-datagrid


text:
---
title: IDEA开启GO模块
date: 2022-07-13 23:24:10
permalink: /post/idea-opens-go-module-z1r2xdy.html
meta:
  - name: keywords
    content: idea go
  - name: description
    content: ideagoland类似配置goproxy=https_goproxycn
categories:
  - 默认分类
tags:
  - idea
  - go
author:
  name: terwer
  link: https://github.com/terwer
---

## IDEA

![image-20220713232449669](https://img1.terwergreen.com/api/public/20220713232455.png)

## GOLAND

类似配置

```bash
GOPROXY=https://goproxy.cn
```


text:
# Confi

Easy Python configuration interface built on top of python-decouple and click / typer.
Adding typing support and parsing with Pydantic and Enum.
Combine config values from .env, .ini, env-vars, and cli options
(Override order: .env < .ini < env-vars < cli)

## Simple config values

```python
from confi import Confi

# init confi as simple parser (Without model class)
confi = Confi(is_model=False)

# parse a string value from env-var, or '.env' '.ini' files
# MY_HERO will contain a string read from env, or the default - 'Son Goku'
MY_HERO = confi.str("MY_HERO", 'Son Goku')

# parse an int
POWER_LEVEL = confi.int("POWER_LEVEL", 9001, description="The scouter power reading")

# parse a pydantic model
# you can pass a valid JSON to the envvar

# define model
from pydantic import BaseModel
class MyPydantic(BaseModel):
    entries: List[int] = Field(..., description="list of integers")
    name: str
# parse the model from JSON passed to env-var (or default)
JSON = confi.model(
    "JSON",
    MyPydantic,
    {
        "entries":[ 1,3,43,5,7],
        "name": "Moses"
    }
)
```
### Add prefix to env vars
```python
from confi import Confi

# init confi as simple parser (Without model class)
# And with Prefix
confi = Confi(prefix="NEW_" is_model=False)

# parse a string value from env-var, or '.env' '.ini' files
# instead of loading the envar MY_HERO - will read from NEW_MY_HERO (due to prefix)
MY_HERO = confi.str("MY_HERO", 'Son Goku')
```

## Confi models
For more advanced parsing (e.g delayed loading), separating into groups, confi use confi models  (classes that derive from Confi and have value members)
The values are only loaded when the class is initialized.

```python
from confi import Confi, confi

class MyModel(Confi):
    # parse values
    MY_HERO = confi.str("MY_HERO", 'Son Goku')
    POWER_LEVEL = confi.int("POWER_LEVEL", 9001)
    # mix in real consts
    MY_CONST = "Bulma!"

# get the parsed values into an object
# can also apply prefix here
my_config = MyModel()
```

### Delayed loading
When you have config values that depend on one another; you can use `confi.delay()` to make sure they are loaded in when their dependencies are parsed.
Delayed values are loaded in the order they are written (e.g. higher lines first)
Delayed values can be default-value strings, default-value functions, or whole confi-entries

```python
class MyModel(Confi):
    MY_HERO = confi.str("MY_HERO", 'Son Goku')
    POWER_LEVEL = confi.int("POWER_LEVEL", 9001)
    # delay loaded default-value string
    SHOUT = confi.delay("{MY_HERO} is over {POWER_LEVEL}")
    # delay loaded default-value function
    EVENTS = confi.list("EVENTS", confi.delay(lambda MY_HERO="", SHOUT="": [MY_HERO, SHOUT]) )
    # delay loaded whole entry
    HAS_LONG_SHOUT = confi.delay(lambda SHOUT="":
        confi.bool("HAS_LONG_SHOUT", len(SHOUT) > 12 )
    )
```
## Confi cli parsing
on-top of envars you can also use command line
```python
# will trigger a command line interface
MyModel.cli()
```

repository: ZeChArtiahSaher/opal

repo_name: ZeChArtiahSaher/opal


text:
# Qt5.4 NaCl
This repository contains dockerFile to make an image based on Ubuntu 14.04 and containing Qt5.4 compiled with Google Chrome Native Client (NaCl).

## Buiding the image from dockerFile
In a termial go to the folder where have put Dockerfile.

Execute this command :

  ```
  $  docker build -t qtnacl5.4.2 .
  ```
It will take a lot of time !!!
Then execute this command to run a container :

  ```
  $  docker run -i -t qtnacl5.4.2 /bin/bash
  ```

The NaCl SDK is in

  ```
  /opt/nacl_sdk/pepper_(version)
  ```

The Qt compiled with Nacl is in

  ```
  /opt/QtNaCl5.4/
  ```
## Getting the image form Docker Hub
Instead of building yourself the image, it is automatically built each time the git repository is modified.

you can get the image by pulling it:

```
$ docker pull theshadowx/qt5.4-nacl
```

To use it, you'll need just to run a container:

```
$ docker run -it theshadowx/qt5.4-nacl
```

branch_name: refs/heads/fromScript

gha_language: Shell


text:
# SVG

```js
SVG (MODULE 11)

	SVG independent of resolution ie scales in and out with no loss of definition

		NATIVE HTML ELEMENTS BUILT WITH SCALAR GRAPHICS (LINES WHICH SCALE WELL WHEN
						MADE BIGGER OR SMALLER)
		MANIPULATE SAME AS ANY OTHER HTML ELEMENT

		APPLY CSS TO SVG

		HANDLE EVENTS SAME AS ANY OTHER HTML ELEMENT

		PERFORMANCE : DEPENDS ON NUMBER OF ELEMENTS ON PAGE

				MORE COMPLEX : USE CANVAS

	CANVAS

		PROVIDES A PLACES WHERE JAVASCRIPT CAN BE USED TO DRAW ON A PAGE

SVG

	BUILT INTO DOM
	SHAPES

		PATH
		RECT
		ELLIPSE
		POLYGON
	TEXT

	CREATE SVG ELEMENT

		<svg xmlns="http://www.w3.org/2000/svg">

	CSS EXAMPLE

		SVG{
			BORDER:2PX SOLID BLUE
			BACKGROUND-COLOR:LIGHT-GREEN
			WIDTH:300PX
			HEIGHT:200PX						==> WILL DRAW BACKGROUND OF SVG ELEMENT
		}

	FILL INSIDE

	STROKE OUTSIDE
		STROKE-WIDTH

	RECT
		X
		Y
		WIDTH
		HEIGHT

	CIRCLE

		CX
		CY
		R

	ELLIPSE

		CX
		CY
		RX
		RY

	POLYLINE

		POINTS X1 Y1,X2 Y2,X3 Y3
		FILL='NONE'

	POLYGON

		POINTS

	PATH : COMPLEX SHAPES

	LINEAR GRADIENT
	RADIAL GRADIENT
	PATTERN

	TEXT : AS REGULAR TEXT

		STROKE-WIDTH IS THICKNESS OF LINE

		FILL INSIDE

		STROKE OUTSIDE

	TEXTPATH : CAN BE USED TO PUT TEXT ON A PATH EG AROUND THE PERIMITER OF AN OBJECT

	SVG RANDOM TERMS

		SVG defines images in XML format which can be searched and changed etc
		SVG embedded using <embed src="http://www.w3schools.com/svg/circle1.svg" type="image/svg+xml" />
		SVG Events
		SVG for documents that scale well
		SVG for large screens as the image expands with no pixellation
		SVG good for static eg maps where re-rendering is not too frequent
		SVG iframe src="http://www.w3schools.com/svg/circle1.svg"></iframe>
		SVG images can be animated
		SVG is good for maps
		SVG is resolution independent
		SVG is XML , searchable, resizeable, can be animated
		SVG is XML good static images lousy fast moving images. scalable.
		SVG object data="http://www.w3schools.com/svg/circle1.svg" type="image/svg+xml"></object>
		SVG supports event handlers and listeners
		svg xmlns="http://www.w3.org/2000/svg" version="1.1">   <circle cx="100" cy="50" r="40" stroke="black"              stroke-width="2" fill="red"/>   </svg>

TRANSFORM (11-16)  (SEEN IN MODULE 6 ALSO)
	ROTATE(ANGLE,X,Y)   BY ANGLE 30DEG ABOUT POINT X,Y

	TRANSLATE(X,Y)		MOVE SHAPE BY X AND Y

	SCALE(X,Y)			MULTIPLE SIZE BY X AND Y

	SKEW()
	lab demo : MODULE 11 : sgvdocument.html
		hover over

	```


text:
---
uid: crmscript_ref_NSSelectionAgent_GetSelectionShadowMembersArchiveRows
title: NSArchiveListItem[] GetSelectionShadowMembersArchiveRows(Integer selectionId, String select)
intellisense: NSSelectionAgent.GetSelectionShadowMembersArchiveRows
keywords: NSSelectionAgent, GetSelectionShadowMembersArchiveRows
so.topic: reference
---

# NSArchiveListItem[] GetSelectionShadowMembersArchiveRows(Integer selectionId, String select)

Get the list of members in this selection's shadow (i.e. the list of contacts + persons referenced in the main selection).

**Parameters:**
 - **selectionId** The selectionId we want selection members for.
 - **select** (optional) Comma separated Column names to include in result. List of columns varies depending on the selection's TargetTable. e.g. 'name', 'firstname,name', 'startTime,firstname,name'

**Returns:** NSArchiveListItem[]

```crmscript
NSSelectionAgent agent;
Integer selectionId;
String select;
NSArchiveListItem[] res = agent.GetSelectionShadowMembersArchiveRows(selectionId, select);
```

repository: stianol/crmscript

repo_name: stianol/crmscript


text:
# SRS Toolkit for IDEA

![Build](https://github.com/ossrs/srs-toolkit-idea/workflows/Build/badge.svg)
[![Version](https://img.shields.io/jetbrains/plugin/v/16837.svg)](https://plugins.jetbrains.com/plugin/16837)
[![Downloads](https://img.shields.io/jetbrains/plugin/d/16837.svg)](https://plugins.jetbrains.com/plugin/16837)

SRS Toolkit for IDEA is a plugin for JetBrains IDEs that make it easier to write applications built
on [SRS](https://github.com/ossrs/srs) server.

[SRS](https://github.com/ossrs/srs) is a simple, high efficiency and realtime video server,
supports RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181.

**Features:**

* Download the source code of SRS, or docker images.
* Build SRS from source code, for macOS and Linux only.

## Installation

- Using IDE built-in plugin system:

  Settings/Preferences > Plugins > Marketplace > Search for "srs toolkit" >
  Install Plugin

- Manually:

  Download the [latest release](https://github.com/ossrs/srs-toolkit-idea/releases/latest) and install it manually using
  Settings/Preferences > Plugins > ⚙ > Install plugin from disk...

Winlin 2021.05


text:
# nets-forsendelse
A php class that converts flat file packages from the Nordic payment service provider NETS into php objects, and reversive.

The packages flat file content should be passed to the class constructor:
$packageObject = new NetsForsendelse($flatFile);

repository: kyegil/nets-forsendelse

repo_name: kyegil/nets-forsendelse


text:
# Lair of Xyrallion [![Build Status](https://travis-ci.org/MrDetonia/LairOfXyrallion.svg?branch=master)](https://travis-ci.org/MrDetonia/LairOfXyrallion)
### An open source, single player, D&D based roguelike written in C++.

---

**Warning: Lair of Xyrallion is currently in a pre-alpha state, and will be largely unfinished and at times completely broken. As such, versioning and a formal changelog will only be introduced when the game reaches a state that can be described as 'playable' i.e. most core features are complete.**

---

## The Game
Lair of Xyrallion is a fantasy roguelike RPG set in the fictional world of Aarim. The player must delve to the bottom of a series of ancient caverns in order to destroy the dragon Xyrallion, who threatens to destroy the land.

The game is based around the D&D 3.5e ruleset, and includes standard races, creatures, and classes. The game mechanics also utilise the D&D dice system.

## Building
### Requirements
To build the game, you will require a curses library. If you are unsure as to where to get one; Linux users should try [ncurses](https://www.gnu.org/software/ncurses/), wheras Windows users should instead try [PDCurses](http://pdcurses.sourceforge.net/).

Other than that, you will require a c++11 compatible c++ compiler, and a version of GNU Make. Linux users can obtain these from their package maintainer, and I recommend [MinGW](http://www.mingw.org/) for Windows users.

### Build Process
After checking the Makefile matches your system, simply run 'make' to build the binary executable in the bin directory.

## License
Copyright 2015 Zac Herd

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

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

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

A full copy of the Apache License, Version 2.0 is in LICENSE.md.


text:
# Insertion Sort
This challenge is the first in a series of sorting challenges. It creates a function which implements the insertion sort technique.

## Challenge
Write a function for insertion sort that takes in an unsorted array and returns the array sorted using insertion sort.

## Approach & Efficiency
- My approach involved creating an "outer" loop which iterated through each item in the input array.
- Next, a temp variable was used to hold each current index value, and a second variable, x,  was created to hold a position one less than the outer loop.
- An inner while loop was then used under the condition that we are not at the beginning of the array, and temp is less than the value at position x.
- The value at x is then moved forward one index, and the index at x is moved back one position.
- When the while loop terminates, we know x has reached the beginning of the list and the value at x is less than temp.
- The outer loop is then incremented a position, and this continues until the end of the array is reached.
- Efficiency: Time = O(n^2), Space = O(1)


text:
## URIError

A `URIError` is thrown when the URI handling functions are passed a malformed URI.

### new URIError([message][, fileName][, lineNumber])
- message (String): Human-readable description of the error
- fileName (String): The name of the file containing the code that caused the exception (Non-standard)
- lineNumber (Number): The line number of the code that caused the exception (Non-standard)

Creates a new URIError object.

repository: gjtorikian/cannolo

repo_name: gjtorikian/cannolo


text:
---
title: The Chore
date: '2016-12-30'
category: gamejam
image: ld37_5.png
tags: [game, jam, ludum, dare, ld, '37', haxe, haxeflixel]
description: The Chore is a game built with Haxeflixel for the Ludum Dare game jam.
comments: true
game_link: /games/ld37/index.html
---

The Chore is a game built with [HaxeFlixel](http://haxeflixel.com) in the 72 hour [Ludum Dare Jam](http://ludumdare.com/compo/ludum-dare-37/?action=preview&uid=23711). I handled the programming and audio for the game and the art was done by [@Moussetticus](https://twitter.com/Moussetticus). The theme for this jam was One Room and we created a sequence puzzle game about cleaning a room. Though the story of the game follows a darker path. You can look at the source code of the game on my [Github](https://github.com/cxsquared/LD37).

You've got one job today and that's to clean up the house. Hopefully you can do it before you significant other gets home. This choir might just test the relationship.

Click on objects to clean up the house. Make sure you don't make a mess of something you've already cleaned.

If you are interested you can read the postmortem about the game [here](/blog/the-chore-ld37-postmortem/)!


text:
# United flattered to deceive, says Solskjaer

Published at: **2019-11-03T00:26:07+00:00**

Author: ****

Original: [Malaymail](https://www.malaymail.com/news/sports/2019/11/03/united-flattered-to-deceive-says-solskjaer/1806357)

LONDON, Nov 3 — Ole Gunnar Solskjaer lamented a ‘lack of quality’ from his Manchester United side after their recent revival ended in a 1-0 Premier League defeat at Bournemouth yesterday.
Joshua King’s volley close to halftime brought United down to earth after three successive away wins in all competitions and means they have still not won back-to-back Premier League games since Solskjaer was made permanent manager in March.
Solskjaer had started with an attacking lineup featuring a front four of Marcus Rashford, Anthony Martial, Daniel James and Andreas Pereira but they made little impact after a bright start.
The closest they came to equalising was through teenaged substitute Mason Greenwood late on as they huffed and puffed in windy conditions on the south coast.
“The front four looked promising but flattered to deceive a little bit today,” said Solskjaer, whose side have 13 points from 11 games and sit in mid-table.
“It looked like we could create chances but just didn’t have the last pass or last finish and that’s something we need to improve. We had a lack of quality at times in front of goal.
“It was not a fantastic game of football. To win games you have to score goals.”
Defeat left United seven points behind fourth-placed Chelsea who were in action at bottom club Watford later.
“It’s one of those things that if you want to be challenging for top four, you need to be winning games like this,” Solskjaer said.
“We’re disappointed. You have got to react, you have got to recover. We have two more games before the international break, we’ve got a chance on Thursday to qualify in Europe and then Brighton at home — so we need a response.” — Reuters

license: Unlicense

repository: dsadlollioygjmzvcxv/tdc-exported

repo_name: dsadlollioygjmzvcxv/tdc-exported


text:
# super-xbr

A port of [Hyllian](mailto:sergiogdb@gmail.com)'s Super-xBR algorithm (http://pastebin.com/cbH8ZQQT) to JavaScript.

Scales raw image data by 2x using the Super xBR algorithm.
https://en.wikipedia.org/wiki/Image_scaling#xBR_family

### Usage

```
import superxbr from 'super-xbr';
const scaledPixels = superxbr(originalPixels, width, height);
```

#### Params

- `data`: an `W*H` array of 32-bit integers. The element at position `i` should be the RGBA pixel at `x = i%W, y = i/W`.
- `width`: width of the image in pixels.
- `height`: height of the image in pixels.

#### Return value

An array of size `4*W*H` representing the enlarged image.
The format will be same as the expected input for `data`.

### Sample

Created using `test.js test-original.png test-2x.png` (requires `npm install canvas`)

| Original | Scaled 2x |
|----------|----|
|||

repository: hansonw/super-xbr

repo_name: hansonw/super-xbr


text:
# Examples
## This folder contains example files of what each mime type export might look like.

> :warning: **Warning!**
> Do not alter the other files in this folder, even the spacing is important to understanding how to parse it.

**Recipes Google Drive Folder**
[Link](https://drive.google.com/drive/folders/1_95w5ndhTWT0MR2vS7PFCbz-q9SqTQ1m)
1_95w5ndhTWT0MR2vS7PFCbz-q9SqTQ1m

**Vegan Lavender Sugar Cookies w/Earl Grey Glaze**
[Link](https://docs.google.com/document/d/1OdGB4M8qoEJ2NrIGKSH_r4TZl26qVV9hQsdPuSO1r4Y/)
1OdGB4M8qoEJ2NrIGKSH_r4TZl26qVV9hQsdPuSO1r4Y

repository: theredwillow/vegan-family-cookbook

repo_name: theredwillow/vegan-family-cookbook


text:
---
layout:
title: "1 - Introduction to Flask"
excerpt: "Installation and other starting information."
tags:
    - python
    - flask
---

What's up everyone. For this tutorial series we will be focusing on backend python development using Flask. Flask is a "micro webdevelopment framework for Python". The micro just means that Flask likes to keep it simple.

We are going to jump right into it, but I will warn that these tutorials are not for the python beginner (although I'm just that beginners who have experience with code will be able to figure it out). I suggest having some knowledge of python before starting this.

## Installation
When working with python projects, I think it is very important for everyone to be organized. This means keeping everything in a virtual environment. Virtual environments pretty much just puts a container around your app. This way you can download all sorts of dependencies that will only download and effect your application. Say you have two very large projects that use different versions of a particular dependency. This way we can keep things seperate and organized.

Open a shell:
```bash
# OSX
$ sudo pip install virtualenv
# Linux
$ sudo apt-get install python-virtualenv
```

Now that we have our virtual environment dependency downloaded, we can actually create a container for our first project:
```bash
$ mkdir project1
$ cd project1
$ virtualenv venv
New python executable in venv/bin/python
Installing setuptools, pip, wheel............done.
```
To move into using your virtual environment:
```bash
$ . venv/bin/activate
```

If you would like to deactivate your venv:
```bash
$ deactivate
```

For now let's keep ourselves in our virtual environment. You should be able to see (venv) on your command line denoting that you are currently in your virtual environment.

To download Flask (finally):
```bash
$ pip install Flask
```

## Quickstart

The following converters exist:
string
int
float
path
any
uuid

HTTP Methods
```python
from flask import request

@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        do_the_login()
    else:
        show_the_login_form()
```
possible methods:
GET
HEAD
POST
PUT
DELETE
OPTIONS


text:
# CloudCalc

## allows you to calculate a set of values with labels, then use those labels in later calculations.

how to run

```
  npm install
  createdb CloudCalc
  createdb CloudCalc-test
  npm run start-dev
```

app will be running on http://localhost:8080

repository: impomales/CloudCalc

repo_name: impomales/CloudCalc


text:
---
external help file: ISEScriptingGeek-help.xml
Module Name: ISEScriptingGeek
online version: http://jdhitsolutions.com/blog/2014/09/friday-fun-creating-powershell-scripts-with-powershell
schema: 2.0.0
---

# Get-ScriptComments

## SYNOPSIS

Get comments from a PowerShell script file.

## SYNTAX

```yaml
Get-ScriptComments [-Path] <String> [<CommonParameters>]
```

## DESCRIPTION

This command will use the AST parser to go through a PowerShell script, either a .ps1 or .psm1 file, and display only the comments.

## PARAMETERS

### -Path

Enter the path of a PS1 file

```yaml
Type: String
Parameter Sets: (All)
Aliases: PSPath, Name

Required: True
Position: 1
Default value: None
Accept pipeline input: True (ByPropertyName, ByValue)
Accept wildcard characters: False
```

### CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable.
For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216).

## INPUTS

## OUTPUTS

## NOTES

Learn more about PowerShell: http://jdhitsolutions.com/blog/essential-powershell-resources/

## RELATED LINKS

repository: jdhitsolutions/ISEScriptingGeek

gha_language: PowerShell

repo_name: jdhitsolutions/ISEScriptingGeek