text:
# Bibliographic Citations

Lantern supports the automatic generation of citations and bibliographies. Citations are rendered using the [Citation Style Language](https://docs.citationstyles.org/en/stable/specification.html) specification. By default, Lantern uses the [Chicago Manual of Style](https://chicagomanualofstyle.org/) author-date format. Lantern uses the [BibTeX](https://en.wikibooks.org/wiki/LaTeX/Bibliographies_with_biblatex_and_biber) file format for storing reference entries, but you can use other formats if you prefer.

**Process:**

- Add a citation to a bibliographic data file
- Reference the citation using a unique identifier

## Bibliographic Data Files

We recommend storing bibliographic references in separate files stored in the `/source/` folder along with your other textbook contents. Lantern provides `references.bib` file for you to add your textbook's bibliographic data. You can add to this file manually or supply your own file. Many reference managers (e.g. Zotero, EndNote, etc.) will allow you to export bibliographies in machine-readable formats. Lantern can use this bibliography formats:

| Format | File extension |
|-|-|
| BibLaTeX | `.bib` |
| BibTeX | `.bibtex` |
| CSL JSON | `.json` |
| CSL YAML | `.yaml` |

The easiest way to format a citation for machine-readability is to search for the item in [Google Scholar](https://scholar.google.com/), click on the citation button, then select the `BibTeX` option. This will render the `BibTeX` citation in your web browser for you to copy and paste into `references.bibtex` file.

![Screenshot of the Citation Button of a Google Scholar Entry](bib_gs-citation-button.png)

![Screenshot of the BibTeX Link of a Google Scholar Entry](bib_gs-bibtex-button.png)

![Screenshot of the BibTex Citation Displayed in the Browser](bib_gs-citation.png)

Here's an example of a `BibTeX` citation:

```t
@article{krewinkel2017formatting,
  title={Formatting Open Science: agilely creating multiple document formats for academic manuscripts with Pandoc Scholar},
  author={Krewinkel, Albert and Winkler, Robert},
  journal={PeerJ computer science},
  volume={3},
  pages={e112},
  year={2017},
  publisher={PeerJ Inc.}
}
```

Most reference management software will let you export your bibliographies as a file in one or more of these formats. We recommend either the `.bib` or `.bibtex` formats for best results. After your export the file, you can either copy and paste the text to the `references.bibtex` file, or add the file itself to the `/source/` directory.

If the bibliography you use has a different file name than `references.bib`, you'll need to edit the `Makefile` entry for `BIBLIOGRAPHY` to point to your new bibiliography file. For example, if I wanted to use a bibiliography file called `textbook.yaml`, I would edit the `Makefile` to specify: `BIBLIOGRAPHY = textbook.yaml`.

## In-text Citations

Within the markdown chapter files (`/source/chapters/`), citations go inside square brackets. Multiple references within citations are separated by semicolons.

Each citation must have a unique identifier that is composed of `@` + the citation identifier from the bibliographic data file. Unique identifiers for citations typically follow a naming convention: author's last name + publication year + first word of title (no spaces, all lowercase). In the above example, the unique identifier is `krewinkel2017formatting`.

The citation key must begin with a letter, digit, or `_`, and may contain alphanumerics, `_`, and internal punctuation characters (`:.#$%&-+?<>~/`). Here are some examples:

```

Blah blah [see @doe99, pp. 33-35; also @smith04, chap. 1].

Blah blah [@doe99, pp. 33-35, 38-39 and *passim*].

Blah blah [@smith04; @doe99].

```

For more information about in-text citation formatting, see [Pandoc's citation syntax documentation](https://pandoc.org/MANUAL.html#extension-citations).

repository: dzoladz/lantern

repo_name: dzoladz/lantern


text:
---
title: "Abstraction levels in editing programs"
authors: [John C G Sturdy]
abstract: "Traditionally, text editors for program text have operated largely at the level of
lines and characters, and their users have made their changes largely character
by character, with “cut and paste” and “find and replace” as their only more
powerful actions.

Some editor users may think of changes to source code in those terms, too,
but it is also possible that some, perhaps the more experienced programmers,
think at a higher level of abstraction, such as syntax trees, and would be able
to work more efficiently with tools that match the way they think.

Some such tools have now begun to appear, typically described as “refactoring
tools”; some of them are integrated into editors and Integrated Development
Environments (IDEs) such as Eclipse, NetBeans, IntelliJ, and Visual Studio; and
some are separate command-line programs.

It may also be the case that the provision of such tools will help to train or
educate programmers to think of their work in a more abstract way; this effect
may appear naturally as experienced programmers go about their work, or could
be done deliberately in the training of novice programmers.

This research sets out to explore some editing tools that work at higher levels
of abstraction than lines and characters, investigating first their design, and then
moving on to empirical research to find their usefulness and effects."
publishedAt: "ppig-2006"
year: 2006
url_pdf: "/files/2006-PPIG-18th-sturdy.pdf"
---

license: MIT

branch_name: refs/heads/master

extension: md

gha_language: HTML

gha_license_id: MIT

license_type: permissive


text:
---
title: Scrollspy
slide: ''
---

# Scrollspy

 go.raybo.org/4AJT

> >

Scrollspy provides a way for a nav or a list group to keep track of how a separate element is scrolling.

---

# Scrollspy Data

- `nav`

  - `data-bs-spy="scroll"`
  - `data-bs-spy="ID"`
  - `data-bs-offset="AMT"`

- `position-relative`

Nav Scrollspy Navbar

> >

In terms of implementation, it's pretty simple. There are two parts. The element you want to spy and the element that you want to modify.

On the element you want to spy, you add a `data-bs-spy="scroll"` as wel as `data-bs-spy="ID"` with the ID of the element you want to track.

The element you want to spy is usually the body tag since you often want to track how someone is scrolling through a document, but it doesn't have to be the body, it can be any element on the page.

Another caveat is that the element you want to track needs to have a position relative attribute somehow. Otherwise, the tracking won't work properly.

Sometimes if menu are positioned a certain way, you'll need an extra property called `data-bs-offset` with the height of the menu.

To make this all work you'll need IDs around each of the content in the target that you want to trigger the change. In the navigation, you add an href partial with a hastag pointing to that link.

branch_name: refs/heads/main


text:
# word-count-combined
Include MPI, Hadoop and Spark for counting word frequencies and character frequencies

## Comparisons between Spark, MPI and Hadoop

<img src = 'demo.png'>

repository: yudeweiUSC/word-count-combined

repo_name: yudeweiUSC/word-count-combined


text:
---
layout: default
---

# 1997-02-01 - PGP Source code implementation

## Header Data

From<EMAIL_ADDRESS>(Huge Cajones Remailer)

To<EMAIL_ADDRESS>Message Hash: ba0d5d21c22aa2d7e845a32d065a6419327772d11276f973fd46e6d68ece57a1

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1997-02-01 04:11:45 UTC

Raw Date: Fri, 31 Jan 1997 20:11:45 -0800 (PST)

## Raw message

```
{% raw  %}From<EMAIL_ADDRESS>(Huge Cajones Remailer)
Date: Fri, 31 Jan 1997 20:11:45 -0800 (PST)
To<EMAIL_ADDRESS>Subject: PGP Source code implementation
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

Dainty Virus K[ankersore]OTM wears satin lingerie embroidered
with pink swastikas, prancing around for his homosexual, AIDS
infected lovers.

   ,/         \,
  ((__,-"""-,__))
   `--)~   ~(--`
  .-'(       )`-, Dainty Virus K[ankersore]OTM
  `~~`d\   /b`~~`
      |     |
      (6___6)
       `---`

{% endraw %}
```

## Thread

+ Return to [February 1997](/archive/1997/02)

+ Return to<EMAIL_ADDRESS>(Huge Cajones Remailer)](/authors/nobody_at_huge_cajones_com_huge_cajones_remailer_)"

+ 1997-02-01 (Fri, 31 Jan 1997 20:11:45 -0800 (PST)) - PGP Source code implementation -<EMAIL_ADDRESS>(Huge Cajones Remailer)_


text:
# XBee3 MicroPython INA219

This project has instructions and code for wiring up an INA219 current
and voltage sensing chip with an XBee3 with MicroPython and filesystem support.

Specifically this project uses a Digi XBee Cellular LTE Cat 1 Verizon development
kit (XKC-V1T-U) with an Adafruit INA219 FeatherWing.

##### Wiring
1. Connect the 3Vo pin of the FeatherWing to the VCC pin of the XBee Cellular dev board
2. Connect the GND pin of the FeatherWing to the GND pin of the XBee Cellular dev board
3. Connect the scl pin of the FeatherWing to the D1 (DIO1) pin of the XBee Cellular dev board
4. Connect the sda pin of the FeatherWing to the P1 (DIO11/PWM1) pin of the XBee Cellular dev board

![xbee_to_ina219](https://github.com/cpopp/XBee3-MicroPython-INA219/raw/master/images/xbee-ina219.jpg)

##### Update firmware and format filesystem

Make sure you're running a version of firmware tha supports a filesystem
for your XBee device.  If this is the first time upgrading to firmware
supporting a filesystem you may need to format it with:

    ATFS FORMAT confirm

##### Dependencies
Download the following files.  We'll use them for interacting with the INA219.

https://raw.githubusercontent.com/micropython/micropython-lib/master/logging/logging.py
https://raw.githubusercontent.com/chrisb2/pyb_ina219/master/ina219.py

##### Cross compiling dependencies
To reduce memory use we'll cross compile the dependencies so we can upload
the compiled variants rather than the source files that can take more than
the available memory to compile.

You can use pip to install the cross compiling tools

    pip install mpy-cross

and then cross compile the dependencies with the following flags to ensure
the compiled files are compatible

    python -m mpy_cross -mno-unicode -msmall-int-bits=31 logging.py
    python -m mpy_cross -mno-unicode -msmall-int-bits=31 ina219.py

##### Uploading dependencies
Upload logging.mpy and ina219.mpy to your device.

Go ahead and upload math.py at this time as well.  You can cross compile
it if you want, but it's a very tiny module that just includes the trunc
method which ina219.py uses.  If your device happens to support the
math module natively you can skip this step.

##### Our code
Running our code.  The code in xbee_ina219.py sets up the XBee Cellular i2c
device and passes it to the INA219 library and then prints out a power reading.

To run this code you can use the flash compile mode on the XBee.  Copy the code in
xbee_ina219.py and then hit Ctrl-F in a MicroPython interpreter terminal.  Paste the
code and hit Ctrl-D.  Enter N to skip running the code automatically.  You can now
hit Ctrl-R to run the code and get a power reading.

##### Wiring up a load
1. The positive voltage of your supply should go to the Vin+ of the INA219 board
2. The Vin- of the INA219 breakout should go to the supply side of the load
3.  The ground side of your load should also go to the ground of the INA219 breakout for voltage measurement

##### Example load
I used a USB power supply and tested a 220 ohm resistor as my load wired up as shown in this image:

![ina219_load](https://raw.githubusercontent.com/cpopp/XBee3-MicroPython-INA219/master/images/load.jpg)

with the the following output after running the code in xbee_ina219.py:

    Running 388 bytes of stored bytecode...
    Bus Voltage: 5.208 V
    Current: 23.805 mA
    Power: 123.902 mW

We can calculate the expected power dissipation of a resistor with V^2/R,
so (5.208^2)/220 = 123.29 mW shows we have a very reasonable measured
power and current.

##### References

XBee Cellular User Guide: https://www.digi.com/resources/documentation/digidocs/90001525
Digi MicroPython Programming Guide: https://www.digi.com/resources/documentation/digidocs/90002219
Adafruit INA219 Tutorial: https://learn.adafruit.com/adafruit-ina219-current-sensor-breakout
INA219 MicroPython Library README: https://github.com/chrisb2/pyb_ina219


text:
##  Miscellaneous Shipment (MSHIP.E)

<PageHeader />

**Form Details**
[ Header ](MSHIP-E-1/README.md)
[ Line Items ](MSHIP-E-2/README.md)
[ Packages ](MSHIP-E-3/README.md)
[ Change History ](MSHIP-E-4/README.md)
[ Attachments ](MSHIP-E-5/README.md)

**Purpose**
The MSHIP.E procedure is used to enter miscellaneous shipments in the system. This procedure can both create new records and update existing records. Data can be defaulted into the header and line items by entering a document type and document number. Quantities, inventory locations, lots, and bin numbers can be entered. The status of the record defaults to "N"ew and can be changed to "S"hipped. When the status is changed to Shipped, if there are any line items with from and to locations, an inventory transaction will be done for those items. Also when the status is changed to Shipped, the data will be interfaced to the appropriate freight carrier, if so designated on the [ SHIP.CONTROL ](SHIP-CONTROL/README.md) record.

If an MSHIP record was created automatically through a debit receipt ( [ RECEIPTS.E2 ](RECEIPTS-E2/README.md) ), then the "debit receipt" flag will be checked, and this record cannot have any of it's line item data changed through MSHIP.E. When it's status is changed to "S", then the normal debit receipt update process will occur the same as it would through [ RECEIPTS.E2 ](RECEIPTS-E2/README.md) . If the debit receipt is subsequently reversed, then the MSHIP record will be updated to status "C"ancelled.

There is no financial impact from this shipment transaction, except if inventory transactions occur. It is mainly a method of recording material being shipped for reasons other than sales orders and to generate paperwork (packing slip) for the items. The [ MSHIP.F1 ](MSHIP-F1/README.md) can be used to print a packing slip.

**Frequency of Use**
As required.

**Prerequisites**
Initialization of the Ship control record ( [ SHIP.CONTROL ](SHIP-CONTROL/README.md) ), if desired.

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

<PageFooter />

repository: zumasys/docs

gha_language: JavaScript

repo_name: zumasys/docs


text:
## All

### Get started

```sh
npm i "@axa-fr/react-toolkit-all"
```

Reference every "react-toolkit" modules

repository: oussamahamdaoui/react-toolkit

repo_name: oussamahamdaoui/react-toolkit


text:
---
layout: default
---

# 1996-04-04 - Re: java: vending machine software (long)

## Header Data

From: "Vladimir Z. Nuri"<EMAIL_ADDRESS>To: Ted Anderson<EMAIL_ADDRESS>Message Hash: 865fdbc8267f5286e4bb6bcd4d58ad071276c9456e7b1233a6e74b93b05a6a7b

Message ID<EMAIL_ADDRESS>Reply To<EMAIL_ADDRESS>UTC Datetime: 1996-04-04 11:08:21 UTC

Raw Date: Thu, 4 Apr 1996 19:08:21 +0800

## Raw message

```
{% raw  %}From: "Vladimir Z. Nuri"<EMAIL_ADDRESS>Date: Thu, 4 Apr 1996 19:08:21 +0800
To: Ted Anderson<EMAIL_ADDRESS>Subject: Re: java: vending machine software (long)
In-Reply-To<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

TA:
>The most interesting thing I've heard along these lines was described
>in a talk by Matthew Fuchs.   He suggested the idea of using something
>like SGML (of which HTML is a subset) to communicate between smart
>agents.
>
..
>Further, the system can be built out of layers of objects that give
>meanings to various keywords.  Consider a bunch of keywords and
>associated Java applets that understand dates and times (they know about
>timezones and daylight savings and weekends and so forth).  Another
>level of objects knows how to manage schedules, and still another
>layer knows about travel arrangements.  The system used by a particular
>airline uses all these objects to provide an interface for communicating
>with customers (or their automated agents).
>
>Java seems ideal suited to be the active lubricant in such a system.

yes, I didn't get into some of what you are talking about in my essay,
but that's something very significant that is going on right under
our noses this minute: the formatting of vast kinds of data into
SGML systems.  I have a book called "writing SGML DTDS". it seems
pretty boring-- it talks about how to create tags and all that, and
doesn't give a "big picture scenario" of what this technology can
lead to-- which is unfortunate, because the end result of it it
all is extremely significant.

the framework I like to use to describe this technology is to portray
it as the steps that are necessary to create the "paperless office".
this was a holy grail that computers were supposed to deliver many
years ago, and many have noted the irony that the exact opposite seems to have
happened in that computers are generating mountains of paper.

it is clear that to achieve the paperless office, many, many standards
have to be devised an adhered to for the formatting of information in
documents.  SGML is intended to be a high-level total overview
architecture that can encompass all document definitions created by anyone,
and allows embedding of different formats within formats, so that a
massive hierarchy of interchangeable formats can be constructed.

EDI or electronic data interchange format for billing that many companies
are using (I don't know anything about it I assure you) is an example
of the kind of standardization that is gradually taking place.

whether Java is the "ideal language" to handle all this I think remains
to be seen. I expect amny new languages and concepts to be developed
that focus on the creation/manipulation of document standards. an
object-oriented paradigm will be important in this endeavor, though,
I agree. your idea of relating "documents" and "objects" I definitely
expect to see as a strong emerging paradigm.

a document will be thought
of as an "object" whose local data are the blanks in the form, and the
document can perform some operations on that data using its "methods".
also the hierarchy you described is very nicely imposed on documents:
a very general "bill" class might have only a "payer/payee/amount/desc"
fields, and all kinds of comkpanies would create their unique
subclasses that describe their own internal company forms. general
methods would be overridden, etc.

what this is all moving toward, imho, is a kind of  "information assembly
line". imagine every task in the world today that involves nothing
but shuffling information from one form to another, in a way that
requires "logic" but not human intelligence (i.e. could be programmed
if the data were available in digital form and inputs/outputs were hooked
up properly). I predict that wherever this is the case, there is going
to be a gradual motion toward automization of these processes.

also note that the concept of an "object" tends to become far less
local and more universal. there may be "objects" "out there" in cyberspace
that you can manipulate and subclass as if they were sitting on your
own computer. but because they are so universal, other companies or
individuals anywhere on the planet may be using the same objects. at
various levels in the hierarchies of data, it is all interchangeable
and related.

this all suggests an amazing new collaboration between
companies to create standards where everyone benefits. in today's
system, companies tend to behave as if they are isolated entities who
all survive at the expense of the other. I believe this concept will
largely dissipate as companies see themselves as fitting into special
places in a characteristic "niche" of the ecosystem of business. they
will see themselves as components in a massive computing system that
interface to each other via cyberspace. cyberspace becomes then a
kind of nervous system for an entire nation (which it already is,
just not as overtly).

it is quite surprising that given how far we are into the Information Age
how much information and data has resisted the gradual trend toward
automization. many, many companies are interested in "reengineering"
for this reason: they want to take full advantage of technology, but
realize how incredibly difficult this is to do when you have
decades of "status quo" type procedures calcified into the system that
tend to be hostile & resistant towards automization.
the job of turning documents into data is actually quite herculean--
we have a tendency to see it as trivial but the amount of labor involved
in "conversion" can be enormous. the payoffs are very significant once
you have converted your atoms to bits, though.

the corporations of the future I imagine will have incredible fluidity
without the cost in lack of security. in other words, they will
be able to dynamically "re" configure themselves to suit the instant
because they will have highly organized and malleable
"central nervous systems" that govern the information flow within them.
these systems will be built out of massive hierachies of document
format standards and enormous, seamless flows of data.

someday, I think every form that is in existence will have an
electronic description similar to SGML syntax, and every aspect of
data shuffling in companies and between them that can be automated,
will be.  its going to be quite awhile before this achieved however.

thanks for your reactions to the writing, which have caused a whole new
avalanche of neurons to fire.. <g>

{% endraw %}
```

## Thread

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

+ Return to<EMAIL_ADDRESS>(Matthew Fuchs)](/authors/matt_at_wdi_disney_com_matthew_fuchs_)"
+ Return to "[Ted Anderson <ota+@transarc.com>](/authors/ted_anderson_ota_at_transarc_com_)"
+ Return to "["Vladimir Z. Nuri" <vznuri@netcom.com>](/authors/vladimir_z_nuri_vznuri_at_netcom_com_)"

+ 1996-03-29 (Fri, 29 Mar 1996 23:26:06 +0800) - [java: vending machine software (long)](/archive/1996/03/7ee680e351f17081bcb989a1e81c52e40cd5da39175fd416b6629d3002c0ca0c) - _"Vladimir Z. Nuri"<EMAIL_ADDRESS>  + 1996-04-04 (Thu, 4 Apr 1996 16:38:26 +0800) - [Re: java: vending machine software (long)](/archive/1996/04/d11fdf8977eb500e8c4ad1a5e62824446be77b93c56c388c32a66088551d3890) - _Ted Anderson<EMAIL_ADDRESS>    + 1996-04-04 (Thu, 4 Apr 1996 19:08:21 +0800) - Re: java: vending machine software (long) - _"Vladimir Z. Nuri"<EMAIL_ADDRESS>    + 1996-04-05 (Fri, 5 Apr 1996 17:32:41 +0800) - [Re: java: vending machine software (long)](/archive/1996/04/4fa6e71f5a6a9feb1af2045a48a565fa076d4318603cd77afb70543081c36f55) -<EMAIL_ADDRESS>(Matthew Fuchs)_


text:
---
layout: default
title: Dark Mode
parent: Customisation
grand_parent: iOS Integration
nav_order: 2
permalink: /docs/ios/customisation/dark-mode
---

# Dark Mode

{: .no_toc }

The SDK supports dark mode, but it is disabled by default. It can be enabled or set to follow system settings.

---

## Set up

You can configure dark mode support in the SDK by setting the property `userInterfaceStyle` in the `CTStyle` class.

{: .note}
By default, dark mode is off.

The following values are supported:

```java
.dark // Forces to be always dark mode
.light // Default - Forces to be always light mode
.system // Use user system settings to determine if is light/dark mode
```

Dark mode colors can be configured using `CTStyle` and dark mode properties:

```java
let style = CTStyle(theme: .dark,  // .dark or .light
                        primaryColor: UIColor.gray)
style.userInterfaceStyle = .system
style.dmPrimaryLightColor = UIColor.lightGray
style.dmPrimaryDarkColor = UIColor.darkGray
style.dmCtaColor = UIColor.blue
style.dmCtaFontColor = UIColor.white
style.dmSecondaryCtaColor = UIColor.black
style.dmSecondaryCtaFontColor = UIColor.white
```

After configuring the `CTStyle` object, pass it into the SDK during initialisation:

```java
// In application(_:didFinishLaunchingWithOptions:)
    CarTrawlerSDK.sharedInstance().initialiseSDK(with: style,
                                customParameters: nil,
                                production: false)
```

gha_language: SCSS


text:
#
 Library of reusable microservices

Microservices architectural style is quickly becoming popular among software developers.
But variety of languages, platforms and frameworks, as well as lack of standards
make it difficult to find ready-to-use components that you can drop and use into your system.
SaaS services offer fairly good solution to that problem. But they also come with difficult tradeoffs.
You have to give up control over functionality and data. You may pay extra to SaaS providers.
You are limited to features that are given to you and so on. Moreover, not everything can and shall
run on the cloud. In that case SaaS services is not a good help.

Pip.Services team offers a different solution - a collection of reusable microservices
that you can take, modify and deploy as a part of your own system. You regain full control over
functionality and operations. You are able to pick any type of persistence storage,
infrastructural components like logging, performance and health monitoring. You can deploy
microservices on virtually any platform and use them from any programming language.

That level of flexibility becomes possible due to [componentized microservice architecture](design/Architecture.md).
You can simply take a microservice, pick the necessary components for persistence, logging, caching, discovery,
performance counters, service endpoints and client connectors and describe it in [microservice configuration](usage/Configuration.md).
After that microservice is ready to be deployed in the target development or production environments.

Below you can see the list of options you can choose from. Specific microservice may or may not have all of them.
Please, refer to the microservice documentation for details.

- **Languages**: Java, .NET, Node.js, Go, Python. Ruby is planned to be added in the future
- **Deployment**: System processes, Windows services and Linux demons, Docker containers, AWS Lambda,
Seneca.js, Tomcat container, Spring container, Microservice Service-Fabric, ...
- **Persistence**: In-memory, Files, MongoDB, Couchbase, Cassandra, MySQL, SQL Server, AWS S3, ...
- **Communication protocols**: HTTP REST, Seneca, Thrift, Direct, Kafka, ActiveMQ, ZeroMQ, ...
- **Discovery**: Static, Custom, Consul, Etcd, ...
- **Logging**: Null, Console, File, Custom, Logstash, Syslog, ...
- **Performance counters**: Null, Log, Custom, ...

The library contains constantly growing number of microservices, donated and supported by community contributors.
They divided into several groups.

### Infrastructure microservices
- [pip-services-logging](https://github.com/pip-services-infrastructure/pip-services-logging-node) - Distributed logging microservice.
It collects logs from other microservices and stores them in a single location for further analysis.
- [pip-services-counters](https://github.com/pip-services-infrastructure/pip-services-counters-node) -
Performance monitoring microservice. It collects performance metrics from other microservices and generates
performance statistics.
It is a lightweight alternative to production services like Consul or Etcd that can be used during development and testing.
- [pip-services-eventlog](https://github.com/pip-services-infrastructure/pip-services-eventlog-node) - System event logging microservice.
It logs key system events like installing a new server, upgrading to a newer version, shutting down system for maintenance
and so on
- [pip-services-settings](https://github.com/pip-services-infrastructure/pip-services-settings-node) - Settings microservice.
It keeps system-wide configuration settings split by sections.
- [pip-services-statistics](https://github.com/pip-services-infrastructure/pip-services-statistics-node) - Statistics microservice.
It aggregates business statistics within Hour, Day, Month, Year and Total intervals.
- [pip-services-blobs](https://github.com/pip-services-infrastructure/pip-services-blobs-node) - Blob storage microservice.
It is the key microservice that enables upload and download of binary blobs. It also tracks references from other system entities and destroys files when the last reference is released.
- [pip-services-facets](https://github.com/pip-services-infrastructure/pip-services-facets-node) - Faceted search microservice.
It records and allows to search by aggregated (faceted) criteria, like groups, types or categories.
- [pip-services-changescopes](https://github.com/pip-services-infrastructure/pip-services-changescopes-node) - Change scopes microservice.
It trackes changes in specific scope down to individual elements. That helps to use simple pulls to detect changes in one call without use of asynchronous update messages.
- [pip-services-email](https://github.com/pip-services-infrastructure/pip-services-email-node) - Email delivery microservice. It sends email messages and supports message templates.
- [pip-services-sms](https://github.com/pip-services-infrastructure/pip-services-sms-node) - SMS delivery microservice. It sends sms messages and supports message templates.

### User management microservices
- [pip-services-accounts](https://github.com/pip-services-users/pip-services-accounts-node) - Users account management microservice.
It allows to register system users and set their key preferences.
- [pip-services-passwords](https://github.com/pip-services-users/pip-services-passwords-node) - Password authentication microservice.
It allows to set and manage user password, performs basic login/password based authentication and supports password
recovery via email.
- [pip-services-roles](https://github.com/pip-services-users/pip-services-roles-node) - User role-based authorization microservice.
It allows to grant roles to a user and performs basic ‘is user in role’ authorization.
- [pip-services-emailsettings](https://github.com/pip-services-users/pip-services-emailsettings-node) - Email settings microservice.
It manages user primary emails and handles email verification.
- [pip-services-smssettings](https://github.com/pip-services-users/pip-services-smssettings-node) - SMS settings microservice.
It manages user phone numbers and handles phone verification.
- [pip-services-msgdistribution](https://github.com/pip-services-users/pip-services-msgdistribution-node) - Message distribution microservice.
It distributes messages to one or many recipients via selected delivery method: email or sms.
- [pip-services-sessions](https://github.com/pip-services-users/pip-services-sessions-node) - User session management microservice.
It tracks sessions opened by users from multiple hosts and applications. It can be very useful for session tracking
in client facades (API gateways).
- [pip-services-activities](https://github.com/pip-services-users/pip-services-activities-node) - User/party activity logging microservice.
It logs activities performed by user (or party) like registering and logging into the system, changing configuration settings,
creating/removing/updating system entities and so on.

### Product support microservices

- [pip-services-announcements](https://github.com/pip-services-support/pip-services-announcements-node) - System announcements microservice.
It allows system administrators or product support personnel to create announcements and show them to product users to keep
them informed about important information and events.
- [pip-services-feedbacks](https://github.com/pip-services-support/pip-services-feedbacks-node) - Users feedback microservice.
It allows to collect feedback from product users about their issues, ideas, copyright infringement or other requests.

### Content management microservices

- [pip-services-attachments](https://github.com/pip-services-content/pip-services-attachments-node) - Blob attachments microservice.
It tracks references to blobs from other system entities and destroys files when the last reference is released.
- [pip-services-tags](https://github.com/pip-services-content/pip-services-tags-node) - User/party search tags microservice.
It records tags used by user (or party) when they create their content. Later these tags can be used to suggest tags
for search within applications.
- [pip-services-quotes](https://github.com/pip-services-content/pip-services-quotes-node) - Inspirational quotes microservice.
It is a basic sample microservice that shows to users inspiring quotes.
- [pip-services-tips](https://github.com/pip-services-content/pip-services-tips-node) - User tips microservice.
It shows prerecorded useful tips and suggestions to application users.
- [pip-services-guides](https://github.com/pip-services-content/pip-services-guides-node) - Application guides microservice.
It shows guides (introduction, walk-through, new release) to application users.
- [pip-services-imagesets](https://github.com/pip-services-content/pip-services-imagesets-node) - Image library microservice.
It contains a collection of images that users can search and use to visualize their content.
- [pip-services-files](https://github.com/pip-services-content/pip-services-files-node) - Files microservice.
It keeps collections (groups) of files. File content can be stored either in blobs or in external source and referenced via uri.
- [pip-services-msgtemplates](https://github.com/pip-services-content/pip-services-msgtemplates-node) - Message templates microservice.
It allows content managers to compose message templates in multiple languages and later use to send out emails or sms to system users or internet community.
- [pip-services-dashboards](https://github.com/pip-services-content/pip-services-dashboards-node) - Dashboards microservice.
It stores configurations of user dashboards.

### Microservice framework for .NET

- [pip-services-commons-dotnet](https://github.com/pip-services/pip-services-commons-dotnet) - basic portable abstractions in .NET
- [pip-services-container-dotnet](https://github.com/pip-services/pip-services-container-dotnet) - IoC container .NET
- [pip-services-data-dotnet](https://github.com/pip-services/pip-services-data-dotnet) - data processing and persistence in .NET
- [pip-services-net-dotnet](https://github.com/pip-services/pip-services-net-dotnet) - synchronous and asynchronous communication in .NET
- [pip-services-azure-dotnet](https://github.com/pip-services/pip-services-azure-dotnet) - Azure specific components in .NET

### Microservice framework for Java

- [pip-services-commons-java](https://github.com/pip-services/pip-services-commons-java) - basic portable abstractions in Java
- [pip-services-container-java](https://github.com/pip-services/pip-services-container-java) - IoC container Java
- [pip-services-data-java](https://github.com/pip-services/pip-services-data-dotnet) - data processing and persistence in Java
- [pip-services-net-java](https://github.com/pip-services/pip-services-net-java) - synchronous and asynchronous communication in Java

### Microservice framework for Node.js

- [pip-services-commons-node](https://github.com/pip-services/pip-services-commons-node) - basic portable abstractions in Node.js
- [pip-services-container-node](https://github.com/pip-services/pip-services-container-node) - IoC container Node.js
- [pip-services-data-node](https://github.com/pip-services/pip-services-data-node) - data processing and persistence in Node.js
- [pip-services-data-node](https://github.com/pip-services/pip-services-data-node) - data processing and persistence in .NET
- [pip-services-net-node](https://github.com/pip-services/pip-services-net-node) - synchronous and asynchronous communication in Node.js
- [pip-services-aws-node](https://github.com/pip-services/pip-services-azure-node) - AWS specific components in Node.js

### Microservice framework for Python

- [pip-services-commons-python](https://github.com/pip-services/pip-services-commons-python) - basic portable abstractions in Python
- [pip-services-container-python](https://github.com/pip-services/pip-services-container-python) - IoC container Python
- [pip-services-data-python](https://github.com/pip-services/pip-services-data-python) - data processing and persistence in Python
- [pip-services-net-python](https://github.com/pip-services/pip-services-net-python) - synchronous and asynchronous communication in Python

### Microservice framework for Golang

- [pip-services-commons-go](https://github.com/pip-services/pip-services-commons-go) - basic portable abstractions in Go
- [pip-services-container-go](https://github.com/pip-services/pip-services-container-dotnet) - IoC container Go
- [pip-services-data-go](https://github.com/pip-services/pip-services-data-go) - data processing and persistence in Go
- [pip-services-net-go](https://github.com/pip-services/pip-services-net-go) - synchronous and asynchronous communication in Go

### Portable build infrastructure

- [pip-tasks](https://github.com/pip-tasks/pip-tasks) - Cross platform project build system in Powershell
- [pip-tasks-commons](https://github.com/pip-tasks/pip-tasks-commons) - Common build tasks for Pip.Tasks
- [pip-tasks-dotnet](https://github.com/pip-tasks/pip-tasks-dotnet) - .NET build tasks for Pip.Tasks
- [pip-tasks-java](https://github.com/pip-tasks/pip-tasks-java) - Java build tasks for Pip.Tasks
- [pip-tasks-js](https://github.com/pip-tasks/pip-tasks-js) - Javascript and Node.js build tasks for Pip.Tasks
- [pip-tasks-python](https://github.com/pip-tasks/pip-tasks-python) - Python build tasks for Pip.Tasks

## Quick Links

- [Official Pip.Services website](http://www.pipservices.org)
- [Pip.Services discussion forum](https://groups.google.com/forum/#!forum/pip-services)
- [Pip.Services team blog](https://pip-services.blogspot.com/)

## Acknowledgements

This project would not be possible without effort contributed by particular individuals.

- **Sergey Seroukhov** - the project founder, microservice architecture and runtime implementation
- **Mark Zontak** - Node.js and .NET implementations, AWS integration
- **Volodymyr Tkachenko** - .NET implementation, Service Fabric and Docker deployments
- **Alex Mazur** - .NET implementations, Azure integration
- **Alex Masliev** - Website and graphics

We also would like to recognize help received from the following companies.

- **Digital Living Software Corp.**
- [**Modular Mining Systems Inc.**](http://www.mmsi.com)
- [**BootBarn**](http://www.bootbarn.com)
- [**EPAM**](http://www.epam.com)
- [**Kyrio**](http://www.kyrio.com)

repository: winstarshl/pip-services

repo_name: winstarshl/pip-services


text:
# Rack example

A simple Rack application which shows how to use prometheus' `Rack::Exporter`
and `Rack::Collector` rack middlwares.

## Usage

Start the Server.

```bash
unicorn -p 5000 -c unicorn.conf
```

Benchmark number of requests.

```bash
ab -c 10 -n 1000 http://<IP_ADDRESS>:5000/
```

View the metrics output.

```bash
curl http://<IP_ADDRESS>:5000/metrics.json
```


text:
---
layout: video
title: "Math for Data Science: An Interview with Course Report"
subheadline: "Math Skills"
meta_teaser: "Math skills are critical for a successful career in data science. Find out why in this interview with Course Report."
teaser: "Math skills are critical for a successful career in data science. Find out why in this interview with Course Report."

header:
    background-color: "#999999"
    image: logo.png
categories:
    - mathematics
show_meta: true
comments: true
iframe: ""
video:
    embedURL: "https://www.youtube.com/embed/a5jqDSiJdxk"
    contentURL: "https://www.youtube.com/watch?v=a5jqDSiJdxk"
    thumbnailUrl: "http://img.youtube.com/vi/a5jqDSiJdxk/maxresdefault.jpg"
page:
    background-color: "#000000"
image:
    thumb: coursereport_thumb_img.png
    homepage: CourseReport_Feb2020.png

---

I recently sat down with [Course Report][1] to discuss the math needed to become a data scientist.  Blending coding skills with mathematics lies at the heart of data science, so understanding fundamental math concepts is critical for a successful career within the field.  Linear algebra, calculus, probability, and statistics are the four math disciplines that fuel the bulk of data science.  In this interview, I discuss the role each topic plays in data science; I also work through an example problem from all four subjects.

Please continue to the [Course Report blog][2] for a write-up of the interview.

[1]: https://www.coursereport.com/
[2]: https://www.coursereport.com/blog/math-for-data-science-with-metis


text:
* What are `data-` attributes good for?

'data-' attributes let us store more information on normal HTML elements without having to use hacky methods like classList and non-standard attribute. Anytime you want to store more information on a element that doesn't need visual representation you can just use data- attributes.

sources: (https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_data_attributes)


text:
This package contains bucklescript bindings for [amplitude](https://www.npmjs.com/package/amplitude)

### Getting started
Make sure to have bs-platform installed

```
yarn add bs-amplitude
```

repository: avohq/bs-amplitude

repo_name: avohq/bs-amplitude


text:
---
title: Unvalidated Assumptions
layout: post
tags:
- startup
- 0to1
- validation
- mvp
---

I find myself explaining this more and more often as friends of mine talk about ideas that they are considering/pursuing.

These conversations inevitably lead to talk about some sort of product. More often than not, what I hear for their version of an MVP is is far too large, focused on the wrong things (features, UI), and most importantly -- built on unvalidated assumptions.

When thinking through ideas, the initial focus should not be product. The focus should be on the problem. Understand the problem deeply and boil it down to its basic principles. What's the core issue, who does it affect, how acute the pain is, what are the current solutions, etc.

The most important thing during this exercise is not just to understand the problem -- but to also get a deep understanding of your assumptions. Excited founders & startup people tend to speak in absolutes when talking about problems. ie - People can't find good restaurants to eat, people hate using their CRM, etc.

Baked into these problem statements are always several unvalidated assumptions. In the restaurant example above - while it may be true, the assumption is that people actually care enough to do something about it. That may or may not be true -- and if true, is that group of people large enough to justify building a service for? And even further -- in that set of people, who is actually willing to pay for a solution (or is that set large enough to serve ads to)?

Building on top of unvalidated assumptions is risky -- it's easy to spend lots of time building something that nobody wants or can't stand on its own two feet.

So make sure that before you start talking about a product or an MVP to qualify your problem statement, understand your assumptions, and then go out to validate those assumptions.

repository: ChrisEYin/kactus

repo_name: ChrisEYin/kactus


text:
# Tartana Requirements

Tartana is a PHP application which can run on the [command line only or with a web frontend](running.md). The minimal requirements of Tartana are:

**Required**
- Linux System
- PHP command line executable
- PHP Sqlite extension
- PHP Curl extension
- PHP Intl extension
- Unzip installed
- Access to the internet

**Optional**
- Unrar installed to extract rar files
- 7z installed to extract .z7 files
- ffmpeg installed for mp4 to mp3 conversion

## Debian/Ubuntu setup

To prepare a bare Ubuntu system run the following commands before you [install Tartana](installation.md):

- sudo apt-get install php5-cli
- sudo apt-get install php5-curl
- sudo apt-get install php5-sqlite
- sudo apt-get install php5-intl
- sudo apt-get install unzip
- sudo apt-get install unrar

## Raspberry Pi setup
On a raspberry pi the unrar command needs to be built by source, becasue of license issues. You can run the following commands after you have done the set up as mentioned above.

- Uncomment the deb-src entry in the file */etc/apt/sources.list*.
- Run `sudo apt-get update`
- Run `mkdir ~/unrar-nonfree && cd ~/unrar-nonfree`
- Run `sudo apt-get build-dep unrar-nonfree`
- Run `sudo apt-get source -b unrar-nonfree` // This command whill take a while, grab a coffe
- Run `sudo dpkg -i unrar*.deb`
- Remove the working directory `cd && sudo rm -rf ~/unrar-nonfree`

## Web server
If you are running Tartana with it's own web server then the basic requirements are enough as the PHP built in web server is part of the PHP cli package. If you have an existing web server like Apache or Nginx, then you can upload Tartana to a web accessible folder.

repository: C-Sparrow/Tartana

repo_name: C-Sparrow/Tartana


text:
## Ethereum wallet using an [ERC-20](https://en.wikipedia.org/wiki/ERC-20) smart contract.

A digital wallet app developed in dart and flutter. The idea is to help developers to understand how to build dApps using blockchain and associated technologies. This app can transfer tokens from one wallet to another through an [ERC-20](https://en.wikipedia.org/wiki/ERC-20) Ethereum contract.

### What's being used

- Built in [Flutter](https://flutter.dev/docs/get-started/install) framework
- [QR code scanner](https://github.com/juliuscanute/qr_code_scanner) to scan addresses
- [Web3Dart](https://github.com/simolus3/web3dart) to interact with Ethereum blockchain
- [Flutter hooks](https://github.com/rrousselGit/flutter_hooks) to manage widget life-cycle.
- [Solidity](https://github.com/allanclempe/ether-wallet-contract) smart contract

|                               Wallet                               |                              Change network                              |                               Transfer tokens                               |
| :----------------------------------------------------------------: | :----------------------------------------------------------------------: | :-------------------------------------------------------------------------: |
| ![Your wallet](https://faucet.clempe.dev/images/your-wallet-3.png) | ![Change network](https://faucet.clempe.dev/images/change-network-3.png) | ![Transfer tokens](https://faucet.clempe.dev/images/transfer-address-3.png) |

### Getting started

How to watch/build autogenerated files

```bash
$ flutter packages pub run build_runner build   # to build
$ flutter packages pub run build_runner watch   # to watch
```

How to run the app

```bash
$ flutter pub get packages
$ flutter packages pub run build_runner build
$ flutter run
```

running on the browser

```bash
$ flutter run -d web-server
```

How to run tests

```bash
$ flutter test
```

### Wallet balance

For those who don't want to play with smart contracts yet, you can claim some test tokens by following links below, or [check this repo](https://github.com/allanclempe/ether-wallet-contract) to understand how to deploy your own contract.

**_Transfer test TOKENS to your wallet:_**

After setting up your wallet, you will need some tokens to play with. Use the link below to transfer some tokens to your wallet.

[https://faucet.clempe.dev](https://faucet.clempe.dev)

**_Transfer test Ether to your wallet_**

To process transactions on the network, you will also need coins to pay the transaction fees (gas). Use one of the following links to claim some coins depending on the network you are working on:

- Goerli: [https://goerlifaucet.com/](https://goerlifaucet.com/)
- Polygon (old MATIC): [https://faucet.polygon.technology/](https://faucet.polygon.technology/)
- BSC: [https://testnet.binance.org/faucet-smart](https://testnet.binance.org/faucet-smart)

### The smart contract

Link for the smart contract used for this project [https://github.com/allanclempe/ether-wallet-contract](https://github.com/allanclempe/ether-wallet-contract)

### Buy me a coffee

If you enjoy my work, a small donation would be greatly appreciated.

|                                    BTC                                     |                                     ETH                                      |
| :------------------------------------------------------------------------: | :--------------------------------------------------------------------------: |
|  |  |
| bc1qkvjec6dhr94jvlvqqjpuv7n3vz8j0h89nle6n3 | 0xE4B2ca20D15109b0a2Eef933678C496A1a798173 |

### License

Copyright © 2019-present Allan Clempe. This source code is licensed under the MIT license found in the [LICENSE.txt](https://github.com/allanclempe/ether-wallet-flutter/blob/master/LICENSE.txt) file.

---

dart wallet cryto flutter eth smart contracts - by [Allan Clempe](https://twitter.com/aclempe)

repository: allanclempe/ether-wallet-flutter

gha_language: Dart

repo_name: allanclempe/ether-wallet-flutter


text:
Sarah Price
s198041
Assesment 4- HashFunction
HashFunction Documentation

Description: create a solution that generates a color hash code according to what is put into the Main function

File: HashFunction.h

  Description: generates a random id number consistly based on input

  Operations:

     -Name: badHsh
     Description: implementation of a basic addition hash
     Type: unsigned int
     Visibility: private

     -Name: BKDRHsh
     Description: Hash function by Brian Kernighan and Dennis Richie
     Type: unsigned int
     Visibility: private

     -Name: colorHsh
     Description: custom color hash
     Type: unsigned int
     Visibility: private

     -Name: randomHsh
      Description: hash based on numbers with numbers that arent actually significant
      Type: unsigned int
      Visibility: private

  Attributes:

      -Name: HashFunc
      Description: default hash function
      Type: typedef
      Visibility: private

      -Name: defaultHash
      Description: a helper to access a default hash function
      Type: static
      Visibility: private

  File: main.h

  Description: where main functions are called. Runs on start up

    Operations:

         -Name: main
         Description: the only function in main.cpp; runs on start up
         Type: int
         Visibility: private

[raycheat]:https://www.raylib.com/cheatsheet/cheatsheet.html

## License

MIT License - Copyright (c) 2018 Academy of Interactive Entertainment

For more information, see the [license][lic] file.

Third party works are attributed under [thirdparty.md][3p].

[lic]:license.md
[3p]:thirdparty.md
[raylib]:https://github.com/raysan5/raylib

repository: PriceSarah/HashFunction

repo_name: PriceSarah/HashFunction


text:
# Cityscapes
1. Get dataset files: `gtFine_trainvaltest.zip` and `leftImg8bit_trainvaltest.zip` from [here](https://www.cityscapes-dataset.com/downloads/).
2. Get [cityscapesScripts](https://github.com/mcordts/cityscapesScripts) and do `cd cityscapesScripts; pip install .`.
3. Generate images with labels (`annotations` folder must contain `gtFine`):
```
export CITYSCAPES_DATASET=/home/dan/datasets/cityscapes/annotations/
python cityscapesscripts/preparation/createTrainIdLabelImgs.py
```
4. Run `create_tfrecords_for_cityscapes.py`.

# ModaNet
[ModaNet: A Large-Scale Street Fashion Dataset with Polygon Annotations](https://arxiv.org/abs/1807.01394).

Files `train_metadata.csv` and `val_metadata.csv` contain
1. `id` of an image (this ids are used in json annotation files).
2. `path` - download path of an image.
3. `is_ok` - whether I was able to download this particular image.

For more information see the original dataset repository:
[eBay/modanet](https://github.com/eBay/modanet)

## How to get ModaNet dataset
1. Go to [eBay/modanet](https://github.com/eBay/modanet) and download two annotation json files.
2. Install [cocodataset/cocoapi](https://github.com/cocodataset/cocoapi).
3. Download Chictopia metadata tables (.sql.gz file) from [here](https://github.com/kyamagu/paperdoll/tree/master/data/chictopia).
4. The table `"photos"` contains ids and download paths of images.
5. Download what you can.

## How to create a train-val split
Annotations are only available for the official train part.
So we need to create a train-val split by ourselves.
Use `explore_modanet.ipynb` to explore random dataset annotations.
Also it creates an label integer encoding for training (`modanet_labels.txt`).

train 46891 = 42243 +
val 2591

repository: TropComplique/EDANet

repo_name: TropComplique/EDANet


text:
grails-hibernate-filter
=======================

This is a fork of the original [Grails Hibernate Filter Plugin](http://grails.org/plugin/hibernate-filter) to make it work with the latest Grails version 2.4.3 and Hibernate 4.

# Installation

## 1. Build Plugin Zip File

To install this plugin, please run the following command to build the binary plugin jar file first.

    grails package-plugin --binary

The following plugin jar file will be generated,

- target/grails-plugin-hibernate-filter-0.3.2.appcela.jar

## 2. Install This Plugin

Copy the generated plugin jar file to your Grails project's "`lib/`" folder.

## ~~3. Add Plugin Dependency~~

There's no need to add a dependency for this plugin for your Grails project. It should just work.

# Usage

Please refer to the official [Grails Hibernate Filter Plugin](http://grails.org/plugin/hibernate-filter) for usage.

repository: appcela/grails-hibernate-filter

gha_language: Groovy

repo_name: appcela/grails-hibernate-filter


text:
MongoDB integration with ASP.NET MVC

Pre Requirements Software

MongoDB

Visual studio 2013

Set up of MongoDB

Download the MongoDB database from the https://www.mongodb.com and install it. Now need to set the MongoDB Path in the System Variables, type “sysdm.cpl” in the RUN, it will open System Properties, go to the Advanced Tab and click on the Environment Variables button, it will open Environment Variables detail. Now select the “Path” variables in the System Variables list and edit it, add the MongoDB bin folder path at the end of the line (;C:\Program Files\MongoDB\Server\3.4\bin). Also created a folder structure “C:\data\db” in C drive.

Start MongoDB server

Open the Command prompt and type “Mongod” and press enter.


text:
Table of Contents
=================

- [Overview](#overview)
- [Docker Compose](#docker-compose)
    - [Running with Docker](#running-with-docker)
- [Manual Build](#build)
    - [Build Frontend](#building-react-frontend)
    - [Build Spring App](#building-spring-app)
    - [Running without Docker](#running-without-docker)

Overview
========

The **i-on** initiative aims to build an extensible academic platform.
The Core subsystem is the repository of academic information which other subsystems will access through several HTTP APIs.

Docker Compose
==============

You may execute repetitive procedures running one command using only [Docker](https://docs.docker.com/) + [Docker compose](https://docs.docker.com/compose/) (Docker does not ship with `docker-compose`, so you'll have to install it separately).
The `compose` configuration files are used to automate procedures such as setting up a database and building (/running) the server, running the integration tests, deploying, and so on without the need to manually build or install any dependencies (e.g. OpenJDK).

```sh
# Run the integration tests and exit
docker-compose -f .docker/compose_ci.yaml up --abort-on-container-exit core

# Remove docker images and clean resources
docker-compose -f .docker/compose_ci.yaml down
```

The process is similar to any other file on the `.docker` folder (e.g. `.docker/compose_deploy.yaml`).

## Warning to Windows Users

Since Windows uses CRLF (carriage-return line-feed) line endings you can encounter problems while trying to run the application using Docker and Docker Compose.

To solve the problem you must choose the `Checkout as-is, commit Unix-style line endings` option during the Git installation process. This option guarantees that every file is converted to LF once you commit, and when checking out (e.g pull) there are no line-ending conversions, thus the line-endings will be LF.

If you have already installed Git on your machine you can change the `core.autocrlf` configuration key as shown below:

```sh
git config --global core.autocrlf input
```

More information about this topic is covered in [this stackoverflow answer](https://stackoverflow.com/a/20653073).

## Running with Docker

To run i-on core locally we can use the `compose_run` docker compose file:

```sh
# Run the server and database on two containers
docker-compose -f .docker/compose_run.yaml up core
```

After running this command the i-on Core should be available on port `10023` and the database on port `10021`.

The following tokens will be inserted to the database container, for ease of use:
- Read: `l7kowOOkliu21oXxNpuCyM47u2omkysxb8lv3qEhm5U`
- Issue: `vUG-N_m_xVohFrnXcu2Jmt_KAeKfxQXV2LkLjJF4144`
- Revoke: `5eN-N7muBGix6X0N8jfau7Ou-3KcNHPAGVZNGWQ6ryw`

Moreover, there are the following client applications that are also inserted for the ease of use:

```
i-on Web (confidential application)
------
ID: 22dd1551-db23-481b-acde-d286440388a5
Secret: gntBY4mjX8PH4_5_i_H54fMFLl2x15Q0O4jWXodQ4aPmofF4i6VBf39tXi5vhdjA2WZ-5hwaOXAL11oibnZ8og

i-on Web (public application)
------
ID: 14633a07-30d8-41f9-aa4d-d55341d7c7f3
```

To clean up the core and database containers we can use docker compose again:

```sh
# Remove docker images and clean resources
docker-compose -f .docker/compose_run.yaml down
```

Build
=====

## Building React Frontend

The React frontend makes use of the [yarn](https://yarnpkg.com/) package manager to manage its dependencies. To test the react application you can do:

```sh
cd core-react/

# Install the dependencies
yarn install

# Start the devolopment server
yarn start
```

This process should start a React development server on `localhost:3000`.

If you want to build the production artifacts and place them on the resources folder of the JVM project you can use:

```sh
cd core-react/

# Do a production build
yarn build
```

This will output the production build to `jvm/src/main/resources/static` as configured in the `core-react/.env` file.

## Building Spring App

The server will connect to a database specified with the `JDBC_DATABASE_URL` environment variable.
For testing purposes, you may run the task `pgSetupDb` which will run a local database running on a preconfigured Docker container (you must have the docker daemon running and the proper permissions set).

The following is an example of operation:
```sh
cd jvm/

# Start DB container (loaded with testing data)
# Use the SET command if in a Microsoft Windows shell
export JDBC_DATABASE_URL="jdbc:postgresql://localhost:10020/ion?user=unpriv&password=changeit"
./gradlew pgreset

# Runs the integration tests and builds
./gradlew build

# Stop the DB running in the background
./gradlew pgStop
```

You may also connect to the database running in the container with `docker exec -it pq-container psql -h localhost -d ion -U unpriv` (you may also use `psql` locally).
The parameters of the command may vary depending on the contents of the `JDBC_DATABASE_URL` variable you have defined earlier.

## Running without Docker

The previous sub-sections have explained how to build the i-on Core Spring App that includes both frontend (as a resource) and the backend. To run the application that was built you can execute:
```sh
cd core/project

# The ./gradlew build command was executed in the previous section

export JDBC_DATABASE_URL="jdbc:postgresql://<IP_ADDRESS>:10020/myrealdb?user=unpriv&password=realdbsafepw"

# Run the server
java -server -jar ./build/libs/core-0.1.jar
```

The server will open on port `8080` which you may change by specifying an option (e.g `java -server -Dserver.port=10022 -jar ./build/libs/core-0.1.jar`)

repository: i-on-project/core

gha_language: Kotlin

repo_name: i-on-project/core


text:
# torpedo
Gather info on RDBMS schema to create minimal datasets from fact and dimension tables using sqlAlchemy

Torpedo aims to solve the following problem.  You wish to test a deployment that relies on an RDBMS.
That schema may contain dozens of tables each of which could have millions of rows.  From this origination
data you may derive analytics and metrics tables which are then used by the deployment.

In this case, if you wish to test deployment, you either have to do some computations on the full tables, and if
there are large joins this could run into hours or days; or you can exctract a small subset of data to run through
the system.

The problem with small data set extraction is that if you take 500 rows from table A and 500 rows from table B, where
A and B are millions of rows, the A join B will likely have no rows.  The problem is that matching entries on the join
columns can be in any row in different tables.  We need a smart way to extract linked data from a schema.

This is the goal of torpedo.

repository: darKoram/torpedo

repo_name: darKoram/torpedo


text:
# grunt-apitastic

> Generate JSON from HTML using CSS selectors.

This might be helpful if you use a static site generator like [assemble](http://assemble.io) or anything else that generates static HTML and want to load only a very specific portion with Ajax.

## Getting Started
This plugin requires Grunt `~0.4.2`

If you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

```shell
npm install grunt-apitastic --save-dev
```

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

```js
grunt.loadNpmTasks('grunt-apitastic');
```

## The "apitastic" task

### Overview
In your project's Gruntfile, add a section named `apitastic` to the data object passed into `grunt.initConfig()`.

```js
grunt.initConfig({
  apitastic: {
    options: {
      // Task-specific options go here.
    },
    your_target: {
      // Target-specific file lists and/or options go here.
    },
  },
});
```

### Options

#### options.queries
Type: `Object`
Default: `{}`

An object with names and the corresponding selectors.

This task uses [cheerio](https://github.com/MatthewMueller/cheerio) to query your HTML, check their page for supported selectors.

### Usage Examples

```js
grunt.initConfig({
  apitastic: {
    options: {
      queries: {
        'title': 'head>title',
        'menu': '#top nav',
        'content': '#page'
      }
    },
    files: {
      expand: true,
      cwd: 'html',
      src: ['**/*.html'],
      dest: 'api', // your shiny static json api endpoint
      ext: '.json' // created files should probably end in .json
    },
  },
});
```

Results in JSON files in the same directory structure as your HTML files, each containing an Object with the keys defined from the keys in the queries option and the parsed content found by the corresponding css query.

## Release History

* 0.1.1-1: Fixed fix. Yeah, sorry.
* 0.1.1: Fixed initial failure
* 0.1.0: Initial release.

repository: pichfl/grunt-apitastic

repo_name: pichfl/grunt-apitastic


text:
# TupleTools.jl

[![Build Status](https://travis-ci.org/Jutho/TupleTools.jl.svg?branch=master)](https://travis-ci.org/Jutho/TupleTools.jl) [![License](http://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat)](LICENSE.md) [![Coverage Status](https://coveralls.io/repos/Jutho/TupleTools.jl/badge.svg?branch=master&service=github)](https://coveralls.io/github/Jutho/TupleTools.jl?branch=master) [![codecov.io](http://codecov.io/github/Jutho/TupleTools.jl/coverage.svg?branch=master)](http://codecov.io/github/Jutho/TupleTools.jl?branch=master)

A bunch of tools for using tuples (mostly homogeneous tuples `NTuple{N}`) as a collection and performing a number of operations with an inferrable result, typically also an `NTuple{M}` with inferable length `M`. Type inference breaks down if some of the final or intermediate tuples exceed `MAX_TUPLETYPE_LEN`, meaning inference typically works up to output tuples of length `13` or `14`. Chosen implementations are typically faster than the corresponding functions in base for those small tuple lengths, but can be slower for larger tuples. Inference also breaks down for most functions in case of inhomogeneous tuples. Some algorithms
also provide reasonable defaults assuming that they are used for tuples of `Int`s, i.e. `TupleTools.sum(()) = 0` or `TupleTools.prod(()) = 1` (whereas the corresponding Base functions would error). This originates from the assumption that these methods are used to
operate on tuples of e.g. sizes, indices or strides of multidimensional arrays.

Note that none of the following functions are exported, since their name often collides with the equivalent functions (with different implementations) in `Base`.

## Types

```@docs
TupleTools.StaticLength
```

## Functions

```@docs
TupleTools.tail2
TupleTools.unsafe_tail
TupleTools.unsafe_front
```

```@docs
TupleTools.getindices
```

```@docs
TupleTools.deleteat
TupleTools.insertat
TupleTools.insertafter
TupleTools.vcat
```

```@docs
TupleTools.sum
TupleTools.cumsum
TupleTools.prod
TupleTools.cumprod
```

```@docs
TupleTools.minimum
TupleTools.maximum
TupleTools.findmin
TupleTools.findmax
TupleTools.argmin
TupleTools.argmax
```

```@docs
TupleTools.sort
TupleTools.sortperm
TupleTools.isperm
TupleTools.invperm
TupleTools.permute
```


text:
+++
# Custom widget.
# An example of using the custom widget to create your own homepage section.
# To create more sections, duplicate this file and edit the values below as desired.
widget = "custom"
active = true
date = 2016-04-20T00:00:00

# Note: a full width section format can be enabled by commenting out the `title` and `subtitle` with a `#`.
title = "Activities & Hobbies"
subtitle = ""

# Order that this section will appear in.
weight = 90

# This is an example of using the *custom* widget to create your own homepage section.
+++

- Movies | Football | Bibliophile | Traveller | Singing
<!-- - Felicity co-ordinator - I was one of the coordinators of the zombie zone event amid our yearly techno-social Fest Felicity 2018. -->
- Student Member of Ashrae(American Society of Heating, Refrigerating and Air-Conditioning Engineers) from IIIT Hyderabad
- Teaching Volunteer for STEP (May 2018 - Jun 2018)- A program run by IIIT Hyderabad to enable children in conceptualizing and thinking at multiple levels of abstraction managing complexities achieving the skill of fundamental learning.


text:
---
title: Building a Watson Assistant application
weight: 10
---
Use these steps to quickly start powering your applications with an intelligent and proactive assistant:

* Firstly, [register]({{site.baseurl}}/get-started/get-api-key) for the Watson Assistant service.
* While you're waiting for your request to be approved, [understand]({{site.baseurl}}/understand-service/overview) the Watson Assistant service.
* When your request is approved, you will receive an API key to access your personal assistant.
* If you want to use Bluemix or Watson services to power your application, you must request access to those services separately.
* Using your API key, [create a simple skill]({{site.baseurl}}/skill/what-are-they) to learn how you go about giving your application intelligence.
* Lastly, [complete a _proactive_ tutorial]({{site.baseurl}}/knowledge/what-is-kr) to learn how to make your application proactive using the Knowledge and Rules service.

repository: luaithrenn/developer

repo_name: luaithrenn/developer


text:
# SlickSocket
A lightweight cross-platform modern C++ HTTP/HTTPS and WebSocket client library.

## Why another network library?
There are few C++ HTTP libraries out there, but most of them are lack of ssl support. Some of
 the libraries I have used before are good, such as cpprestsdk, Beasts, libwebsockets etc., but
 either they have a big footprint, or not easy to setup and use, especially on Windows.

Slicksocket is build on top of [libwebsockets](https://libwebsockets.org). Libwebsockets is a
great C library. It not only support both client and server, but also support most of protocols
including latest HTTP2 and WSS2. Although Libwebsockets provided 50 minimal examples, but it
is missing a good tutorial and user guide. For a new user, it will take some time to learn and
figure out how to make things work. The goal of Slicksocket is to remove the hussle away by providing
a lightweight, easy to use modern C++ library.

## What make SlickSocket stands out?
* Use latest C++ 11/14 standard.
* Cross-platform. Easy to compile and use on Windows, Linux and Mac OS X.
* Support HTTP/HTTPS and WebSocket.
* Only depends on libwebsockets (and Of cause OpenSSL for HTTPS).
* Lock-free design, have very good performance.
* Support both Synchronous and Asynchronous HTTP/HTTPS request.

## Getting Started
[Build Slicksockt](https://github.com/SlickTech/slicksocket#build-slicksocket)

[Tutorial](https://github.com/SlickTech/slicksocket#tutorial)

[Caveats](https://github.com/SlickTech/slicksocket#caveats)

## Build SlickSocket
### 1. Install vcpkg
```
git clone https://github.com/microsoft/vcpkg

On Windows run:
.\vcpkg\bootstrap-vcpkg.bat

On Mac or Linux run:
./vcpkg/boostrap-vcpkg.sh
```
For more information about vcpkg, please visit https://github.com/microsoft/vcpkg

### 2. Install Libwebsockets
```
./vcpkg/vcpkg install libwebsockets
```

### 3. Get the project and dependencies

```
git clone https://github.com/SlickTech/slicksocket.git
cd slicksocket
```

### 4. Build the project
```
mkdir build
cd build
cmake .. -DCMAKE_TOOLCHAIN_FILE=[path to vcpkg]/scripts/buildsystems/vcpkg.cmake
cmake --build . --target slicksocket
```
**NOTE:** By default, it makes a release build. To make debug build, use:

``cmake .. -DCMAKE_BUILD_TYPE=Debug``

**NOTE:** If cmake failed because it can't find OpenSSL, it might happen if you are build against
a non-distro OpenSSL or installed OpenSSL using brew on Mac, please use follow command:
```
cmake .. -DOPENSSL_ROOT_DIR=<OpenSSL_install_path> \
    -DCMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE=<OpenSSL_install_path>
```

**NOTE:** By default, above command makes a shared library. To make a static library, run:

``cmake --build . --target slicksocket_static``

``cmake --build .`` will create both shared and static library.

## Tutorial
Set up project from CMake:
```c++
cmake_minimum_required(VERSION 3.7)
project(sample)

include_directory(<slicksocket_include_path>/include)
add_executable(sample main.cpp)

if (WIN32)
    target_link_libraries(sample PRIVATE slicksocket websockets openssl libssl libcrypto ws2_32)
else()
    target_link_libraries(sample PRIVATE slicksocket websockets_shared ssl crypto pthread)
endif()
```
**NOTE:** Substitute '<slicksocket_include_path>' to slicksocket include path on your machine.

### Http Client
Using http_client in your code:

```c++
// sampel.cpp
#include <slicksocket/http_client.h>
#include <iostream>

using namespace slick::net;

int main(int argc, char* argv[]) {
    http_client client("https://api.pro.coinbase.com");

    // GET request

    // Synchronous request
    auto rsp = client.request("GET", "/products");
    if (rsp.status != 200) {
        std::cerr << "Failed to get products";
        return 1;
    }

    std::cout << rsp.respnse_text << std:endl;

    // Asynchronous request
    std::atomic_bool completed {false};
    client->request("GET", "/products", [](http_respose rsp) {
        if (rsp.status != 200) {
            std::cerr << "Failed to get products";
            return;
        }
        std::cout << rsp.respnse_text << std:endl;
        completed.store(true, std::memory_order_release);
    });

    // POST request
    http_client client2("https://postman-echo.com");
    auto request = std::make_shared<http_request>("/post");
    request->add_header("Authorization", "testxxxxxxxxxxxxxxxxxxxx");
    request->add_body("{\"name\":\"Tom\"}", "application/json");
    response = client2.request("POST", std::move(request));
    std::cout << "POST response: "
              << response.status << " " << response.response_text << std::endl;

    // DELETE request - delete depends on serever implementation

    // delete through request url
    request = std::make_shared<http_request>("/12345");
    response = client2.request("DELETE", std::move(request));
    std::cout << response.response_text << std::endl;

    // delete through request body
    request = std::make_shared<http_request>("/");
    request->add_body("{\"id\": 12345}", "application/json");
    response = client2.request("DELETE", std::move(request));
    std::cout << response.response_text << std::endl;

    while (!completed.load(std::memory_order_relaxed));
    return 0;
}
```

## Caveats
* Need multipart form-data support.

repository: SlickTech/slicksocket

repo_name: SlickTech/slicksocket


text:
---
layout: default
title: 发布 v5.3.2
---

JHipster release v5.3.2
==================

JHipster v5.3.2 is a patch release, with [134 tickets and pull requests closed](https://github.com/jhipster/generator-jhipster/issues?q=milestone%3A5.3.2+is%3Aclosed), so if you had any bugs in JHipster v5.3.1, this update will hopefully solve them!

This release is the first one where we used extensively our [bug bounty program](https://www.jhipster.tech/bug-bounties/), and this worked remarquably well, with [$1,100 in paid bounties](https://github.com/jhipster/generator-jhipster/issues?q=is%3Aissue+milestone%3A5.3.2+is%3Aclosed+label%3A%24100) - and which also explains why this release has so many fixed bugs! As this has been a great success, we will continue to push this program forward: if you or your company benefit from JHipster, please consider [sponsoring the project](https://www.jhipster.tech/sponsors/), as the sponsor money fuels the bug bounty program.

Here are the most important bug fixes and enhancements from this release:

- Full microservice stack generation using import-jdl [#8335](https://github.com/jhipster/generator-jhipster/pull/8335/)
- Add a TLS profile (back and front) to run the development server in HTTPS [#8138](https://github.com/jhipster/generator-jhipster/pull/8138)
- Angular: Use Mocha+Chai for end to end tests [#8197](https://github.com/jhipster/generator-jhipster/pull/8197)
- Remove non-free and unused dependency to org.json:json [#8206](https://github.com/jhipster/generator-jhipster/issues/8206)
- Heroku: move Liquibase migrations to release phase [#8229](https://github.com/jhipster/generator-jhipster/pull/8229)
- New languages: Bengali [#8255](https://github.com/jhipster/generator-jhipster/pull/8255) and Myanmar [#8317](https://github.com/jhipster/generator-jhipster/pull/8317)
- Update spring-boot to 2.0.5 and dependencies [#8273](https://github.com/jhipster/generator-jhipster/pull/8273)

关闭的工单与合并请求
------------
一如既往, __[你可以在此处查看所有已关闭的工单与已接受合并请求](https://github.com/jhipster/generator-jhipster/issues?q=milestone%3A5.3.2+is%3Aclosed)__.

更新指引
------------

**自动升级**

在已存在的项目上使用[JHipster upgrade sub-generator]({{ site.url }}/upgrading-an-application/)自动升级:

升级Jhipster版本:

```
yarn global upgrade generator-jhipster
```

然后升级子生成器:

```
jhipster upgrade
```

**手动升级**

选择手动升级, 需要先升级你的Jhipster版本:

```
yarn global upgrade generator-jhipster
```

如果你已经有了一个项目, 将会继续使用当时项目生成的Jhipster版本.
如果需要升级你的项目, 你需要先删除`node_modules`文件夹再运行:

```
jhipster
```

更新你的项目和所有的实体类

```
jhipster --with-entities
```

你也可以使用实体类子生成器挨个更新你的实体类, 例如你的实体类名字是_Foo_

```
jhipster entity Foo
```

帮助和缺陷
--------------

如果您发现这个版本的任何问题, 请随时联系我们:

- 在我们的[bug tracker](https://github.com/jhipster/generator-jhipster/issues?state=open)添加一个缺陷报告
- 在[Stack Overflow](http://stackoverflow.com/tags/jhipster/info)提交问题

如果您遇到的问题是紧急错误或安全问题，请：

- 在推特上联系[@jhipster](https://twitter.com/jhipster)

repository: jhipster/cn

gha_license_id: NOASSERTION

repo_name: jhipster/cn


text:
# 1st ODI: Chase, Hope hand West Indies easy win over Afghanistan

Published at: **2019-11-06T16:19:29+00:00**

Author: **PTI**

Original: [The Times of India](https://timesofindia.indiatimes.com/sports/cricket/afghanistan-vs-west-indies/1st-odi-chase-hope-hand-west-indies-easy-win-over-afghanistan/articleshow/71943748.cms)

LUCKNOW: Roston Chase and Shai Hope struck fine half-centuries as West Indies produced an all-round effort to register a comfortable seven-wicket win over Afghanistan in the first ODI of the three-match series on Wednesday.

          Scorecard

Opting to field, West Indies bowlers came up with a fine show to bundle out Afghanistan for 194 in 45.2 overs.
Jason Holder (2/21), Chase (2/31) and Romario Shepherd (2/32) shared six wickets among them to rock the Afghans.
Rahmat Shah (61), wicket-keeper batsman Ikram Alikhil (58) and Asghar Afghan (35) were the notable scorers for Afghanistan, who has chosen Bharat Ratna Shri Atal Bihari Vajpayee Ekana Cricket Stadium as their new home venue.
West Indies did not have a bright start to their chase as they lost Evin Lewis (7) and Shimron Hetmyer (3) at the score of 25 in 7.4 overs.
But then, Hope (77 not out) and Chase (94) joined hands and stitched 163 runs for the third wicket to lay the foundation for West Indies victory as they reached 197 for three in 46.3 overs.
Spinner Mujeeb Ur Rahman (2/33) picked up two wickets for Afghanistan.
The second ODI of the series will be played at the same venue on Saturday.

license: Unlicense

repository: dsadlollioygjmzvcxv/tdc-exported

repo_name: dsadlollioygjmzvcxv/tdc-exported


text:
# Dashboard

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

## Example

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

## Requirements

## Installation

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

```ruby
pod 'Dashboard'
```

## Author

Nabin Shrestha<EMAIL_ADDRESS>
## License

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


text:
# MSCS 710 Capping Project: Resource Monitor

## Overview

This project implements an operating system resource monitor in Java, distributing
data via [Kafka](https://kafka.apache.org/). Any number of consumers can then consume this live metric data
independently of one another via the Kafka server. Currently, these consumers are
a web-based GUI built with [Flutter](https://flutter.dev/docs), and a [SQLite](https://www.sqlite.org/index.html)
database. We currently serve CPU, CPU Core, Network, Memory and Process metrics. Link to [javadoc](https://jonathansavas.github.io/marist-mscs710-capping-project/apidocs/overview-summary.html).

## Software Flow

![alt text](https://github.com/jonathansavas/marist-mscs710-capping-project/blob/master/docs/images/software-flow.png)

## Metrics

Fields associated with each metric type and their units [can be found here](https://jonathansavas.github.io/marist-mscs710-capping-project/apidocs/edu/marist/mscs710/metricscollector/metric/Fields.html).

## Graphical User Interface

The provided GUI is a web-based interface which provides a live view of operating system metrics.
The GUI is hosted via Python [Flask server](https://flask.palletsprojects.com/en/1.1.x/). This
is not recommended for production for security reasons, therefore the current implementation is only
implemented for localhost.

## Dependencies

Running the application requires that users have installed Java and Python 3 and
have added both to their PATH variable. The user's "python" command should reference
a Python 3 installation.

Building this project from source will require [Maven](http://maven.apache.org/),
in addition to [Flutter](https://flutter.dev/docs) to build to GUI. The Flutter SDK
can be [installed here](https://flutter.dev/docs/get-started/install). Additionally,
users must [enable Flutter web support](https://flutter.dev/docs/get-started/web).

## Releases

Packaged binaries for the project can be found at the project's [releases page](https://github.com/jonathansavas/marist-mscs710-capping-project/releases).
A full distribution is included along with a minimal distribution for user's who want
to use an existing Kafka server.

## Configuration

The full distribution is configured to work out-of-the-box. The only recommended configuration
change is for the location of the kafka-logs. The Kafka distribution default is to store
them in a root directory `/tmp`. Within `/resource-monitor/kafka/kafka_<version>/config`, users can
change `zookeeper.properties` property "dataDir" and `server.properties` property "log.dirs". It
is recommended to make this a location within the application directory.

Users with an existing Kafka server should edit the `/config/application.properties` files of both
`/metrics-collector` and `/metrics-persistence`. Set the appropriate "kafkabroker" and, if there may
be a conflict with a topic already on the server, change "metricstopic".

Within the `/ui` directory, users can run `ui-setup.bat`, which will run `pip install -r requirements.txt`
if pip is available on PATH. It will also notify users if Python 3 is not available on the PATH.

## Running

Users can run `resource-monitor-start.bat` to run the full backend and `ui/ui-start.bat` to run the Flutter UI.
This script will not attemp to start kafka in the minimal distribution, so users should ensure a Kafka broker
is up and running. Alternatively, users can run `metrics-collector/metrics-collection-start.bat` and `metrics-persistence/metrics-persistence-start.bat`. Scripts `metrics-collector/metrics-collection-stop.bat` and `metrics-persistence/metrics-persistence-stop.bat`
are available to stop the components individually, and `resource-monitor-stop.bat` will stop all the backendcomponents,
including Kafka in a full distribution.

gha_language: Java


text:
# web-audio-conference-2017

**My talk at the Web Audio Conference 2017.**

To view the slides navigate to: [bit.ly/wac-2017](https://bit.ly/wac-2017).

gha_language: TypeScript


text:
#Fix Suggestions

Fix suggestions are a way for atlas checks to recommend a remedy for an issue, as opposed to just flagging the issue.
These suggestions can be given to editors to help them resolve the issues.

## Creating a Fix Suggestion

Fix suggestions are created as [FeatureChanges](https://github.com/osmlab/atlas/blob/dev/src/main/java/org/openstreetmap/atlas/geography/atlas/change/FeatureChange.java) that are added to the CheckFlag.
FeatureChanges are part of the [ChangeAtlas](https://github.com/osmlab/atlas/tree/dev/src/main/java/org/openstreetmap/atlas/geography/atlas/change) system, which is used in the Atlas generation process.

To create a FeatureChange for a fix suggestion you first need to make a [CompleteEntity](https://github.com/osmlab/atlas/tree/dev/src/main/java/org/openstreetmap/atlas/geography/atlas/complete) for the AtlasEntity you want to have the suggestion for.
A CompleteEntity is an AtlasEntity that is self-contained, and is not require to be part of a larger Atlas.
There are CompleteEntities of each AtlasEntity type, CompleteArea, CompleteNode, etc.
A CompleteEntity is created from an AtlasEntity by using the associated CorrectEntity subclass's `from` method (i.e. `CompleteEdge.from()`).

Once you have a CompleteEntity for your feature, you then need to "fix" that CompleteEntity.
In this case that means altering the tags, geometry, or other attributes of the CompleteEntity to resolve the issue for which it is flagged.
This is done using the various methods of the CompleteEntity, such as `withAddedTag` or `withPolyline`.
If you want to suggest deleting a feature then you cna skip this step.

After making changes to the CompleteEntity it is added to the FeatureChange using `FeatureChange.add()` method.
If you are suggestion the feature be deleted then use `FeatureChange.remove()`.
The FeatureChange can then be added to the CheckFlag using either the `addFixSuggestion` or `addFixSuggestions` methods.

## Using Fix Suggestions

### Fix Suggestion Outputs

Fix suggestions appear in both the flag and geojson logs.
In both they appear as an object under the key fix_suggestions, however,
in the flag logs this key is found in the root object of the line and in the geojson it is under the properties of each feature collection.
The fix_suggestions object contains elements whose keys are unique feature IDs.
Each element contains a description of the changes made to a feature.

Here is an example log output containing a fix suggestions for 4 Edges that make up one Way:
```json
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "LineString",
        "coordinates": [
          [
            55.4535187,
            25.3628649
          ],
          [
            55.4535376,
            25.3627203
          ]
        ]
      },
      "properties": {
        "area": "yes",
        "last_edit_user_name": "CartographicChels",
        "last_edit_changeset": "70291534",
        "identifier": "209331363000004",
        "itemType": "Edge",
        "last_edit_time": "1557974395000",
        "last_edit_user_id": "9051059",
        "iso_country_code": "ARE",
        "osmIdentifier": "209331363",
        "highway": "footway",
        "last_edit_version": "2"
      }
    },
    {
      "type": "Feature",
      "geometry": {
        "type": "LineString",
        "coordinates": [
          [
            55.4535376,
            25.3627203
          ],
          [
            55.4536967,
            25.3627287
          ]
        ]
      },
      "properties": {
        "area": "yes",
        "last_edit_user_name": "CartographicChels",
        "last_edit_changeset": "70291534",
        "identifier": "209331363000001",
        "itemType": "Edge",
        "last_edit_time": "1557974395000",
        "last_edit_user_id": "9051059",
        "iso_country_code": "ARE",
        "osmIdentifier": "209331363",
        "highway": "footway",
        "last_edit_version": "2"
      }
    },
    {
      "type": "Feature",
      "geometry": {
        "type": "LineString",
        "coordinates": [
          [
            55.4536967,
            25.3627287
          ],
          [
            55.4536866,
            25.3628827
          ]
        ]
      },
      "properties": {
        "area": "yes",
        "last_edit_user_name": "CartographicChels",
        "last_edit_changeset": "70291534",
        "identifier": "209331363000002",
        "itemType": "Edge",
        "last_edit_time": "1557974395000",
        "last_edit_user_id": "9051059",
        "iso_country_code": "ARE",
        "osmIdentifier": "209331363",
        "highway": "footway",
        "last_edit_version": "2"
      }
    },
    {
      "type": "Feature",
      "geometry": {
        "type": "LineString",
        "coordinates": [
          [
            55.4536866,
            25.3628827
          ],
          [
            55.4535187,
            25.3628649
          ]
        ]
      },
      "properties": {
        "area": "yes",
        "last_edit_user_name": "CartographicChels",
        "last_edit_changeset": "70291534",
        "identifier": "209331363000003",
        "itemType": "Edge",
        "last_edit_time": "1557974395000",
        "last_edit_user_id": "9051059",
        "iso_country_code": "ARE",
        "osmIdentifier": "209331363",
        "highway": "footway",
        "last_edit_version": "2"
      }
    }
  ],
  "properties": {
    "id": "209331363000001209331363000002209331363000003209331363000004",
    "instructions": "1. The way with OSM ID 209331363 has a highway value of FOOTWAY, which should not have an area=yes tag. Consider changing this to highway=PEDESTRIAN.",
    "identifiers": [
      "Edge209331363000002",
      "Edge209331363000001",
      "Edge209331363000004",
      "Edge209331363000003"
    ],
    "generator": "AreasWithHighwayTagCheck",
    "timestamp": "Tue Sep 15 12:50:30 PDT 2020"
  },
  "fix_suggestions": {
    "Edge209331363000003": {
      "type": "UPDATE",
      "descriptors": [
        {
          "name": "TAG",
          "type": "UPDATE",
          "key": "highway",
          "value": "pedestrian",
          "originalValue": "footway"
        }
      ]
    },
    "Edge209331363000002": {
      "type": "UPDATE",
      "descriptors": [
        {
          "name": "TAG",
          "type": "UPDATE",
          "key": "highway",
          "value": "pedestrian",
          "originalValue": "footway"
        }
      ]
    },
    "Edge209331363000001": {
      "type": "UPDATE",
      "descriptors": [
        {
          "name": "TAG",
          "type": "UPDATE",
          "key": "highway",
          "value": "pedestrian",
          "originalValue": "footway"
        }
      ]
    },
    "Edge209331363000004": {
      "type": "UPDATE",
      "descriptors": [
        {
          "name": "TAG",
          "type": "UPDATE",
          "key": "highway",
          "value": "pedestrian",
          "originalValue": "footway"
        }
      ]
    }
  }
}
```

### MapRoulette Integration

Fix suggestions can be used to create [Cooperative Challenges](https://learn.maproulette.org/documentation/creating-cooperative-challenges/) in MapRoulette.
Cooperative Challenges present an uncommitted edit to the editor, that they can then approve or not.
The [MapRoulette Upload Command](maproulette_upload.md) can turn fix suggestions into Cooperative Challenges automatically.
All that is needed it to have flag files that contain fix suggestions and to set `-includeFixSuggestions=true` in the command arguments.
Currently, this system only works for tag based changes.
It is planned that geometry and relation member changes will be supported in the future.

repository: osmlab/atlas-checks

branch_name: refs/heads/dev

repo_name: osmlab/atlas-checks


text:
# SITCH Sensor

[![Join the chat at https://gitter.im/sitch-io/sensor](https://badges.gitter.im/sitch-io/sensor.svg)](https://gitter.im/sitch-io/sensor?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

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

[![Code Climate](https://codeclimate.com/github/sitch-io/sensor/badges/gpa.svg)](https://codeclimate.com/github/sitch-io/sensor)

[![Test Coverage](https://codeclimate.com/github/sitch-io/sensor/badges/coverage.svg)](https://codeclimate.com/github/sitch-io/sensor/coverage)

## Getting Started

## Prerequisites

* Accounts with the following providers:
  * Resin.io
  * Github
* Access to the following services (See Service configuration for more
  information)
  * Logstash
  * Vault
  * SITCH feed.  See https://github.com/sitch-io/feed_builder for more
  information.
* Hardware
  * Raspberry Pi 3
  * Simcom (SIM808 | SIM800L | SIM900) GSM modem with SIM
  * USB TTY cable (for GSM modem)
  * RTL-SDR device.  Tested with NooElec NESDR Mini and NooElec NESDR XTR
  * GlobalSat USB GPS dongle (any gpsd-compatible USB GPS shold work)

## Step by step...

1. Create an application in Resin.
1. Fork this project and clone it on your workstation.  Or clone it directly...
but forking makes modifications and PRs easier to deal with.
1. Add the Resin application as a remote repo (`git remote add resin<EMAIL_ADDRESS>1. Push to your Resin application: `git push resin master`

We expect (at least) the following environment variables to be set in Resin:

| Variable              | Purpose                                                 |
|-----------------------|---------------------------------------------------------|
| LOCATION_NAME         | Override the default device name (Resin UUID)           |
| LOG_HOST              |  hostname:port                                          |
| STATE_LIST            | List of states (in caps) for FCC feed.  ex: "CA,TX"     |
| VAULT_PATH            | Path to logstash cert/keys in Vault                     |
| VAULT_TOKEN           | Token for accessing credentials in vault                |
| VAULT_URL             | URL for accessing Vault. ex: https://v.example.com:port |

For more configuration options, consult the
[environment variables](http://sensor.readthedocs.io/en/latest/environment_variables.html)
section of the [documentation](http://sensor.readthedocs.io).

## Testing

Testing is done with pytest.  Coverage module optional.

Testing requirements (local testing possible only on Linux):
* lshw
* pip packages: pytest-cov pytest-pep8 pyserial hvac kalibrate haversine
python-geoip python-geoip-geolite2 pyudev gps3 LatLon python-dateutil

1. Navigate to the base directory of the repository.
1. Set the environment variable to reach your SITCH feed:
`export SITCH_FEED_BASE=https://MY.FEED.URL/base`
1. Run `py.test --cov sitchlib` .

* OR, offer a PR and let travis-ci build and run the tests for you.

## GSM modem device detection

If you're using a GSM modem that's not recognized by the device detector,
please add the output from running the `ATI` command against your GSM modem in
the variable named `positive_match` in the `is_a_gsm_modem()` method, in the
`sensor/sitch/sitchlib/device_detector.py` file.  Then send a pull request so
that everyone can get the benefit of your discovery.

## Included binaries

This repository contains pre-built binaries for Filebeat and Kalibrate.  The
licenses which apply to these two tools can be found
[here](./filebeat-license.txt) and [here](./kalibrate-license.txt), respectively.

## Contributing

* Please do PRs against the `test` branch.
* To add an ID string to the device detector for GSM modems, add part of the
ID string to the ```positive_match``` variable in the
```DeviceDetector.is_a_gsm_modem()``` function

repository: johnbobearl/sensor

repo_name: johnbobearl/sensor


text:
---
layout: post
title: "DIY Parking Brake Lock for Air Brakes"
published: true
...

My RV is equipped with [air
brakes](https://www.wikiwand.com/en/Air_brake_(road_vehicle)). One of
the differences between air brakes and hydraulic automotive brakes is
how the parking brake is actuated. Most cars have a lever in the
passenger compartment attached to a cable that attaches to the rear
brakes. Air brake systems use air (or the lack of it) to set the parking
brake.

The parking brake on my RV is a yellow, square-shaped knob that you pull
to engage. The travel (length of pull) is about a 1/4 of an inch.
There's a positive click when the brake engages.

I have two problems with this setup.

1.  It's difficult to tell if the parking brake in engaged just by
    looking at it. The set and release positions appear identical.
2.  It's easy to bump the knob and disengage the parking brake.

Unlike automobiles, there is no "Park" position on the transmission. The
only thing keeping the RV from rolling away is the parking brake. A few
times in parking lots I have shut off the engine and didn't immediately
set the parking brake. It's a scary feeling when the RV starts to roll.

There are aftermarket solutions. Most involve a machined piece of metal
block that is placed over the knob to restrict travel. Unfortunately,
they are expensive running [upwards of
$100](https://war-lok.com/product/tractor-air-brake-lock/). I decided I
could make one out of wood. Note: if you have a [3D printer you can
download plans for one here](https://www.thingiverse.com/thing:1860293).

It's nothing special, just the end of a 2x4 shaped to fit behind the
knob and restrict travel. It also serves as a visual indicator that the
brake is set. I used a bandsaw and a chisel to form it. It took all of
twenty minutes and two attempts to get the right shape and thickness.

![](http://i.imgur.com/ggWlWgT.jpg)

![](http://i.imgur.com/2qLiU9s.jpg)

![](http://i.imgur.com/ZZufA4u.jpg)

![](http://i.imgur.com/2j50kmm.jpg)

I later painted it orange. Looks a little better and is easier to see when mounted.

![painted orange](https://i.imgur.com/j62Q5MY.jpg)

<iframe width="560" height="315" src="https://www.youtube.com/embed/cYYIaTAeFLY?rel=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen>
</iframe>

repository: mike-ward/waywards

repo_name: mike-ward/waywards


text:
[![Build Status][circle-badge]][circle-badge-url]
[![Dependabot Status](https://api.dependabot.com/badges/status?host=github&identifier=109052620)](https://dependabot.com)

# Ionic Starter Templates

:book: **Start an Ionic app**: See our [Getting
Started](https://ionicframework.com/getting-started/) guide.

:mega: **Support**: See our [Support Page][ionic-support] for general
support questions. The issues on GitHub should be reserved for bug reports and
feature requests.

:sparkling_heart: **Modify or add starter templates**: See
[CONTRIBUTING.md](https://github.com/ionic-team/starters/blob/master/CONTRIBUTING.md).

### Starters

Project Type        | Description                                           | Links
--------------------|-------------------------------------------------------|-------
**`angular`**       | Ionic Angular 4+ w/ Angular CLI for Tooling           | [base template](https://github.com/ionic-team/starters/tree/master/angular/base) / [starter templates](https://github.com/ionic-team/starters/tree/master/angular/official)
**`ionic-angular`** | Ionic Angular 2/3 w/ `@ionic/app-scripts` for Tooling | [base template](https://github.com/ionic-team/starters/tree/master/ionic-angular/base) / [starter templates](https://github.com/ionic-team/starters/tree/master/ionic-angular/official)
**`ionic1`**        | Ionic 1 w/ AngularJS                                  | [base template](https://github.com/ionic-team/starters/tree/master/ionic1/base) / [starter templates](https://github.com/ionic-team/starters/tree/master/ionic1/official)

### Integrations

* [Cordova](https://github.com/ionic-team/starters/tree/master/integrations/cordova)

[ionic-support]: https://ionicframework.com/support

[circle-badge]: https://circleci.com/gh/ionic-team/starters.svg?style=shield
[circle-badge-url]: https://circleci.com/gh/ionic-team/starters

repository: rdlabo/starters

repo_name: rdlabo/starters


text:
# SwallowedException

Exceptions should not be swallowed. This rule reports all instances where exceptions are `caught` and not correctly
passed (e.g. as a cause) into a newly thrown exception.

The exception types configured in `ignoredExceptionTypes` indicate nonexceptional outcomes.
These by default configured exception types are part of Java.
Therefore, Kotlin developers have to handle them by using the catch clause.
For that reason, this rule ignores that these configured exception types are caught.

repository: codacy/codacy-detekt

gha_language: Scala

repo_name: codacy/codacy-detekt