text:
# CarND-Path-Planning-Project
Self-Driving Car Engineer Nanodegree Program

![alt text](./image1.jpg)

# path finding

There's many ways to find the path, in general going on highway is rather simple compared to find in for example a parkinglot (but more dangerous).
One easy approach is to just check all the other cars, and if there's a car x meter in front, but no car to one of the sides, go there. easily done with just some ifs.

However, I wanted to try to search the best path, for this I made some kind of A* but as we can't do quick turns, I instead use longer moves, I will come back to this later, as first we need to create a map.

### Map drawing

The type of map I decided to use have the lanes in one axis, and the other axis is using time.
the reason for this is that for example cars that are in front but driving the same speed or faster, will never really block us, so to turn for these would be stupid. Furthermore two other cars that for the moment is at the same position, but drive at different speed, will most likely not be next to each other when we catch up with them and as such we could sense early on that we can pass by there, or the opposite, to early see that we will be blocked at a later time, and as such already prepare to slow down.

I also included the acceleration, in the calculation, but as they can go up and down in acceleration quick, using only this can be a bit unsafe, so I decided to make an acceleration car to be longer, and take up the time-space between the time-position calculated with only speed to the position that included acceleration.

 Besides from this it's pretty much a standard A* with the heuristic function :

```new_g + (max_y - landing_y) * 4 + abs(direction) * 50  * (max_len - len + 1);```

where:
* new_g : the distance traveled.
* max_y : the length to the goal.
* landing_y : the new position in y, here y is the time axis.
* direction : lane change, can be {-1,0,1}, where -1 is turn left, 0 go straight and 1 turn right.
* max_len : longest step, in this case 7
* len : step size used in this case.

So in other words:
* (max_y - landing_y) * 4 : This will give points towards goal lower value.
* abs(direction) * 50  : turning is bad, unless we have to do it.
* (max_len - len + 1) : prefer turns that are longer.

Furthermore, as there's multiple path to the same point, where the first may not be the best, we also keep track of the best path to each position, and if a new
path is better, we update to this.

To save computation and have less risk that the path jumps between paths, we only calculate a new path if the old path get blocked.

Here's an example using the map above.
```
| | | | | | | | | | | | | | | | | |C|C|C|C|C|C| | | | | | |
|0| | | | |0| | | | | | | |C|C|C|C|C| | | | | | | | | | | |
| | | | | | | | | | | | |0| | | | | | |0| | | | | | |0| | |0
```

For more details, see [function search_path() in helpers.h, line 321-450](https://github.com/henrisve/CarND-Path-Planning-Project/blob/ae72438caf1ec2964770e57c27056685727d5d23/src/helpers.h#L321-L450)

## Lane change

In my first version I used the output directly from the path finder, however, this turned out to not be as smooth as I hoped, so after lots of tries I decided to step back and simply use the second position in the path as decision for a lane change.
furthermore as the path finding can be a bit jumpy when lots of cars is around, there's a limit for how often lane changes is allowed.
this can be found in [main.cpp, line 324-344](https://github.com/henrisve/CarND-Path-Planning-Project/blob/ae72438caf1ec2964770e57c27056685727d5d23/src/main.cpp#L324-L344)
## Trajectory calrulation

The base of my code was based on the QA given by udacity, so I used a spline that was calculated by 3 points.

For the calculation of speed I use as input a max acceleration and max jerk, and from these calculate the maximum speed for the next point. however, as this was only using the x values (forward direction), this will exceed these values while changing lanes, as such I went with pretty low values. An improved version could include the sideway acceleration and jerk and as such be able to use full acceleration when needed without exceeding it.

## Path not found

so, what if we're blocked by the cars ahead? in this case the pathfinder will return the best path found along with a flag to tell us that it's blocked, we will then try to get behind the car that is currently the best choise, this may lead to going back and forth between the lanes as the other cars is pretty stupid and accelerate/deaccelerate rather unpredicted. But hopefully we will be in a spot that will soon open up and we can drive past the cars.

During the time being blocked, we will try to keep a fixed distance from the car ahead using a simple p-regulator, and as soon we have a possible path, we go for it. This can be found in [main.cpp, line 227-254](https://github.com/henrisve/CarND-Path-Planning-Project/blob/ae72438caf1ec2964770e57c27056685727d5d23/src/main.cpp#L227-L254)
## future improvements.

* currently we might get hit by a car going very fast from behind, this should be improved in the calculation of the map..
* use both x and y when calculate the speed, so that we fully can use the allowed acceleration.
* To be on the safe side, we do slow down sometimes when passing by a car (as we get too close), I added this due to at some points colliding with the car in front after getting out from a blocked scenario.
* reduce the amount of bad lane change, as we sometimes change lane and then change back soon after.
* use a smarter way to predict when other cars is changing lanes (perhaps as was done in the lectures)

# INSTRUCTIONS: (old readme)

# CarND-Path-Planning-Project
Self-Driving Car Engineer Nanodegree Program

### Simulator.
You can download the Term3 Simulator which contains the Path Planning Project from the [releases tab (https://github.com/udacity/self-driving-car-sim/releases/tag/T3_v1.2).

To run the simulator on Mac/Linux, first make the binary file executable with the following command:
```shell
sudo chmod u+x {simulator_file_name}
```

### Goals
In this project your goal is to safely navigate around a virtual highway with other traffic that is driving +-10 MPH of the 50 MPH speed limit. You will be provided the car's localization and sensor fusion data, there is also a sparse map list of waypoints around the highway. The car should try to go as close as possible to the 50 MPH speed limit, which means passing slower traffic when possible, note that other cars will try to change lanes too. The car should avoid hitting other cars at all cost as well as driving inside of the marked road lanes at all times, unless going from one lane to another. The car should be able to make one complete loop around the 6946m highway. Since the car is trying to go 50 MPH, it should take a little over 5 minutes to complete 1 loop. Also the car should not experience total acceleration over 10 m/s^2 and jerk that is greater than 10 m/s^3.

#### The map of the highway is in data/highway_map.txt
Each waypoint in the list contains  [x,y,s,dx,dy] values. x and y are the waypoint's map coordinate position, the s value is the distance along the road to get to that waypoint in meters, the dx and dy values define the unit normal vector pointing outward of the highway loop.

The highway's waypoints loop around so the frenet s value, distance along the road, goes from 0 to 6945.554.

## Basic Build Instructions

1. Clone this repo.
2. Make a build directory: `mkdir build && cd build`
3. Compile: `cmake .. && make`
4. Run it: `./path_planning`.

Here is the data provided from the Simulator to the C++ Program

#### Main car's localization Data (No Noise)

["x"] The car's x position in map coordinates

["y"] The car's y position in map coordinates

["s"] The car's s position in frenet coordinates

["d"] The car's d position in frenet coordinates

["yaw"] The car's yaw angle in the map

["speed"] The car's speed in MPH

#### Previous path data given to the Planner

//Note: Return the previous list but with processed points removed, can be a nice tool to show how far along
the path has processed since last time.

["previous_path_x"] The previous list of x points previously given to the simulator

["previous_path_y"] The previous list of y points previously given to the simulator

#### Previous path's end s and d values

["end_path_s"] The previous list's last point's frenet s value

["end_path_d"] The previous list's last point's frenet d value

#### Sensor Fusion Data, a list of all other car's attributes on the same side of the road. (No Noise)

["sensor_fusion"] A 2d vector of cars and then that car's [car's unique ID, car's x position in map coordinates, car's y position in map coordinates, car's x velocity in m/s, car's y velocity in m/s, car's s position in frenet coordinates, car's d position in frenet coordinates.

## Details

1. The car uses a perfect controller and will visit every (x,y) point it recieves in the list every .02 seconds. The units for the (x,y) points are in meters and the spacing of the points determines the speed of the car. The vector going from a point to the next point in the list dictates the angle of the car. Acceleration both in the tangential and normal directions is measured along with the jerk, the rate of change of total Acceleration. The (x,y) point paths that the planner recieves should not have a total acceleration that goes over 10 m/s^2, also the jerk should not go over 50 m/s^3. (NOTE: As this is BETA, these requirements might change.

2. There will be some latency between the simulator running and the path planner returning a path, with optimized code usually its not very long maybe just 1-3 time steps. During this delay the simulator will continue using points that it was last given, because of this its a good idea to store the last points you have used so you can have a smooth transition. previous_path_x, and previous_path_y can be helpful for this transition since they show the last points given to the simulator controller with the processed points already removed. You would either return a path that extends this previous path or make sure to create a new path that has a smooth transition with this last path.

## Tips

A really helpful resource for doing this project and creating smooth trajectories was using http://kluge.in-chemnitz.de/opensource/spline/, the spline function is in a single hearder file is really easy to use.

---

## Dependencies

* cmake >= 3.5
  * All OSes: [click here for installation instructions](https://cmake.org/install/)
* make >= 4.1
  * Linux: make is installed by default on most Linux distros
  * Mac: [install Xcode command line tools to get make](https://developer.apple.com/xcode/features/)
  * Windows: [Click here for installation instructions](http://gnuwin32.sourceforge.net/packages/make.htm)
* gcc/g++ >= 5.4
  * Linux: gcc / g++ is installed by default on most Linux distros
  * Mac: same deal as make - [install Xcode command line tools]((https://developer.apple.com/xcode/features/)
  * Windows: recommend using [MinGW](http://www.mingw.org/)
* [uWebSockets](https://github.com/uWebSockets/uWebSockets)
  * Run either `install-mac.sh` or `install-ubuntu.sh`.
  * If you install from source, checkout to commit `e94b6e1`, i.e.
    ```
    git clone https://github.com/uWebSockets/uWebSockets
    cd uWebSockets
    git checkout e94b6e1
    ```

## Editor Settings

We've purposefully kept editor configuration files out of this repo in order to
keep it as simple and environment agnostic as possible. However, we recommend
using the following settings:

* indent using spaces
* set tab width to 2 spaces (keeps the matrices in source code aligned)

## Code Style

Please (do your best to) stick to [Google's C++ style guide](https://google.github.io/styleguide/cppguide.html).

## Project Instructions and Rubric

Note: regardless of the changes you make, your project must be buildable using
cmake and make!

## Call for IDE Profiles Pull Requests

Help your fellow students!

We decided to create Makefiles with cmake to keep this project as platform
agnostic as possible. Similarly, we omitted IDE profiles in order to ensure
that students don't feel pressured to use one IDE or another.

However! I'd love to help people get up and running with their IDEs of choice.
If you've created a profile for an IDE that you think other students would
appreciate, we'd love to have you add the requisite profile files and
instructions to ide_profiles/. For example if you wanted to add a VS Code
profile, you'd add:

* /ide_profiles/vscode/.vscode
* /ide_profiles/vscode/README.md

The README should explain what the profile does, how to take advantage of it,
and how to install it.

Frankly, I've never been involved in a project with multiple IDE profiles
before. I believe the best way to handle this would be to keep them out of the
repo root to avoid clutter. My expectation is that most profiles will include
instructions to copy files to a new location to get picked up by the IDE, but
that's just a guess.

One last note here: regardless of the IDE used, every submitted project must
still be compilable with cmake and make./

## How to write a README
A well written README file can enhance your project and portfolio.  Develop your abilities to create professional README files by completing [this free course](https://www.udacity.com/course/writing-readmes--ud777).

repository: henrisve/CarND-Path-Planning-Project

repo_name: henrisve/CarND-Path-Planning-Project


text:
## WinPython <IP_ADDRESS>dotPyPy

The following packages are included in WinPython-64bit v<IP_ADDRESS>dotPyPy .

### Tools

Name | Version | Description
-----|---------|------------

### Python packages

Name | Version | Description
-----|---------|------------
[Python](http://www.python.org/) | 3.8.12 | Python programming language with standard library
[cffi](https://pypi.org/project/cffi) | 1.15.0 | Foreign Function Interface for Python calling C code.
[greenlet](https://pypi.org/project/greenlet) | 0.4.13 | Lightweight in-process concurrent programming
[hpy](https://pypi.org/project/hpy) | 0.0.3 | A better C API for Python
[msvc_runtime](https://pypi.org/project/msvc_runtime) | 14.29.30133 | Install the Microsoft™ Visual C++™ runtime DLLs to the sys.prefix and Scripts directories
[pip](https://pypi.org/project/pip) | 22.0.4 | The PyPA recommended tool for installing Python packages.
[readline](https://pypi.org/project/readline) | <IP_ADDRESS> | Hack to make "pip install readline" happy and do nothing
[setuptools](https://pypi.org/project/setuptools) | 62.1.0 | Easily download, build, install, upgrade, and uninstall Python packages
[sqlite_bro](https://pypi.org/project/sqlite_bro) | 0.12.2 | a graphic SQLite Client in 1 Python file
[wheel](https://pypi.org/project/wheel) | 0.37.1 | A built-package format for Python
[winpython](http://winpython.github.io/) | 4.6.20220501 | WinPython distribution tools, including WPPM

license: MIT

repository: winpython/winpython

branch_name: refs/heads/master

extension: md

gha_language: Python

gha_license_id: MIT

license_type: permissive

repo_name: winpython/winpython


text:
# 802.11

- WLANs work at [[physical layer]] and [[data link layer]]
- Support TCP/IP higher-layer OSI protocols and [[operating system]]s
- Most popular standard used by WLANs is wi-fi
  - Developed by IEEE's 802.11 committee
- Standards
  - 802.11b
  - 802.11a
  - 802.11g
  - 802.11n
  - 802.11ac
    - Operates on 5 GHz
    - Exceeds benchmarks set by earlier standards
    - First Wi-Fi standard to approach Gigabit Ethernet capabilities
- 802.11n and later modify the way frames are used at the MAC sublayer
  - Lower portion of the [[data link layer]]
- LLC sublayer is primarily concerned with multiplexing, flow and error control, and reliability

## Access Method

- 802.11 MAC services
  - Append 48-bit physical addresses to frame to identify source/destination
- Same physical addressing scheme as other Ethernet networks
  - Can be easily combined with IEEE networks
- Wireless devices
  - Not designed to simultaneously send/receive
  - Cannot prevent collisions
  - Different access method than Ethernet
- CSMA/CA
  - Carrier Sense Multiple Access with Collision Avoidance
  - Minimizes collision potential
  - Uses ACK packets to verify every transmission
    - More overhead than 802.3
    - Real throughput is less than theoretical maximum
- RTS/CTS
  - Request to Send/Clear to Send
  - Ensures packets not inhibited by other transmissions
  - Efficient for large transmission packets
  - Decreases overall 802.11 efficiency

## Frames

![802.11 data from compared with an 802.3 Ethernet frame](/assets/second-brain/2020-10-16-15-04-02.png)

- Overhead
  - ACKs, probes, beacons
- Specifies MAC sublayer frame type
- Multiple frame type groups
  - Management frames
    - Association and re-association
  - Control frames
    - Medium access and data delivery
    - ACK and RTS/CTS frames
  - Data frames
    - Carry data sent between stations
    - Four address fields
      - Source address
      - Transmitter address
      - Receiver address
      - Destination address
    - Sequence control field
      - How large packets are fragmented
    - Error checking and fragmentation are handled at the MAC sublayer of the [[data link layer]]

## Innovations

- MIMO
  - Multiple Input Multiple Output
  - Multiple access point and client device antennas may issue signal to one or more receivers
  - Increase range and network's throughput
- MU-MIMO
  - Multiuser MIMO
  - Newer tech that allows multiple antennas to service multiple clients simultaneously
  - Reduces congestion
  - Contributes to faster data transmission
  - Available with WAVE 2 802.11ac products
- Channel bonding
  - Two adjacent 20 MHz channels can be bonded to make a 40 MHz channel
    - More than doubles bandwidth available in a single 20 MHz channel
- Frame aggregation
  - Combine multiple frames into one larger frame
  - Two techniques
    - A-MSDU (Aggregated Mac Service Data Unit)
    - A-MPDU (Aggregated Mac Protocol Data Unit)
  - Reduces overhead

[[Computer Science]] [[Networking]] [[Wireless Networking]]

branch_name: refs/heads/main

gha_language: TypeScript


text:
# Gloidium Sorokin, 1878 GENUS

#### Status
ACCEPTED

#### According to
Interim Register of Marine and Nonmarine Genera

#### Published in
Morphol. Jahrb. , 4 (3), 402.

#### Original name
null

### Remarks
null

repository: mdoering/backbone

path: /life/incertae sedis/Gloidium/README.md

repo_name: mdoering/backbone


text:
---
page_type: sample
products:
- office-sp
- office-365
languages:
- csharp
extensions:
  contentType: samples
  technologies:
  - Add-ins
  createdDate: 8/17/2015 1:40:30 PM
description: "Use the SharePoint client-side object model to perform create, read, update, and delete operations on lists and list items from a SharePoint Add-in."
---

# Basic CRUD operations in SharePoint Add-ins using the client-side object model (CSOM) APIs

> SharePoint add-in model is considered as a legacy option for extending SharePoint user interface. Please see [SharePoint Framework documentation](https://aka.ms/spfx) and the [SharePoint Framework samples](https://aka.ms/spfx-webparts) for the future proven option to extend SharePoint Online. Possible backend services should be using Azure Active Directly based registration and related app models.

## Summary

Use the SharePoint client-side object model (CSOM) to perform create, read, update, and delete operations on lists and list items from a SharePoint Add-in.

### Applies to

-  SharePoint Online and on-premise SharePoint 2013 and later

## Prerequisites

This sample requires the following:

- A SharePoint 2013 development environment that is configured for app isolation and OAuth. (A SharePoint Online Developer Site is automatically configured. For an on premise development environment, see [Set up an on-premises development environment for SharePoint Add-ins](https://msdn.microsoft.com/library/office/fp179923.aspx) and [Use an Office 365 SharePoint site to authorize provider-hosted add-ins on an on-premises SharePoint site](https://msdn.microsoft.com/library/office/dn155905.aspx).)

- Visual Studio and the Office Developer Tools for Visual Studio installed on your developer computer

## Description of the code
The code that uses the CSOM APIs is located in the Default.aspx.cs file of the SharePoint-Add-in-CSOM-BasicDataOperationsWeb project. The Default.aspx page of the add-in appears after you install and launch the add-in and looks similar to the following.

![The add-in start page with a table listing all the list on the site by name and ID.](/description/fig1.gif)

The sample demonstrates the following:

- How to read and write data to and from the host web of a SharePoint Add-in.

- How to load the data returned from SharePoint into the client context object and then display the data.

## To use the sample

12. Open **Visual Studio** as an administrator.
13. Open the .sln file.
13. In **Solution Explorer**, highlight the SharePoint add-in project and replace the **Site URL** property with the URL of your SharePoint developer site.
14. Press F5.
15. After the app installs, the consent page opens. Click **Trust It**.
16. Enter a string in the text box beside the **Add List** button and click the button. In a moment, the page refreshes and the new list is in the table.
17. Click the ID of the list, and then click **Retrieve List Items**. There will initially be no items on the list. Some additional buttons will appear.
18. Add a string to the text box beside the **Add Item** button and press the button. The new item will appear in the table in the row for the list.
19. Add a string to the text box beside the **Change List Title** button and press the button. The title will change in the table.
20. Press the **Delete the List** button and the list is deleted.

**Do not delete any of the built-in SharePoint lists. If you mistakenly do so, recover the list from the SharePoint Recycle Bin.**

## Troubleshooting

Problem

Solution

Visual Studio does not open the browser after you press the F5 key.
Set the app for SharePoint project as the startup project.

HTTP error 405 Method not allowed.
Locate the applicationhost.config file in %userprofile%\Documents\IISExpress\config.

Locate the handler entry for StaticFile, and add the verbs
GET, HEAD, POST, DEBUG, and
TRACE.

## Questions and comments

We'd love to get your feedback on this sample. You can send your questions and suggestions to us in the [Issues](https://github.com/OfficeDev/SharePoint-Add-in-CSOM-BasicDataOperations/issues) section of this repository.

## Additional resources

[SharePoint Add-ins](https://msdn.microsoft.com/library/office/fp179930.aspx)

[Complete basic operations using SharePoint 2013 client library code](https://msdn.microsoft.com/library/office/fp179912.aspx)

### Copyright

Copyright (c) Microsoft. All rights reserved.

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information, see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode<EMAIL_ADDRESS>with any additional questions or comments.


text:
# 311 Infrastructure Maintenance Closure Rates

## Dataset

| Name | Value |
| :--- | :---- |
| Catalog | [Link](https://catalog.data.gov/dataset/311-infrastructure-maintenance-closure-rates) |
| Metadata | [Link](https://data.jacksonms.gov/api/views/jj2h-3ijx) |
| Data: JSON | [100 Rows](https://data.jacksonms.gov/api/views/jj2h-3ijx/rows.json?max_rows=100) |
| Data: CSV | [100 Rows](https://data.jacksonms.gov/api/views/jj2h-3ijx/rows.csv?max_rows=100) |
| Host | data.jacksonms.gov |
| Id | jj2h-3ijx |
| Name | 311 Infrastructure Maintenance Closure Rates |
| Attribution | City of Jackson |
| Category | City Services |
| Tags | 311, action line, mayor's action line, city services, jackson service center |
| Created | 2016-03-09T15:46:17Z |
| Publication Date | 2016-04-11T21:18:34Z |

## Description

This data shows the closure rates for all calls related to infrastructure maintenance in the 311 system. This information is updated monthly.

## Columns

```ls
| Included | Schema Type    | Field Name       | Name               | Data Type     | Render Type   |
| ======== | ============== | ================ | ================== | ============= | ============= |
| Yes      | series tag     | bridges_drainage | BRIDGES & DRAINAGE | text          | text          |
| Yes      | numeric metric | calls_closed     | Calls Closed       | number        | number        |
| Yes      | numeric metric | calls_received   | Calls Received     | number        | number        |
| Yes      | numeric metric | closure_rate     | Closure Rate       | percent       | percent       |
| Yes      | time           | as_of_date       | As of Date:        | calendar_date | calendar_date |
```

## Time Field

```ls
Value = as_of_date
Format & Zone = yyyy-MM-dd'T'HH:mm:ss
```

## Data Commands

```ls
series e:jj2h-3ijx d:2016-01-31T00:00:00.000Z t:bridges_drainage="Ditch Maintenance" m:calls_closed=38 m:calls_received=39 m:closure_rate=103

series e:jj2h-3ijx d:2016-01-31T00:00:00.000Z t:bridges_drainage="Drainage Maintenance (inlets, etc)" m:calls_closed=86 m:calls_received=41 m:closure_rate=48

series e:jj2h-3ijx d:2016-02-28T00:00:00.000Z t:bridges_drainage="Ditch Maintenance" m:calls_closed=53 m:calls_received=34 m:closure_rate=64
```

## Meta Commands

```ls
metric m:calls_closed p:integer l:"Calls Closed" t:dataTypeName=number

metric m:calls_received p:integer l:"Calls Received" t:dataTypeName=number

metric m:closure_rate p:float l:"Closure Rate" t:dataTypeName=percent

entity e:jj2h-3ijx l:"311 Infrastructure Maintenance Closure Rates" t:attribution="City of Jackson" t:url=https://data.jacksonms.gov/api/views/jj2h-3ijx

property e:jj2h-3ijx t:meta.view v:id=jj2h-3ijx v:category="City Services" v:attributionLink=http://www.jacksonms.gov v:averageRating=0 v:name="311 Infrastructure Maintenance Closure Rates" v:attribution="City of Jackson"

property e:jj2h-3ijx t:meta.view.owner v:id=6ngd-c2u2 v:profileImageUrlMedium=/api/users/6ngd-c2u2/profile_images/THUMB v:profileImageUrlLarge=/api/users/6ngd-c2u2/profile_images/LARGE v:screenName="Justin Bruce" v:profileImageUrlSmall=/api/users/6ngd-c2u2/profile_images/TINY v:lastNotificationSeenAt=1492180672 v:displayName="Justin Bruce"

property e:jj2h-3ijx t:meta.view.tableauthor v:id=6ngd-c2u2 v:profileImageUrlMedium=/api/users/6ngd-c2u2/profile_images/THUMB v:profileImageUrlLarge=/api/users/6ngd-c2u2/profile_images/LARGE v:screenName="Justin Bruce" v:profileImageUrlSmall=/api/users/6ngd-c2u2/profile_images/TINY v:roleName=administrator v:lastNotificationSeenAt=1492180672 v:displayName="Justin Bruce"
```

## Top Records

```ls
| bridges_drainage                   | calls_closed | calls_received | closure_rate | as_of_date          |
| ================================== | ============ | ============== | ============ | =================== |
| Ditch Maintenance                  | 38           | 39             | 103.00       | 2016-01-31T00:00:00 |
| Drainage Maintenance (inlets, etc) | 86           | 41             | 48.00        | 2016-01-31T00:00:00 |
| Ditch Maintenance                  | 53           | 34             | 64           | 2016-02-28T00:00:00 |
| Drainage Maintenance (inlets, etc) | 113          | 41             | 36           | 2016-02-28T00:00:00 |
| Ditch Maintenance                  | 101          | 49             | 49           | 2016-03-30T00:00:00 |
| Drainage Maintenance (inlets, etc) | 180          | 48             | 27           | 2016-03-31T00:00:00 |
```

repository: SpellarBot/open-data-catalog

repo_name: SpellarBot/open-data-catalog


text:
# Styx File Manager

A File Manager built on Electron. Supports macOS & Linux

#### Contribution Needed!

![5c8ed7084b400](https://i.loli.net/2019/03/18/5c8ed7084b400.png)

#### How to run:

Clone the repository

```
git clone https://github.com/luciferreeves/bexplorer.git
```

Install dependencies

```
npm install
```

Start app

```
npm start
```

make changes, push to github.


text:
# Spark-Bot
Spark Bot Q&A write to CSV for documenting information gathered.

Will reply to a 1:1 request with a few questions, then store these in a CSV.

Based on BrBester's pyCiscoSpark

Original Readme:
# pyCiscoSpark
==============

Python Library to Interface to Cisco Spark REST API
---------------------------------------------------
using requests >2.4 - install instructions here:
http://docs.python-requests.org/en/latest/user/install/

at = personal Access Token (see https://developer.ciscospark.com/getting-started.html)

Basically call the functions below and get a Python dictionary of the JSON back. You can then print the raw dictionary and choose the specific return fields you want to parse.

This is an example of getting a Display Name from the Spark API from the personID:

`resp_dict2=pyCiscoSpark.get_persondetails(accesstoken,personid)`

`print resp_dict2['displayName']`

## Examples
###example.py
Python example to show room members and print the text messages in a specified room
execute via "python example.py access_token_string"

###example2.py
Searches for a specified room and then posts a designated message

###createwebhook.py
creates webhook to watch for new messages in a room

### ciscospark.php
Sample PHP script to receive notifications from created webhook

### sparkmess.py
Sample python script to act on notifications by posting a message back to room in response (bot example)

### sparkgoogle.py
Sample "bot" script. prefix a query or question with Google in a room and it responds with top 2 Google search results and links.  Requires ciscospark.php or similar to call it in response to created webhook.


text:
# Composer Ant Bridge
Composer script that runs Phing build-script for installed packages

## Use

Add script to projects composer.json
```
"scripts": {
    "packagebuilder": [
        "ComposerPhing\\Packages::build"
    ]
}
```

Call:

```
composer run-script packagebuilder
```

If your Ant build-files has a specific target you want to trigger, you can pass that as an argument:

```
composer run-script packagebuilder -- prod
```

repository: humanit-se/composer-phing

gha_language: PHP

repo_name: humanit-se/composer-phing


text:
---
title:  "Step 1: Download and Set-Up"
summary: Set up is easy. Just download and extract a ZIP file.
sidebar: suite_sidebar
permalink: suite-step-1.html
toc: false
---

## Start Here

**1. Go to the Superalgos repository** within the Superalgos organization in GitHub.  Click the green *Clone or download* button** on the right-hand side of the page. If you are a developer, feel free to clone the repository, otherwise, click the Download ZIP button.

{% include image.html file='how-to/download-the-software-01.gif' url='yes' max-width='100' caption='If you are downloading a ZIP file, the name should be ```Superalgos-master.zip```.' %}

**3. Extract the ZIP file** in an accessible location on your local drive. For your convenience, don't put it too deep within a folder structure as you will launch the system from this location.

{% include image.html file='how-to/download-the-software-02.gif' url='yes' max-width='100' caption='Extract in an accessible location.' %}

{% include note.html content="If you extract the file with default options,the resulting name of the foler is ```Superalgos-master```. This is how we will refer to the folder from now on. If you are cloning the repository instead of downloading a ZIP file, the folder name will likely be ```Superalgos```." %}


text:
# COVID19-New-Case-Tracker
Using Plotly, Pandas, and data from https://github.com/CSSEGISandData/COVID-19 to generate a map of new COVID-19 cases within a timeframe

To run locally:
1) Install Plotly (https://plot.ly/python/getting-started/ , also follow the Jupyter Notebook support section)
2) Install Pandas (https://pandas.pydata.org/getting_started.html)
3) Install Jupyter (https://jupyter.org/install)
4) Run Jupyter wherever you put Tracker.ipynb

To run online:
1) Go to https://notebooks.azure.com/Thorinori/projects/covid-19-new-case-tracker
2) Clone the Azure Repo
2) Press "Run on Free Compute"

Shared Info:
To generate a map for a timeframe, use generate_new_map(start, end) where start and end are strings formatted "1/22/20" (mm/dd/yy).

If you want to see the total number of cases instead of the new cases within a period of time, set start and end to the same date.

Example Output:

![Example Map](https://github.com/Thorinori/COVID19-New-Case-Tracker/blob/master/newplot.png)


text:
**PowerShell cloudbleed IE/Chrome check**

This script use [https://github.com/pirate/sites-using-cloudflare](https://github.com/pirate/sites-using-cloudflare) and check IE or Chrome history on the local machine for cloudbleed affected domain

To understand Cloudbleed you should read this [https://blog.cloudflare.com/incident-report-on-memory-leak-caused-by-cloudflare-parser-bug/](https://blog.cloudflare.com/incident-report-on-memory-leak-caused-by-cloudflare-parser-bug/)

In short, a bug in Cloudflare proxy leaked sensitive data between 2016-09 22 and 2017-02-18. This proxy service is used by many web sites and web services, from the small one to the Bigest.
Session data as been leaked, you should log out session from this website.
In addition you should also try to reset password from this sites.

this script is written in PowerShell, it is an alpha version.
There is some change needed to improve performence

I use [System.IO.File]::OpenText instead of get-content (it take too long and using NET object require only few seconds)

**TODO**

* change parsing method for better perf
* add Edge history
* Error Control


text:
_Python Setup notes_

* Installed python3 with brew
  This is a mistake actually, because it installed python 3.9.
   `brew install python3`
   In retrospect check to see if any old version of venv is running, if not install one.
   Then bootstrap everything with venv like this:
   ```
    virtualenv --system-site-packages -p python3.8 python-venv-3.8.5
	pip install --upgrade pip3
   ```
   then using this venv to all pip upgrades ... *phew*  I'm not even sure if this would work.
* Added pip
   ```shell
   git clone git@github.com:pypa/pip.git pip
   python3 setup.py install
   ```
* Added pymode.el to init.elisp
   https://realpython.com/emacs-the-best-python-editor/
* Created an env directory python-venv
   ```shell
   python3 -m venv env
   source python/venv/env/bin/activate
   deactivate
   ```
* Python tools
	```shell
   pip3 -q install bcrypt
   pip3 install virtualenvwrapper
   pip3 install jupyter
   pip3 install torch torchvision
   pip install numpy pandas requests
   ```
   * Notebooks: Jupiter/ein notes
	   * ein start
	   * <ctrl-c> <ctrl-c>
	   *
* TensorFlow Keras
https://margaretmz.medium.com/anaconda-jupyter-notebook-tensorflow-and-keras-b91f381405f8
  Careful here, you must be in a venv, go figure.  It has to do with
  conflicting between MACs system python libraries and your own.
  ```shell
  virtualenv --system-site-packages -p python3.8 venv-3.8.6
  source venv-3.8.6/bin/activate
  pip install --upgrade pip
  pip install --upgrade tensorflow
  pip install --upgrade Keras
  ```
* Jupyter in Emacs
  see: https://millejoh.github.io/emacs-ipython-notebook/#running-a-jupyter-notebook-server-from-emacs
  We added ein, and elpy to the emacs setup, but struggled with getting jupyter to use the 3.8.6 venv.
  To start jupyter in the correct venv:
  ```
  (venv-3.8.6) $ jupyter notebook --notebook-dir=~/src/juanman2/mlpy/notebook/ --no-browser &
  ```
  Then from emacs
  ```
  m-x ein:login
  ```


text:
# Information Theory Project 1
This project was made using Matlab and covers:
* Entropy Analysis over different sources
* Huffman codes
* Group Huffman codes
* Mutual information applied to pattern recognition

# Lore
Every other file stems from main, there, for each file:
* Entropy is calculated;
* Histogram is drawn;
* Huffman codes (both single and to n-th order (we just did the 2 order) are calculated;
Finally, for each "target image":
* Mutual is calculated based on previous function;
* An algorithm is run to identify the the zone that as the biggest mutual information;

# Known Issues/Bugs
* Massive Slowdown in performance if, when calculating frequency, an alphabet is used

## Collaborators
[Miguel Rabuge](https://github.com/MikeLrUC)

repository: TLDart/TI-ProjectOne

repo_name: TLDart/TI-ProjectOne


text:
---
layout: page
title: Lean Prover Zulip Chat Archive
permalink: archive/113488general/56977NewlyDownloaded.html
---

## [general](index.html)
### [Newly Downloaded](56977NewlyDownloaded.html)

#### [Sean G McCain (Oct 31 2018 at 22:38)](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Newly%20Downloaded/near/136883261):
I am using LEAN for a discrete math class. I just downloaded it for a project. Is there anything that I need to also download or is using the LEAN extension in Visual Studio all I need to get going?

#### [Andrew Ashworth (Oct 31 2018 at 22:47)](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Newly%20Downloaded/near/136883713):
nope, the lean extension + lean is all you need to start hacking around

#### [Chris Hughes (Oct 31 2018 at 22:47)](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Newly%20Downloaded/near/136883720):
This should help https://www.youtube.com/watch?v=2f_9Zetekd8

#### [Sean G McCain (Oct 31 2018 at 22:49)](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Newly%20Downloaded/near/136883811):
I have a Mac. Is that going to change anything?

#### [Chris Hughes (Oct 31 2018 at 23:08)](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Newly%20Downloaded/near/136884818):
I think there's another video on macs.

#### [Chris Hughes (Oct 31 2018 at 23:08)](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Newly%20Downloaded/near/136884824):
Look at Scott's channel

#### [Kevin Buzzard (Oct 31 2018 at 23:40)](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Newly%20Downloaded/near/136886433):
https://www.youtube.com/watch?v=k8U6YOK7c0M&t=7s is the mac one. If you are only doing super-basic maths then core Lean might have what you need, but the moment you want something like the binomial theorem you're going to need the maths library.


text:
# NeoCities.org

[![Build Status](https://travis-ci.org/neocities/neocities.png?branch=master)](https://travis-ci.org/neocities/neocities)

The web site for NeoCities! It's open source. Want a feature on the site? Send a pull request!

## Installation (OSX)

Install homebrew:
```
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
```

Install deps:
```
$ brew install redis postgresql phantomjs libmagic imagemagick
```

Fork the repository on Github.
Clone the forked repo to your local machine: git clone git@github.com:YOURUSERNAME/neocities.git
Install deps:

```
$ cd neocities
$ gem install bundler
$ bundle install
```

Create postgres databases:

```
createdb neocities_test
createdb neocities_dev
```

Copy config.yml.template to config.yml.

Run the tests to see if they work:

```
  bundle exec rake test
```

## Want to contribute?

If you'd like to fix a bug, or make an improvement, or add a new feature, it's easy! Just send us a Pull Request.

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

repository: das-aiya/neocities

repo_name: das-aiya/neocities


text:
## discourse-user-card-badge

This plugin allows users to choose one badge with an image to show on their user card.

## Installation

Proceed with a normal [installation of a plugin](https://meta.discourse.org/t/install-a-plugin/19157).

### After Installation

Enable the plugin by going to the settings in Admin. Find the "user card badges enabled" setting and enable it.

### About

This plugin allows badge images to appear in the bottom right corner of user cards. Badges must have an image defined for them to be used.

Users can choose which badge image to show on their card by going to the Profile section of their preferences.

### License

MIT

repository: discourse/discourse-user-card-badges

gha_language: Ruby

repo_name: discourse/discourse-user-card-badges


text:
# Adding details to dependency relationships

We have recently added support for adding additional information to dependency relationships.

In RUNBOOK.md dependencies are specified as follows:

```md
## Dependencies

-   biz-ops-api
-   biz-ops-schema
```

You can also add 2 kinds of additional details:

-   `resiliencePatterns`: one or more specific architectural patterns that can make a dependency more resilient. Choose from the list: `Cache`, `DurableCache`, `GracefulDegradation`, `Replay`, `ManualFallback`
-   resilienceDetails: A free text field to explain more about how resilience is implemented.

To add these to your markdown file use a format very similar to YAML. The resiliencePatterns should be comma-separated (with or without whitespace). Adding them is optional (though if you have a dependency on a system of a lower service tier, it will improve your SOS score if you fill out the information). e.g.

```md
## Dependencies

-   biz-ops-api
    resiliencePatterns: Cache, Replay
    resilienceDetails: Calls to Biz Ops are held in an in memory cache. The app consumes a kinesis stream, which replays events that cause the application to error.
-   biz-ops-schema
```

## More generally

This is the first example we've added to Biz Ops of adding properties directly onto relationships. This is a powerful addition to the graph model which you should expect to see more of. The general pattern for adding these in RUNBOOK.md is

-   Put on the line immediately following the related record code.
-   Indent by two spaces or one tab
-   Use the exact property name as specified in the Biz Ops schema (we will work on surfacing this information in a more discoverable way first)
-   Text fields should be kept to a single line
-   List fields (such as 'resiliencePatterns' above) should be comma separated
-   All other types of fields (Boolean, Date, etc) follow the same conventions as top level RUNBOOK.md fields


text:
# Build a virtual machine scale set

|expected time|requirements|
|-------------|------------|
|60 minutes   |a computer  |

Goal: Experiment with a Virtual Machine Scale Set.

## Explanation

A scale set allow you to treat a set of machines as one resource. Typically a loadbalancer sends traffic to healthy members of a scale set.

A scaleset is easier to maintain than individual VM's, for example; a single number (`instances`) can scale up (or down) the amount of machines in a scale set.

A scaleset can also manage it's own capacity (number of instances in the scale set) using a [`monitoring_autoscale_setting`](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/monitor_autoscale_setting) resource.

## Howto

Have a look at the [terraform documentation on scale sets](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/virtual_machine_scale_set).

There are quite some parameters to set; you may need to search for a few examples.

## Demo

See this [azure linux virtual machine](https://github.com/robertdebock/terraform-azurerm-scale-set) example.

A nice feature of the code above is that it uses [cloud-init](https://cloudinit.readthedocs.io/en/latest/) to customize the instance. An alternative would be to make an image using a tool as [packer](https://www.packer.io/).

## Assignment

- [ ] Write the Terraform code to provision a scale set. Likely begin with the example mentioned in the demo.
- [ ] Ensure that the scale-set starts with 3 nodes.
- [ ] Ensure that the autoscaling minimum instances is set to 2 nodes.
- [ ] Ensure that the autoscaling maximum instances is set to 5 nodes.
- [ ] Visit the [Azure Portal](https://portal.azure.com/) to review your work. (All resources -> Virtual machine scale set -> Scaling -> Run history)

Bonus: (Only if you have extra time)

- [ ] Add SSL (httpd) to apache2. [Here](https://www.informaticar.net/enable-https-on-ubuntu-web-server-20-04/) are some hints.
- [ ] Also forward traffic to port 443 to the instances.

## Questions

1. With Terraform, there is a `count` parameter for resources. Instead of a linux_virtual_machine_scaleset, you could also just add `count` to a linux_virtual_machine resource. What are the benefits of a scale-set?
2. Imagine you need to troubleshoot the instances, how would you connect?

repository: eduardoalmeid/learn-terraform

repo_name: eduardoalmeid/learn-terraform


text:
Map service names to distro specific services.

Provides the following:

 * bin/svc-map

   usage: svc-map [-h] SERVICE

   Translate service name to distro specific name.

   optional arguments:
     -h, --help         show this help message and exit

 * Any element may create its own svc-map YAML config file using
   the one of 3 sections for the distro/family/ and or default.
   The family is set automatically within svc-map based on
   the supplied distro name. Families include:
     + redhat: includes centos, fedora, and rhel distros
     + debian: includes debian and ubuntu distros
     + suse: includes the opensuse distro

   The most specific section takes priority. Example for Nova and Glance
   (NOTE: default is using the common value for redhat and suse families)

   The key used for the service name should always be the same name used for
   the source installation of the service.  The svc-map script will check for
   the source name against systemd and upstart and return that name if it
   exists instead of the mapped name.

    Example format for Nova:

      nova-api:
        default: openstack-nova-api
        debian: nova-api
      nova-cert:
        default: openstack-nova-cert
        debian:  nova-cert
      nova-compute:
        default: openstack-nova-compute
        debian: nova-compute
      nova-conductor:
        default: openstack-nova-conductor
        debian: nova-conductor
      nova-consoleauth:
        default: openstack-nova-console
        debian: nova-console

    Example format for Glance

      glance-api:
        debian: glance-api
        default: openstack-glance-api
      glance-reg:
        debian: glance-reg
        default: openstack-glance-registry

    If the distro is of the debian family the combined services file would be:

        nova-cert: nova-cert
        nova-compute: nova-compute
        glance-api: glance-api
        nova-conductor: nova-conductor
        nova-api: nova-api
        glance-reg: glance-reg
        nova-consoleauth: nova-console

    If the distro is of the suse or redhat families the combined services file would be:

        nova-cert: openstack-nova-cert
        nova-compute: openstack-nova-compute
        glance-reg: openstack-glance-registry
        nova-conductor: openstack-nova-conductor
        glance-api: openstack-glance-api
        nova-consoleauth: openstack-nova-console
        nova-api: openstack-nova-api

   Example commands using this format:

   svc-map nova-compute

   Returns: openstack-nova-compute

   svc-map nova-compute

   Returns: openstack-nova-compute

   svc-map nova-compute

   Returns: nova-compute

 * This output can be used to filter what other tools actually install
   (install-services can be modified to use this for example)

 * If you pass more than one service argument, the result for each service
   is printed on its own line.

 * Individual svc-map files live within each element. For example
   if you have created an Apache element your svc-map YAML file
   should be created at elements/apache/svc-map.

repository: redhat-openstack/diskimage-builder

branch_name: refs/heads/master-patches

gha_language: Shell

repo_name: redhat-openstack/diskimage-builder


text:
# 6. Custom section summaries

## Context

Section summaries don't provide a way to define what should be summarised. To summarise a section that contains list collectors, we use information from the first list collector for each list. This forces section summary properties into the first list collector (`add_link_text`, `empty_list_text`) and causes un-necessary complexity when a section summary needs to be rendered.

## Proposal

We will add an optional `summary` property to sections. This property, when provided, will provide properties defining what to summarise and will override the default i.e. summarisation of all questions.

```json
{
    "sections": [
        {
            "id": "",
            "summary": [
                {
                    "type": "List",
                    "for_list": "<list_name>",
                    "title": "",
                    "add_link_text": "",
                    "empty_list_text": "",
                    "item_title": {}
                }
            ]
        }
    ]
}
```

- `item_title` is a string with placeholders and will work the same as the equivalent list collector property. Duplicating the property in the summary allows for a different representation and will simplify implementations (by not having to search for a definition)
- The initial implementation will only support a `List` type, but this can be extended in the future for other summary types

### Example

```json
{
    "sections": [
        {
            "id": "household-section",
            "summary": [
                {
                    "type": "List",
                    "for_list": "householders",
                    "title": "Householders",
                    "add_link_text": "Add a person",
                    "empty_list_text": "No householders",
                    "item_title": {}
                },
                {
                    "type": "List",
                    "for_list": "visitors",
                    "title": "Visitors",
                    "add_link_text": "Add a visitor",
                    "empty_list_text": "No visitors",
                    "item_title": {}
                }
            ]
        }
    ]
}
```

## Consequences

- Section summaries for lists are explicit rather than implicit; services that interperet the schema will be simpler.
- Properties related to summaries are not present on non-summary blocks.
- The `ListCollectorSummary` block can be removed as it's no longer needed.
- Other custom summary types are possible.

repository: ONSdigital/eq-questionnaire-validator

repo_name: ONSdigital/eq-questionnaire-validator


text:
![language](https://img.shields.io/github/languages/top/steven-sosebee/team-profile-generator)
![license](https://img.shields.io/github/license/steven-sosebee/team-profile-generator)

# Team Profile Generator

## Description

I took on this project to enable other users to quickly generate a professional-looking web page for their teams without much coding experience.

Not all managers or entrepreneurs have the web development skills to build out a custom team page.  This app helps to automate some of that work.

undefined

## Table of Contents
1. [Installation](#installation)
2. [Usage](#usage)
3. [Contributions](#contributions)
4. [Tests](#tests)
5. [Questions and Contact Info](#questions-and-contact-info)
6. [License](#license)

## Installation

To install the application download nodejs and npm inquirer.  Once the repository is cloned, run the command 'node index.js' from inside the folder.

## Usage

Once theh application is called, the command line interface will begin asking questions.  Start by adding details about the team, then information about the manager.  Finally, the user can loop through as many team members as is needed.

[Demo of CLI ](https://drive.google.com/file/d/1nbhD568bDVy0k2vAZtvGJrg-RxCSZxSC/view)

[Proof of Tests](https://drive.google.com/file/d/1xhRkDw8QysaW2wrjNlrwcHuxfikG4L1W/view)

[Demo of the web page](https://drive.google.com/file/d/1Hl6uLPmmxn13WFekdao9C72YPJwSMpvk/view)

## Contributions

Looking for additional collaborators.

undefined

## Tests

Tests cover the class constructors and are located in the ./tests folder.  Validation rules will be added in future versions.

## Questions and Contact Info

Contact me at: https://github.com/steven-sosebee

## License
Copyright (c) 2021 steven-sosebee

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

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

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

repository: steven-sosebee/team-profile-generator

repo_name: steven-sosebee/team-profile-generator


text:
---

This work is licensed under the Creative Commons CC0 License

---

# Enhanced MASL Export Mechanism
### xtUML Project Review Minutes

Reviewed:  https://github.com/xtuml/bridgepoint/blob/06f39cd90e0f7df0cae3b211a321b63033b95951/doc-bridgepoint/notes/11461_export/11461_export_int.md
Present:  LS, CS, KB

<pre>

-- Num Type  Who  Section  Comment
x- 01  min   KB   5        Note "Export MASL" CMEs removed
x- 02  min   KB   5.1.1    "Extends" > "Extend"
x- 03  min   CS   6        Add: The MASL Exporter shall be selectable from the 'Set Model Compiler' wizard.
x- 04  min   CS   6.3      "defer it because..."  Finish sentence
x- 05  min   BM   7.2      Move test into a test issue and refer to it here
x- 06  min   LS   7        Numbering issues in Unit test section
x- 07  min   LS   general  Welcome plugin will need to be updated.  Unit test issue needs to be updated once
the welcome changes are finished.

</pre>

No major observations, a re-review is not required.

End
---

gha_language: HTML


text:
<!-- Feel free to remove check-list items aren't relevant to your change -->

 - [ ] Closes #xxxx
 - [ ] Tests added
 - [ ] Fully documented, including `docs/history.rst` for all changes and `docs/rioxarray.rst` for new API

repository: corteva/rioxarray

gha_license_id: NOASSERTION

repo_name: corteva/rioxarray


text:
# Introduction

This is a Julia module which implements the reference region and input function tail (RRIFT) method described in:

[Zaki Ahmed & Ives R. Levesque. Pharmacokinetic modeling of dynamic contrast‐enhanced MRI using a reference region and input function tail. Magn Reson Med. 2020; 83: 286– 298. https://doi.org/10.1002/mrm.27913](https://onlinelibrary.wiley.com/doi/abs/10.1002/mrm.27913)

## Installation

The module can be installed by
```julia
julia> ]add https://github.com/notZaki/RRIFT.jl.git#master
```

Once installed it can be used by
```julia
julia> using RRIFT
```

## Usage

The next sections will go over in-vivo evaluation of RRIFT on in-vivo data.
An interactive version of these sections is available on mybinder by clicking on the badge below:

[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/notZaki/RRIFT.jl/notebooks?urlpath=lab/tree/notebooks/00-Hello.ipynb)

gha_language: Julia


text:
#1.install
```
pip3 install cloudacademy-crawler
```

#2.download cookies.txt file
```
1.Sign in to Cloud Academy, then use a browser extension to export cookies as cookies.txt.
(For Chrome, you can use the cookies.txt extension)

(The cookies.txt will expire in about two weeks, so you don't need to do this so frequently)
```

#3.run command in terminal
```
ca_spider -course_name=managing-findings-from-multiple-accounts-using-amazon-guardduty -cookies=/<cookie_dir>/cookies.txt -outdir=output
```

repository: xuanmitang/cloudacademy-crawler

repo_name: xuanmitang/cloudacademy-crawler


text:
---
layout: post
title: "Project Euler : Problem 25"
date: 2020-02-05
excerpt: "1000th Fibonacci Number"
tags: [Project Euler, HackerRank, Python]
projectEuler: true
comments: false
---
Last updated : 02/05/2020

##  Problem 25
Fibonacci series is defined as,

$$ F(n) = F(n-1) + F(n-2) $$

$$ F(1) = F(1) + F(0) = 1 + 0 = 1 $$

To find the term in the series with 1000 digits, the straight forward approach is to
compute the next term in the series till the first 1000 digit number and display the
index corresponding to the number.

To solve this problem, a lookup table containing indices upto 5000 digits was created.
From the lookup table, the location of the appearance of first N digit Fibonacci number
could be calculated easily. The first **1000** digit number is **4782** th and **5000** digit number is **23922** th Fibonacci term.

```python
def computeFibonacci(n=5001):
    a = 0
    b = 1
    i = 1
    fibLenCalc = [0,1]
    while (len(fibLenCalc) < n):
        a,b,i=b,a+b,i+1
        if(len(str(b))>len(str(a))):
            fibLenCalc.append(i)
    return(fibLenCalc)

dataCalc = computeFibonacci(5001)
for _ in range(int(input())):
    print(dataCalc[int(input())])
```

An approximation of Binet's formula,

\\( F(n) = \frac{1}{\sqrt{5}}\phi^n \\)

\\( \phi = \frac{1}{2}(\sqrt{5} + 1) \\)

For the Fibonacci number with N digits, $$ F(n) = 10^{N} $$. Simplifying,

\\( n > \frac{1}{\text{log}(\phi)}(N \times \text{log}(10) + 0.5 \times \text{log}(5)) \\)

```python
import math
phi = (1.0 + math.sqrt(5))/2.0
numA = 0.5*math.log10(5)
denA = math.log10(phi)
for _ in range(int(input())):
    n = float(input()) - 1
    print(math.ceil((n+numA)/denA))
```

Because of the generalized nature, I prefer the first approach over the latter one - since the
latter requires a prior knowledge of the formula of nth Fibonacci number.

The closed form Binet's solution is
\\( F(n) = \frac{(1 + \sqrt{5})^{n} - (1 - \sqrt{5})^{n}}{2^{n}\times \sqrt{5}} \\)


text:
---
title: HARLog
link: http://www.imagossoftware.com/harlog/
---

Utility to take the HAR output and create a log format that can be imported into Excel or some other charting tool. HarLog can also generate a "pivot table" style report summarizing data from a collection of HAR files. This is useful if you wish to get average page performance over time and or you would like to baseline the performance of a site under development across versions.

repository: ahmadnassri/har-resources

branch_name: refs/heads/gh-pages

repo_name: ahmadnassri/har-resources


text:
# ϵ-GREEDY ALGORITHM
This algorithm uses one parameter ϵ, with which a balance can be made between exploration and exploitation. Arms that maximize reward are chosen with a probability of 1-ϵ and non greedy actions at ϵ probability.
## Basic strategy
* Initialization: 0<ϵ<1

 1.Choose an arm that maximizes average reward with probability ϵ, given by

   ![first equation](https://latex.codecogs.com/gif.latex?%5Cfrac%7B%5Csum_%7Bi%3D1%7D%5E%7Bt%7D%20R_i.1_a%7D%7Bn_a%7D)

where ![eqn two](https://latex.codecogs.com/gif.latex?R_i) is reward obtained at step i for an arm ![](https://latex.codecogs.com/gif.latex?a), ![](https://latex.codecogs.com/gif.latex?t) is the number of steps played so far and ![eqn three](https://latex.codecogs.com/gif.latex?n_a) is the number of times arm ![](https://latex.codecogs.com/gif.latex?a) has been played, ![](https://latex.codecogs.com/gif.latex?1_a) is equal to 1 if arm played is ![](https://latex.codecogs.com/gif.latex?a), otherwise 0.

2.Choose random arm with probabilty ϵ.

## Parameter

     epsGreedy( noOfArms::Int64, ϵ::Float64 ) #noOfArms-Total no. of arms, ϵ-exploration parameter

## Sample plot
A sample plot for a 5-arm normal distribution with mean [6 4 9 7 5] and variance of 5 for each arm is shown :

![](https://github.com/UmaArunachalam8/Bandits.jl/blob/master/doc/Figures/epsilongreedy0.1.png)


text:
---
title: "Constructing sound science and good epidemiology: tobacco, lawyers, and public relations firms"
source: new
date: "2020-05-24"
categories:
- Recommendation
tags:
- Observational studies
output: html_document
---

Ong EK, Glantz SA. Constructing "sound science" and "good epidemiology": tobacco, lawyers, and public relations firms. Am J Public Health. 2001;91(11):1749-1757. doi:10.2105/ajph.91.11.1749. Available in [html format](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1446868/) or [pdf format](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1446868/pdf/0911749.pdf).

<!---More--->

+ A review of the use of the term "junk science" to try to discredit research about the hazards of second-hand tobacco smoke.

repository: pmean/build-website

repo_name: pmean/build-website


text:
# assembly
library to ease cloning and gene synthesis.
Contains classes for:
* restriction enzymes
* GC checking
* golden gate assembly
* random sequence generation

Adding to dependencies
----------------------

add the following to you build.sbt
```scala
resolvers += sbt.Resolver.bintrayRepo("comp-bio-aging", "main")
libraryDependencies += "group.aging-research" %% "assembly" % "0.0.13"
```

repository: antonkulaga/assembly

repo_name: antonkulaga/assembly


text:
# mapzoomer
a number of houdini hdas that allow superzoom to specific coordinates of the map

* map generator:

  A simple asset that (ab)uses googlemaps to fetch multiple zoom levels of tiles to some specific location

  Multiple points can be selected by uv or by map coordinates to generate detailed texture for

  You can put in your own geometry to for a map

* map generator texture sampler:

  A vop node will output the map texture sample, should be used to build your proper earth/ground shader

* map generator camera curve

  A simple asset that helps you append a given curve to end up exactly at map's zoom location, and produces proper looking path animation to be used for camera

### Examples:

![imgur](https://i.imgur.com/KQXpRyZ.gif)

![imgur](https://i.imgur.com/XY21yUC.gif)

and a special version for 5p3tial children:

![imgur](https://i.imgur.com/r5OKBHq.gif)

## WARNING !
**OPEN HIP FILES IN MAUNAL MODE !!**

Creating high resolution maps will take potentially a LOT of time and can result in a ban of your IP at google maps for 24 hours... (auto proxies will probably help download maps though, but anyway)

* In examples the point zoom level is set to 20, that is super high, consider changing it to something like 8-9 as a start for tests.

* Also keep in mind that the zoomsize is stated in **uv** units, so if you accidently set your zoomsize to something like default 0.01 with zoomlevel 20 - that will cause the generation of impossibly huge map texture (about 5000000x5000000 pixels), and will probably just fail due to lack of memory.

See example scene for example. But **BEWARE** for it will start downloading highres maps through proxies, that can take potentially up to 30 min

### TODO:
add less highres examples...

repository: Hengle/mapzoomer

repo_name: Hengle/mapzoomer


text:
Travis build status:
[![Build Status](https://travis-ci.org/ORESoftware/typescript-library-skeleton.svg?branch=master)](https://travis-ci.org/ORESoftware/typescript-library-skeleton)

CircleCI build status:
[![CircleCI](https://circleci.com/gh/ORESoftware/typescript-library-skeleton/tree/master.svg?style=svg)](https://circleci.com/gh/ORESoftware/typescript-library-skeleton/tree/master)

##  Deep.Mixin on NPM

> Why? Because Object.assign / spread operator is shallow

### Design

> Deep.Mixin will copy sub-properties of objects, instead of only
> handling top-level properties, when doing a merge. This library is ideal for merging configuration objects.
> But it's also a good drop-in replacement for Object.assign if you want deep merging/mixins.
>
> * Copies functions properly
> * Deep clones everything
> * Immutability (always returns a new object, doesn't modify any arguments)
> * Handles circular refs
> * Written in TypeScript
>

### Limitations

>
> * Only accepts POJSOs as arguments - for example we cannot do `deepMixin({},[])`
>

### Basic Usage

```js

import deepMixin from<EMAIL_ADDRESS>
const v1 = {/* some object */};
const v2 = {/* some object */};
const v3 = deepMixin(v1,v2);

```

Code Example

```js
const {deepMixin} = require('@oresoftware/deep.mixin');

const v1 = {
  dog: {
    bird: 2,
    foo() {
      return 'm1';
    },
    cat: {
      fark: '3',
      snake: 5
    }
  }
};

v1.dog.foo.big = 8; // add prop to function foo

const v2 = {
  dog: {
    foo() {
      return 'm2';
    },
    cat: {
      snake: 7
    }
  }
};

console.log(Object.assign({},v1,v2));  // { dog: { foo: [Function: foo], cat: { snake: 7 } } }

console.log(deepMixin(v1,v2));  // next line

{
  dog: {
    foo: [Function: foo] { big: 8 },
    cat: { snake: 7, fark: '3' },
    bird: 2
  }
}
```

### Other / Etc

> You can reverse the order of operands, using  `deepMixinRight()`

```js

const v4 =  deepMixin(thirdPrecedence, secondPrec, firstPrec);

// or switch the order:
const v4 = deepMixinRight(firstPrecendence, secondPrec, thirdPrec)

```


text:
# bap-vm
Virtual Machine for [Best-Answer Prediction seminar](https://github.com/bateman/bap-seminar)

## Download VirtualBox
Download the installer and extension pack for your OS from https://www.virtualbox.org/wiki/Downloads

On a Mac with `Homebrew` already installed, simply run the following from terminal (root password will be asked):
```
$ brew tap caskroom/cask
$ brew cask install virtualbox virtualbox-extension-pack
```
## Download the VM image
The Virtual Box image is based on Lubuntu 16.04 LTS Xenial Xerus, obtained from [osboxes.org](http://www.osboxes.org/virtualbox-images/). Download the (compressed) VDI image from here: [32bit](https://drive.google.com/open?id=0B89FZverAlQVTm52TzBvaFdCWDA) | [64bit](https://drive.google.com/file/d/0B89FZverAlQVZkdTV3FxdlFfTnc).

## Import VM into VirtualBox

Click `New` to create a new instance for the guest OS, then press the `Expert Mode` button.

![](./img/vb1.png)

The guest OS is a Linux (Lubuntu): pleae, select 64 or 32 bit, depending on your host machine architecture; also, make sure to assign at least 2 Gb of memory. Finally, brose the location on your hard-drive where you stored the VDI file.

![](./img/vb2.png)

## Further config

You might want to fine-tune the config for your guest OS according to the host machine. Click on `Settings`. At least, consider enabling bidirectional copy-and-paste between the two OS's, as shown in the picture below.

![](./img/vb3.png)

## Run

Simply click the green arrow `Start` to run the guest OS.

## Other info
Automatic login is set at startup. User credentials are the following:
```
Username: osboxes
Password: osboxes.org
```
These will be necessary for executing administrive (root) changes.

## Guest Additions (optional)

Should your screen size be quite small, it means that you need to install the Guest Additions. Mount the ISO as shown in the picture below. Then, open terminal and browse to the mount location, which will be something like `/media/osboxes/VBOXADDITIONS_5.1.6_110634/` (note that the version may vary).

![](./img/vb4.jpg)

Now, simply run `sudo ./VBoxLinuxAdditions.run` and reboot the guest OS.

repository: bateman/bap-vm

repo_name: bateman/bap-vm


text:
# BloodHound-Scripts

## Update Owned Nodes
### Description
Simple script to update owned nodes in BloodHound from a file.

### Usage

Simple script to update owned nodes in BloodHound from a file.
The file should contain one node per line. Each node should be described with its FQDN
(e.g. hostname.domain.com). The script is insensitive.
The script requires cypher-shell to be in the PATH.

To display help :
./update_owned_nodes.sh -h
Example: ./update_owned_nodes.sh -u neo4j -p neo4j -d localhost -f ~/nodelist

## Author
Samuel Le Goff

## Acknowledgement
* The update_owned_nodes.sh script is inspired from Chris Farell's cypheroth script  ([@seajay](https://twitter.com/seajay))

repository: samuellg/BloodHound-Scripts

repo_name: samuellg/BloodHound-Scripts


text:
# Disallow assert.throws() with block, string, and message args (`qunit/no-throws-string`)

💼 This rule is enabled in the ✅ `recommended` [config](https://github.com/platinumazure/eslint-plugin-qunit/blob/master/README.md#configurations).

<!-- end auto-generated rule header -->

QUnit 2.0 has deprecated the `assert.throws(block, string, message)` form of
`assert.throws()`. This rule can be used to flag uses of the deprecated form
and convert them to use a regular expression or some other predicate.

## Rule Details

The following patterns are considered warnings:

```js

QUnit.test('test', function (assert) {
    assert.throws(function () {
        // code
    }, "error message", "An error should have been thrown");
});

```

The following patterns are not warnings:

```js

QUnit.test('test', function (assert) {
    assert.throws(function () {
        // code
    }, /error message/, "An error should have been thrown");
});

QUnit.test('test', function (assert) {
    assert.throws(function () {
        // code
    }, "An error should have been thrown");
});

QUnit.test('test', function (assert) {
    assert.throws(function () {
        // code
    }, function (err) { return true; }, "An error should have been thrown");
});

```

## When Not To Use It

This rule can be safely disabled if you are not using QUnit 2.0.

## Further Reading

* [Replace assert.throws(block, string, message) with assert.throws(block, regexp, message)](https://qunitjs.com/upgrade-guide-2.x/#replace-assert-throws-block-string-message-with-assert-throws-block-regexp-message)

repository: platinumazure/eslint-plugin-qunit

gha_language: JavaScript

repo_name: platinumazure/eslint-plugin-qunit


text:
# Vedette

  Logo goes here
(something something small ship)

---

Vedette is an open source, intend-driven solver for dependency resolution of Kubernetes Deployments.
It provides a simple and extensible framework to make swapping dependencies easy and fun.

---

- [Project Status](#project-status)
- [Features](#features)
- [FAQ](#faq)

---

## Project Status

Vedette is currently in **super** early development and is not ready for production use, the APIs are not yet final and breaking changes might be introduced in every release.

## Features

- Dependency resolution for Kubernetes deployments
- Swap dependency implementations on the go
- Transparent and extensible

## FAQ

### What's a vedette?

This project helps you to find and swap alternative implementations of your dependencies, so I was looking for a name that has something to do with scouting.
As it's a Kubernetes project, it obviously needed a nautical name.

So one CTRL+F in https://en.wikipedia.org/wiki/Glossary_of_nautical_terms later, I chose the first term with a free .io domain: `vedette.io`

> vedette
> (or vedette boat)
> A small naval patrol boat used for scouting enemy forces.
> https://en.wikipedia.org/wiki/Vedette_(sentry)

### Where is the code?

**super** early development -> no code yet...

That's also why it's not production ready.

But don't worry!
I have a plan: [concept.md](docs/concept.md)
(WIP, please be kind)

repository: thetechnick/vedette

repo_name: thetechnick/vedette


text:
---
category: Components
type: Navigation
title: Popover
---

After clicking on a control or an area, a Popover menu appears for doing more.
If set mask prop, it is recommended to exit by clicking on any of the mask layers.

## API

### Popover

Properties | Descrition | Type | Default
-----------|------------|------|--------
| overlay   | Popup layer content  | ReactNode |  -   |
| placement   |   How to position the popover  | 'top | right | bottom | left | auto' |  auto   |
| onSelect   | when an option is selected    | (value: any): void |  -   |
| triggerStyle  | trigger style  | ViewStyle |  -   |
| renderOverlayComponent  | A function that renders takes in the MenuOptions element and renders a container element that contains the options. Default function wraps options with a `ScrollView`. e.g. `(nodes) => <View>{nodes}</View>`  | (node: React.ReactNode) => React.ReactNode |  -   |
| duration | Animation duration | number | 300 |
| easing | Function that returns easing function for show or hide animation, depending on `show` argument | (show: boolean) => (value: number) => number | show => show ? Easing.out(Easing.back(1.70158)) : Easing.inOut(Easing.quad) |
| useNativeDriver | Defines if animations should use native driver | boolean | false |
| onDismiss | Callback to be fired after the popup closes | function | - |

### Popover.Item

Properties | Descrition | Type | Default
-----------|------------|------|--------
| disabled   | set disabled    | Boolean |  false   |
| style  | item style   | ViewStyle |  -   |
| value | can be used as the selected option ID  | any |  -   |

repository: ant-design/ant-design-mobile-rn

repo_name: ant-design/ant-design-mobile-rn


text:
# Vue Storefront Intercom module
[Intercom](https://www.intercom.com) integration for [vue-storefront](https://github.com/DivanteLtd/vue-storefront), by [Develo Design](https://www.develodesign.co.uk).

Intercom account required (free tier is available)

Intergration with the Intercom customer messaging platform for your Vue Storefront, this Intercom module is configured to update Intercom with the customers current route, this allows you to accurately help your customer, knowing what page they are asking questions on from inside Intercom.

![Demo](docs/demo.png)

## Installation:

### 1. Clone the repository

Clone the vsf-intercom repository into your VSF installation.
```shell
$ git clone git@github.com:develodesign/vsf-intercom.git vue-storefront/src/modules/intercom
```

### 2. Add the module config to your local VSF configuration file.
Add the following JSON config snippet into your desired config, eg. `config/local.json`
```json
"intercom": {
  "app_id": false
}
```
Replace the `app_id` parameter with the App ID provided by Intercom. You can find your Intercom App ID here: https://www.intercom.com/help/faqs-and-troubleshooting/getting-set-up/where-can-i-find-my-workspace-id-app-id. Setting `app_id` to `false` will disable the intercom module at runtime.

Valid app_id example: `"app_id": "e8y21262"`

### 3. Register the Intercom module
Open up your `../vue-storefront/src/modules/index.ts` and add the following code. Adding it inside this file the registers the module so it can be used in your Vue Storefront.

```js
import { Intercom } from './intercom'
...
export const registerModules: VueStorefrontModule[] = [
...
Intercom
...
]
```
### 3. Enjoy!
Thats it! It's easy, plug and play! If you havn't got an Intercom account already, you can create one here, there is free tier that you can use to get started: https://www.intercom.com/pricing

## Customization
#### Replacing the Intercom Script.
If you need to change the Intercom script that is loaded on the page, open up the `./intercom/hooks/afterRegistration.ts` file. On line 39 you'll find the script provided from Intercom, you can swap this out or extend it as required.

repository: develodesign/vsf-intercom

repo_name: develodesign/vsf-intercom


text:
# Spot App
![Spot App icon](http://www.laboratoriociliegia.it/github/spot-app-icon.png)

Spot App is a very simple app that allows you to **reset, fix and re-index your Mac's Launchpad** in just **one click**.

Spot App is an Automator app that run this shell script:

```sh
osascript -e 'do shell script "sudo mdutil -E /" with administrator privileges'
```

[Spot App](https://github.com/ceruttigianluca/spot-app/archive/master.zip) - Download Spot App

## Do you need something more?
[Space App](https://github.com/ceruttigianluca/space-app) - Space App, add spaces to your Mac's Dock in just one click

[Rocket App](https://github.com/ceruttigianluca/rocket-app) - Rocket App, reset your Mac's Launchpad in just one click

[Hidden App](https://github.com/ceruttigianluca/hidden-app) - Hidden App, show and hide macOS hidden files in just one click

## Buy me a coffee
[Paypal.me](https://www.paypal.me/gianlucacherry/2gbp) - Thank you! :raised_hands:

repository: gianlucacerutti/spot-app

repo_name: gianlucacerutti/spot-app


text:
[Documentation Home](../../docs/readme.md) | [GCP Home](../readme.md)

# GCPSecretsManagerCredentialProvider
This [CredentialProvider](../../docs/credentialprovider.md) implementation extends the [DefaultCredentialProvider](../../docs/credentialprovider.md#DefaultCredentialProvider)
by searching the GCP Secrets Manager for the named secret. A [BasicCredential](../../docs/credentialprovider.md#BasicCredential) will be returned
containing the string value. A _projectId_ is required to instantiate.

## Secrets Manager Formats
When creating the secret that will be used, there are several properties that will be considered. Since GCP Secrets Manager
takes a single value, when storing the JSON service account key, it should be stored as JSON. The same is applicable when
storing [AWS keys](../../metalus-aws/docs/awssecretsmanager-credentialprovider.md#secrets-manager-formats). The data should
not be encoded.

repository: dafreels/metalus

branch_name: refs/heads/develop

gha_language: Scala

repo_name: dafreels/metalus


text:
# Intro

Just a simple tool to generate gcode from STL (with integrated slicer)

# Online site

See on aws : http://jarcam.s3-website.eu-west-3.amazonaws.com

# Roadmap

Add this feature :
- add drawing feature
    - create a tool path along the outside of a closed shape
    - create a tool path along internal closed shape
    - create a drill model
    - select cnc program origin (add it to 3D viewer)
- add tool set
    - tool diameter
    - depth per pass
        - for raw cutting
        - for fine cutting
    - plunge
        - angle
        - feedrate
    - regular machining speed
    - cutting speed
    - rpm tool speed
    - lateral distance in % of tool diameter
    - trochoidal
        - step depth
        - step length
        - z oscillation
    - pointer
        - angle
        - center offset
        - tip offset
        - edge radius
- parameters
    - add gcode post/processor (for now only marlin)
        - gcode begin / end script
    - clearance plane

repository: yroffin/jarcam

repo_name: yroffin/jarcam