text:
---
layout: post
title: Optimizing Database Access with Entity Framework - Lazy Loading vs. Eager Loading
date: 2023-08-11 00:00:00
description: Efficient database access is crucial for maintaining the performance and scalability of applications that rely on data storage. In the world of .NET development, Entity Framework has emerged as a popular Object-Relational Mapping (ORM) tool, providing a powerful and convenient way to interact with databases
image:
    path: /assets/img/optimizing-database-ef.jpg
tags: [Productivity, Software, Database, Entity-Framework]
categories: [Software Development]
published: true
mermaid: true
---

Efficient database access is crucial for maintaining the performance and scalability of applications that rely on data storage. In the world of .NET development, Entity Framework has emerged as a popular Object-Relational Mapping (ORM) tool, providing a powerful and convenient way to interact with databases. However, when it comes to optimizing database access with Entity Framework, developers often face the dilemma of choosing between lazy loading and eager loading. This article aims to explore the concepts of lazy loading and eager loading in Entity Framework, examine their benefits and drawbacks, and provide best practices and real-world examples to help you make informed decisions to optimize database access in your applications.

## Introduction to Database Access Optimization with Entity Framework

### The Importance of Database Access Optimization
When it comes to dealing with databases, speed is everything. You want your applications to load data as quickly as possible, and that's where database access optimization comes in. By utilizing efficient techniques, you can ensure that your application retrieves data from the database in the most efficient way, improving performance and keeping your users happy.

### Overview of Entity Framework
Entity Framework is a popular object-relational mapper for .NET applications. It allows developers to interact with databases using object-oriented programming concepts, making database access more intuitive and less error-prone.

Now, let's dive into two important concepts in Entity Framework that can significantly impact the performance of your application: lazy loading and eager loading.

## Understanding Entity Framework: Lazy Loading and Eager Loading

### What is Lazy Loading?
Lazy loading is a technique where related entities are not loaded from the database until they are accessed. In other words, the data is loaded "on-demand" only when it's needed. This can be useful when dealing with large datasets, as it allows you to fetch only the necessary data, avoiding unnecessary network round trips.

```csharp
var album = Albums.FirstOrDefault(); // Get an album

// Access the related tracks
foreach (var track in album.Tracks)
{
    track.Dump(); // Output track details
}
```

For demonstration purposes, we'll use demo database that LinqPad 7 comes with. The database is called `Chinook` and it contains a number of tables, including `Albums` and `Tracks`. The `Albums` table contains a list of albums, and the `Tracks` table contains a list of tracks. Each album can have multiple tracks associated with it.

On running the above query and viewing the raw SQL, we can see that Entity Framework has executed two separate queries: one to fetch the album and another to fetch the tracks associated with it. This is because the tracks are not loaded until they are accessed, which is known as lazy loading.

![Lazy Loading]({{site.baseurl}}/assets/img/optimizing-database-ef/lazy-loading.png)

### How Does Lazy Loading Work in Entity Framework?
In Entity Framework, lazy loading is enabled by default. When you access a navigation property of an entity, such as accessing a collection of related entities, Entity Framework automatically fetches the related data from the database on-the-fly.

### What is Eager Loading?
Eager loading, on the other hand, is the opposite of lazy loading. It involves fetching all the necessary related entities upfront, in a single query, rather than waiting until they are accessed individually. This can be beneficial when you know in advance that you will need the related data, as it avoids multiple round trips to the database.

```csharp
var albumWithTracks = Albums
        .Include(a => a.Tracks) // Eager loading
        .FirstOrDefault();

foreach (var track in albumWithTracks.Tracks)
{
	track.Dump();
}
```

In the above example, we are using the `.Include()` method to explicitly request eager loading of the `Tracks` navigation property. This tells Entity Framework to fetch the related tracks along with the album in a single query.

![Eager Loading]({{site.baseurl}}/assets/img/optimizing-database-ef/eager-loading.png)

### How Does Eager Loading Work in Entity Framework?
In Entity Framework, you can explicitly request eager loading by using the `.Include()` method when querying data. By specifying the navigation properties you want to include, Entity Framework will fetch the related entities along with the main entity in a single database query.

## Benefits and Drawbacks of Lazy Loading in Entity Framework

### Advantages of Lazy Loading
Lazy loading can improve performance by only fetching related data when it's needed. This can be beneficial when dealing with large datasets, as it reduces the amount of data transferred between the application and the database. Lazy loading also simplifies development by automatically loading related entities, allowing you to focus on your core logic.

### Disadvantages of Lazy Loading
While lazy loading can be convenient, it can also lead to performance issues if misused. If you access multiple navigation properties within a loop, for example, it can result in a high number of database queries, causing a noticeable delay. Additionally, lazy loading can make it harder to control the queries being executed and may lead to the "N+1 query problem."

## Benefits and Drawbacks of Eager Loading in Entity Framework

### Advantages of Eager Loading
Eager loading can improve performance by fetching all the necessary related entities in a single query. This can be advantageous when you know upfront that you will need the related data, as it avoids additional round trips to the database. Eager loading also provides better control over the queries executed and can help avoid the "N+1 query problem."

### Disadvantages of Eager Loading
The main disadvantage of eager loading is that it can increase the initial load time, especially when dealing with large datasets or deeply nested relationships. Fetching all the related entities upfront might result in a more extensive query and potentially a slower response time. Additionally, eager loading can lead to over-fetching when you don't actually need all the related data, wasting network and database resources.

>So, when optimizing your database access using Entity Framework, make sure to consider the pros and cons of both lazy loading and eager loading, and choose the approach that aligns best with your application's requirements.
{:.prompt-tip}

## Best Practices for Choosing between Lazy Loading and Eager Loading

### Considerations for Choosing Lazy Loading
When deciding whether to use lazy loading, there are a few things to keep in mind. Lazy loading is great when you have large amounts of data and only need a subset of it at a time. It helps reduce memory consumption and improves performance by loading data on-demand. However, be cautious when using lazy loading with complex queries or when you anticipate multiple round trips to the database, as it can lead to performance issues.

### Considerations for Choosing Eager Loading
On the other hand, eager loading is a good choice when you know you'll need all the related data upfront. It reduces the number of database queries and is beneficial for scenarios where you want to minimize database round trips. However, be aware that eager loading can increase memory consumption, especially when dealing with large datasets or deeply nested relationships.

### Factors to Consider in Decision Making
When choosing between lazy loading and eager loading, it's essential to consider factors such as the size and complexity of your data, the specific requirements of your application, and the expected usage patterns. Take into account the potential impact on performance, memory usage, and query optimization. Additionally, weigh the trade-offs between loading data on-demand versus upfront, as well as the impact on maintainability and development productivity.

## Performance Considerations and Optimization Techniques for Database Access

### Improving Performance with Lazy Loading
To optimize performance when using lazy loading, make sure to load related data efficiently by minimizing the number of round trips to the database. Consider using batching techniques, such as using the explicit loading where you can load multiple related entities at once using the `DbContext.Entry` method and the `Collection` or `Reference` property of the entity. Additionally, be mindful of managing database connections to prevent unnecessary open and close operations.

### Enhancing Performance with Eager Loading
When working with eager loading, performance can be improved by carefully selecting which related entities to load upfront. Be cautious not to over-fetch data and load unnecessary information. Utilize explicit loading techniques, like the `Load` method, to eagerly load specific related entities on-demand when needed.

### Other Optimization Techniques
Besides lazy loading and eager loading, consider other optimization techniques that can improve database access performance. These include implementing caching mechanisms to reduce repetitive database queries, optimizing database indexes for frequently accessed data, and designing efficient data access patterns that align with the underlying database schema.

In conclusion, optimizing database access with Entity Framework involves carefully choosing between lazy loading and eager loading, considering factors like data size, complexity, and usage patterns. Both approaches have their advantages and trade-offs, and it's crucial to assess the specific requirements of your application. Additionally, incorporating performance optimization techniques like efficient data loading, caching, and query optimization can further enhance the overall performance of your database access. Remember, there is no one-size-fits-all solution, so analyze and benchmark the different approaches to determine what works best for your application.

>**Can I use a combination of lazy loading and eager loading in Entity Framework?** <br>
Yes, Entity Framework allows developers to use a combination of lazy loading and eager loading techniques based on specific scenarios within the application. This hybrid approach can offer flexibility and optimize database access by selectively loading related data eagerly or lazily, depending on the needs of the application.
{:.prompt-tip}


text:
---
layout: default
title: Lessons learnt
permalink: /lessons
sequence: 9
lessons:
  - title: Lessons learnt
    subtitle: Good practices to continue for future projects
    list:
      - name: Do not reset annotations for components as previously annotated components might have already been associated with BOM
      - name: Do not copy and paste symbols for different parts of the schematic as they might copy over other field values
      - name: Refer to application circuit in datasheets to connect various passives
      - name: Consider pulling out some unused pins as pads if the board is to be used for future development and iteration E.g. Teensy
      - name: Consolidate shipping orders for parts and components so that fewer deliveries are made
      - name: Use a p-channel MOSFET for reverse polarity circuit protection
  - title: V2.0
    subtitle: For next iteration
    list:
      - name: Use SMD components for IR receiver and emitter
      - name: Use standard 9-pin JTAG/SWD connector for burning the bootloader
        image: 9-pin-jtag-swd-pins.png
      - name: Use WiFi to control IR emission
improvements:
  - title: Improvements
    subtitle: Simple iterations that were implemented in this project because of the learnings from the previous projects
    list:
      - name: Added power annotations on the silkscreen
      - name: Used standard grid size for component placements and routing
      - name: Used standard text size
      - name: Used standard component sizes
      - name: Added a power on/off button
      - name: De-modularised to use only the micro-controller and no dev boards
      - name: Created a complete 3D rendering with all components
      - name: Pulled out some unused pins as test points
      - name: Added solder jumper points for circuit isolation

---

license: MIT

repository: Selinzh/pine

branch_name: refs/heads/master

extension: md

license_type: permissive

repo_name: Selinzh/pine


text:
---
layout: default
---

# 1995-01-02 - Re: Book review: Codebreakers, the Inside Story of Bletchley Park

## Header Data

From: Matt Blaze<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Message Hash: 45104bdab80a70340c51c7934fd770b543556a0e7ba65d1b623fc8f46e36c9e2

Message ID<EMAIL_ADDRESS>Reply To<EMAIL_ADDRESS>UTC Datetime: 1995-01-02 04:21:50 UTC

Raw Date: Sun, 1 Jan 95 20:21:50 PST

## Raw message

```
{% raw  %}From: Matt Blaze<EMAIL_ADDRESS>Date: Sun, 1 Jan 95 20:21:50 PST
To<EMAIL_ADDRESS>Subject: Re: Book review: Codebreakers, the Inside Story of Bletchley Park
In-Reply-To<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

Let me wholeheartedly echo John's recommendation; this is a terrific
book, one from which I learned a great deal.  You'll get more out
of it, however, the more you already know about the Bletchley Park
efforts and the principles on which the Enigma and Lorenz machines
operated.  In particular, Welchman's "The Hut Six Story" (McGraw
Hill, 1982) makes good preparatory reading.  Unfortunately, that
book has been out of print for some time, but is fairly widely
available at used book shops.

I had the opportunity to visit Bletchley Park a couple of weeks
ago.  Most of the original huts are still standing, albiet in
various states of disrepair.  Walking around the site, knowing
something of what went on there in complete secrecy 50 years ago,
I could only imagine the sense of urgency and bustle that must have
been in the air with 12000 people working (day and night, over
three shifts) in a relatively small space.  The more I learn about
the effort the more impressed I am with the accomplishments that
took place there.  In particular, the path from basic research to
operational functionality was far shorter than one would think
possible.

After the war, the site was used by GCHQ and by British Telecom as
a training center.  It was recently saved from redevlopment and is
now being converted into museum.  Among the projects taking place
there is a construction of a working model of the original "Colossus"
machine, arguably the first electronic computer ever built (it was
used in breaking the Lorenz teleprinter cipher).  I believe the site
is currently open for visitors on alternate weekends.

-matt

{% endraw %}
```

## Thread

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

+ Return to "[gnu](/authors/gnu)"
+ Return to "[Matt Blaze <mab@crypto.com>](/authors/matt_blaze_mab_at_crypto_com_)"

+ 1995-01-02 (Sun, 1 Jan 95 18:55:23 PST) - [Book review: Codebreakers, the Inside Story of Bletchley Park](/archive/1995/01/800eaf6126a857ccb13027a4fd456a72b845e2c56a1a3c282589ab9e879c8e7a) - _gnu_
  + 1995-01-02 (Sun, 1 Jan 95 20:21:50 PST) - Re: Book review: Codebreakers, the Inside Story of Bletchley Park - _Matt Blaze<EMAIL_ADDRESS>

gha_license_id: MIT


text:
# Task
Edit the `BUILD` file, add C++ binary target named `helloworld` and library target called `helloworld_lib` to compile from `helloworld.cc` source. Binary should embed the library

No C++ knowledge is required.

# Testing
Run `./test.sh` in the directory

# References:
- https://docs.bazel.build/versions/master/tutorial/cpp.html
- https://docs.bazel.build/versions/3.4.0/bazel-and-cpp.html

repository: cyberpossum/bazel-training

gha_language: Shell

repo_name: cyberpossum/bazel-training


text:
# Overview
MärklinSim is a software simulation of a Märklin train set. It accepts train set commands through a TCP port
or a Unix domain socket, instead of serial I/O which the real Märklin train controller uses.

The default setup is a copy of the ones in UWaterloo MC3018 (aka the train lab).

If you are taking CS 452, this project should only be used as a reference when the track set is not available. You should always test your program on an actual hardware.

# Demo

![Screenshop of MärklinSim](doc/TrackA.png?raw=true)

[![Video demo of MärklinSim](https://img.youtube.com/vi/IRfwhlV-NT4/0.jpg)](https://www.youtube.com/watch?v=IRfwhlV-NT4)

# Get started
MärklinSim is based on Electron, therefore it is cross-platform natually.

You need to install Node.js before using MärklinSim. Node v8.x.x is recommended.

Run `npm install --only=dev` at the root directory of this project once you have a Node environment.

Run `./node_modules/.bin/tsc` at the root directory of this project to compile TypeScript.

Run `./node_modules/.bin/electron ./dist/main.js` to start the program. By default it will listen TCP port 3018.

# Use MärklinSim with your train program

In CS 452 at University of Waterloo, the train program runs on a TS7200 ARM box.
If your program also does so, you can either run your program on QEMU, or redirect the UART communication of your ARM box to a TCP port.

Here I will give an example of using QEMU with MärklinSim. First, run MärklinSim. Then run `QEMU_AUDIO_DRV=none qemu-system-arm -M versatilepb -m 128M -nographic -nodefaults -serial tcp:<IP_ADDRESS>:3018 -serial stdio -kernel ./YOUR_PROGRAM.bin`.

repository: tbroadley/MarklinSim

repo_name: tbroadley/MarklinSim


text:
---
layout: post
title: "Novel Force Estimation-based Bilateral Teleoperation applying Type-2 Fuzzy logic and Moving Horizon Estimation"
date: 2018-05-17 07:42:37
categories: arXiv_RO
tags: arXiv_RO Tracking
author: Qianfang Liao, Da Sun, Hongliang Ren
mathjax: true
---

* content
{:toc}

##### Abstract
This paper develops a novel force observer for bilateral teleoperation systems. Type-2 fuzzy logic is used to describe the overall dynamic system, and Moving Horizon Estimation (MHE) is employed to assess clean states as well as the values of dynamic uncertainties, and simultaneously filter out the measurement noises, which guarantee the high degree of accuracy for the observed forces. Compared with the existing methods, the proposed force observer can run without knowing exact mathematical dynamic functions and is robust to different kinds of noises. A force-reflection four-channel teleoperation control laws is also proposed that involving the observed environmental and human force to provide the highly accurate force tracking between the master and the slave in the presence of time delays. Finally, experiments based on two haptic devices demonstrate the superiority of the proposed method through the comparisons with multiple state-to-the-art force observers.

##### Abstract (translated by Google)
本文为双边遥操作系统开发了一种新型力观测器。采用2型模糊逻辑来描述整体动力系统，采用运动水平估计（Moving Horizon Estimation，MHE）来评估清洁状态以及动态不确定性的值，同时滤除测量噪声，保证高度的观察力的准确性。与现有方法相比，所提出的力观测器可以在不知道精确的数学动态函数的情况下运行，并且对各种噪声具有鲁棒性。还提出了力反射四通道远程操作控制法则，其涉及观察到的环境和人力以在存在时间延迟的情况下在主控和从属之间提供高度精确的力追踪。最后，基于两个触觉设备的实验通过与多个国家到最先进的力量观察者的比较来证明所提出的方法的优越性。

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

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


text:
# Write Up

This write up is included to detail how the project meets the requirements of the [rubric](https://review.udacity.com/#!/rubrics/1020/view)

## Requirements

### Compilation

The project compile without problems and any warning. To build you need to:

1. Clone this repo. `git clone https://github.com/rarce/CarND-Path-Planning-Project`
2. Make a build directory: `cd CarND-Path-Planning-Project && mkdir build && cd build`
3. Compile: `cmake .. && make`

### Valid Trajectories

#### The car is able to drive at least 4.32 miles without incident

The implementation can drive at least 4.32 miles without any incident as show in the following picture.

![More than 4.32 miles without incidents](https://raw.githubusercontent.com/rarce/CarND-Path-Planning-Project/master/writeup_files/noincidents.png)

#### The car drives according to the speed limit.

To ensure the speed limit the trajectories are generated taking in account the `ref_vel` variable who must be slower than `49.5` this is set in [line the 314](https://github.com/rarce/CarND-Path-Planning-Project/blob/master/src/main.cpp#L314) of `main.cpp`, the trajectory is generated in [line 412](https://github.com/rarce/CarND-Path-Planning-Project/blob/master/src/main.cpp#L412) this generate the increments in the points accordint to `ref_vel`

#### Max Acceleration and Jerk are not Exceeded.

To meet this requirement the velocity don't increment suddently, this is se in the [line 309](https://github.com/rarce/CarND-Path-Planning-Project/blob/master/src/main.cpp#L309) and in the [line 315](https://github.com/rarce/CarND-Path-Planning-Project/blob/master/src/main.cpp#L315) incrementing the speed only by `.224` in every cycle.

#### Car does not have collisions.

The implementation, check the position of the cars using the data from the sensor fusion and check in every cycle if there is any car in the same lane with risk of collision, in that case try to change of lane if there a lane empty, if not reduce the speed to follow the car in the same lane, until can change of lane, the check in the same lane is do in [line 270](https://github.com/rarce/CarND-Path-Planning-Project/blob/master/src/main.cpp#L270) and the check of lane change is check in [line 283](https://github.com/rarce/CarND-Path-Planning-Project/blob/master/src/main.cpp#L283) and [295](https://github.com/rarce/CarND-Path-Planning-Project/blob/master/src/main.cpp#L295)

#### The car stays in its lane, except for the time between changing lanes.

The implementation use frenet coordinates, and always set changes between existing lanes, so don't exit of the road, and alway travel in the center of the lane except for changing lane.

#### The car is able to change lanes

The implementation, change of lane keeping a variable called `lane` to track the target lane, this start as 1 (the center lane) and when require to change is set to the target lane. This is later used to generate the required path in [line 364](https://github.com/rarce/CarND-Path-Planning-Project/blob/master/src/main.cpp#L364) where are generated the waypoints of the path.

### Reflection

The model used in this implementation relies in spline to smoth the path generated, in a reference velocity to meet the speed limit and avoid collisions, and in collision detection to change lane and try to keep the pace at maximun allowed speed. Also relies in the use of frenet coordinates to keep always un the lane, and make calculations easy to follow. To apply the spline is also used a momentary rotation to avoid problematic function fit.

repository: nithinalex/CarND-Path-Planning-Project

repo_name: nithinalex/CarND-Path-Planning-Project


text:
# MarsRoverPhotoViewer-SwiftUI

## Overview
The Mars Rover Photo Viewer is a GUI based client for iOS that can be used to search and view the data/images offered by NASA's public Mars Rovers Photos API. With the photo viewer users can select from the three rovers (Curiosity, Opportunity and Spirit), search by Earth date and filter the returned images by available camera options.

![demo.gif](https://github.com/Kevin-Galarza/MarsRoverPhotoViewer/blob/main/demo.gif)

## Features
- View photos from Curiosity, Opportunity and Spirit
- Search by Earth date range available for each mission
- View all of the selected rover's photos for a given day or filter by a camera type (if used that day)

## Architecture
- Written with Swift/SwiftUI
- Uses MVVM to structure the app
- Includes a networking layer
- Combine for an Async Image Loader

## Getting Started
### Prerequisites
- A valid API Key from [NASA](https://api.nasa.gov/)
- A Mac running macOS Catalina or higher
- XCode 12

### Installation
1. Clone or download the project to your local machine
2. Open the project in XCode
3. Replace `DEMO_KEY` with your valid NASA API key in `APIClient.swift`

```
final class APIClient {

    // REQUEST AND REPLACE PLACEHOLDER API KEY WITH ISSUED KEY FROM "https://api.nasa.gov".
    let apiKey = "DEMO_KEY"
```
4. Run the Simulator or build on an iOS device

## Acknowledgements
The following resources were used when building this project:
- [GitHub Async Image](https://github.com/V8tr/AsyncImage) && [Asynchronous Image Loading from URL in SwiftUI](https://www.vadimbulavin.com/asynchronous-swiftui-image-loading-from-url-with-combine-and-swift/)
- My `APIClient.swift` was heavily influenced by the `APIService.swift` in this project [GitHub MovieSwiftUI](https://github.com/Dimillian/MovieSwiftUI)

*This project is not affiliated in any way with NASA.*

license: Unlicense

repository: Kevin-Galarza/MarsRoverPhotoViewer

branch_name: refs/heads/main

repo_name: Kevin-Galarza/MarsRoverPhotoViewer


text:
# Angular ecosystem

Angular benefits from a fantastic ecosystem. I will provide here some great sources to kickstart your learning journey.

## Official resources

- **[Angular.io](angular.io):** The official site for Angular. This site has TONS of guides, reference materials, and tutorials that you could spend weeks diving into.

- **[Tour of Heroes tutorial](angular.io/tutorial):** A theory/concept/feature-rich tutorial. I strongly advise you to try it out as it gives you the opportunity to review the concepts seen in this training from a different perspective.

- **[Angular official blog](blog.angular.io):** News and Tips from the Angular Team.

- **[Angular Material](material.angular.io/components) and the [CDK](https://material.angular.io/cdk/categories):** Two UI/UX libraries developped and maintained by the Angular Components team that is part of the Angular team at Google. The team includes both Google employees and community contributors from around the globe. Material Angular contains high-quality UI components that can be dropped into existing applications. The CDK (Component Development Kit) helps you build your own custom components with common interaction patterns. Both library are maintained at the same pace as the Angular framework.

## Non Angular-specific resources

- **[RxJS](rxjs.dev):** Learn about the library's concepts in depth here. The site also provides a decision-tree to help you choose the right operator to solve the situtation at hand.

- **[MDN Web Docs](https://developer.mozilla.org/):** MDN Web Docs is an evolving learning platform for Web technologies and the software that powers the Web, including CSS, HTML, and JavaScript. It offers great resources, I can only recommand it.

- **[Can I Use](https://caniuse.com/):** provides up-to-date browser support tables for support of front-end web technologies on desktop and mobile web browsers.

## Blogs

Here is a list of interesting blogs:
- [Anglar University](https://blog.angular-university.io/)
- [Netanel Basal's blog](https://netbasal.com/)
- [Anglar inDepth](https://indepth.dev/angular)
- [Thoughtram](https://blog.thoughtram.io/categories/angular)

## Conferences

- **[NgConf](2021.ng-conf.org/):** happens every year around April-May in Salt Lake City. You can watch some of the previous sessions on their website.

- **[Angular Connect](angularconnect.com/):** happens in London around September, there hasn't been a session since 2019.


text:
# Xsourcetracking

Run FEAST, sourcetracker2 or ML classification for a features table, metadata and metadata column's sink
(and sources) to help identifying most likely features origin and curate sample labeling.

## Installation

```
pip install -U git+https://github.com/FranckLejzerowicz/Xsourcetracking.git
```

#### Requisites
* python >= 3.5
* [FEAST](https://github.com/cozygene/FEAST) (R install)
* [sourcetracker2](https://github.com/biota/sourcetracker2) (python install)
* [scikit-learn]()

## Input

## Outputs

## Example

## Visualization

### Optional arguments

```
```

### Bug Reports

contact `flejzerowicz@health.ucsd.edu`

repository: FranckLejzerowicz/Xsourcetracking

repo_name: FranckLejzerowicz/Xsourcetracking


text:
# systemic-zookit

[![Build Status](https://img.shields.io/travis/Adron/systemic-zookit.svg?style=flat-square)]()
[![License](https://img.shields.io/github/license/adron/systemic-zookit.svg?style=flat-square)]()
[![Issues](https://img.shields.io/github/issues/adron/systemic-zookit.svg?style=flat-square)]()
[![Maintenance](https://img.shields.io/maintenance/yes/2016.svg?style=flat-square)]()

## Description

A basic tool for using [Zookeeper](https://zookeeper.apache.org/) as configuration for application services development based on convention (as described below).

## Prerequisites

To run this project or set it up for use or development the following are needed.

* Zookeeper Instance
* .NET 4.5 and/or the latest Mono (testing versions now) More information TBD as testing is done and dependencies on legacy versions of .NET are removed. Ideally this is focused on and will build primarily for Core CLR without regard for legacy versions of .NET.

**Additional [Library Information & History](docs/information-history.md).**

*Author:* **Adron** @ **[Github](https://www.github.com/adron)** or **[Twitter](https://twitter.com/adron)**.

repository: forki/systemic-zookit

repo_name: forki/systemic-zookit


text:
# Modern Deep Network Toolkits for pyTorch (MDNC)

This is a pyTorch framework used for

* Creating specially designed networks or layers.
* Parallel Data pre- and post- processing as a powerful alternative of `torch.utils.data.DataLoader`.
* Callback-function based data visualizer as an alternative of `seaborn`.
* Web tools for downloading tarball-packed datasets from Github.
* Some modified third-party utilities.

## Usage

Currently, this project is still under-development. We suggest to use the following steps to add the package as a sub-module in your git-project,

```bash
cd <your-project-folder>
git submodule add https://github.com/cainmagi/MDNC.git mdnc
git submodule update --init --recursive
```

After that, you could use the pacakge by

```python
from mdnc import mdnc
```

If you want to update the sub-module to the newest version, please use

```bash
git submodule update --remote --recursive
```

## Progress

Now we have such progress on the semi-product:

* [ ] `optimizers`
* [ ] `modules`
  * [x] `conv`: Modern convolutional layers and networks. ![100%](https://progress-bar.dev/100)
  * [x] `resnet`: Residual blocks and networks. ![100%](https://progress-bar.dev/100)
  * [ ] `resnext`: ResNeXt blocks and networks. ![0%](https://progress-bar.dev/0)
  * [ ] `incept`: Google inception blocks and networks. ![0%](https://progress-bar.dev/0)
  * [ ] `densenet`: Dense-net blocks and networks. ![0%](https://progress-bar.dev/0)
* [ ] `models`
* [ ] `data`
  * [x] `h5py`: Wrapped HDF5 datasets saver and loader. ![100%](https://progress-bar.dev/100)
  * [ ] `netcdf4`: Wrapped NETCDF4 datasets saver and loader. ![0%](https://progress-bar.dev/0)
  * [ ] `bcolz`: Wrapped Bcolz datasets saver and loader. ![0%](https://progress-bar.dev/0)
  * [ ] `text`: Wrapped text-based datasets saver and loader (CSV, JSON, TXT). ![0%](https://progress-bar.dev/0)
  * [x] `preprocs`: Useful pre- and post- processing tools for all data handles in this package. ![100%](https://progress-bar.dev/100)
  * [x] `webtools`: Web tools for downloading tarball-packed datasets from Github. ![100%](https://progress-bar.dev/100)
* [ ] `funcs`
* [ ] `utils`
  * [ ] `tools`: Light-weighted recording parsing tools used during training or testing. ![10%](https://progress-bar.dev/10)
  * [ ] `draw`: Wrapped `matplotlib` drawing tools. Most of the utilities are designed as call-back based functions. ![80%](https://progress-bar.dev/80)
* [ ] `contribs`
  * [x] `torchsummary` [:link:](https://github.com/sksq96/pyTorch-summary): Keras style model.summary() in pyTorch, with some bugs gotten fixed (modified) (MIT licensed). ![100%](https://progress-bar.dev/100)
  * [ ] `tensorboard` [:link:](https://pyTorch.org/docs/stable/tensorboard.html): Wrapped `torch.utils.tensorboard`, supporting context-style writer and tensorboard.log converted to `h5py` format (not modified). ![0%](https://progress-bar.dev/0)

## Documentation

View the document via the following link:

https://cainmagi.github.io/MDNC/

## Demos

To be built now...

## Debug reports

Currently, this project has not been checked by compatibility tests. During the developing stage, we are using pyTorch 1.7.0+ and Python 3.6+.

To perform the compatibility test, just run

```bash
cd <root-of-this-repo>
python -m mdnc
```

The compatibility test is shown as below. The checked item means this package performs well in the specific enviroment.

| Enviroment | Win | Linux |
| :---- | :----: | :----: |
| pyTorch 1.7.0, Python 3.8 | :white_check_mark: | |
| pyTorch 1.8.0, Python 3.8 | :white_check_mark: | |
| pyTorch 1.6.0, Python 3.7 | | |
| pyTorch 1.4.0, Python 3.7 | | |
| pyTorch 1.2.0, Python 3.6 | | |
| pyTorch 1.0.0, Python 3.5 | | |

## Update reports

### 0.1.6 (alpha) @ 8/6/2021

1. Support `thread_type` for `data.h5py.H*Parser`.
2. Fix a bug when GPU is absent for `data.sequence`.

### 0.1.5 @ 3/14/2021

1. Add `DecoderNet` to our standard `module` protocol.
2. Fix some bugs of `data.h5py` and `data.preprocs`.
3. Make `draw.setFigure` enhanced by `contextlib`.
4. Add a title in `Readme.md`.
5. Fix typos and bugs in `data` and `modules`.
6. Add properties `nlayers`, `input_size` for networks in `modules`.

### 0.1.2 @ 2/27/2021

1. Fix more feature problems in `contribs.torchsummary`.
2. Fix bugs and finish `data.preprocs`.
3. Add more features in `data.webtools`.

### 0.1.0 @ 2/26/2021

1. Create this project.
2. Add packages: `contribs`, `data`, `modules`, `utils`.
3. Finish `modules.conv`, `modules.resnet`.
4. Finish `data.h5py`, `data.webtools`.
5. Finish `contribs.torchsummary`.
6. Drop the plan for supporting `contribs.tqdm`, add `utils.ContexWrapper` as for instead.
7. Add testing function for `data.webtools.DataChecker`.

repository: cainmagi/MDNC

repo_name: cainmagi/MDNC


text:
---
title: Chinese As a Second Languge
author: Shital Shah
type: post
draft: true
private: true
date: 2005-07-14T18:05:00+00:00
url: /p/chinese-as-a-second-language-vs-french-spanish/
blogger_blog:
  - astrila.blogspot.com
blogger_author:
  - Shital Shah
blogger_permalink:
  - /2005/07/chinese-as-second-languge.html
dsq_thread_id:
  -<PHONE_NUMBER>
categories:
  - Geekery

---
Dumping popular French and Spanish and [taking Chinese][1] [2 minute video - IE only] in schools is such a cool idea.

[via [A VC][2]]

 [1]: http://wcbs.dayport.com/launcher/78797/?tf=video_player.tpl&Category_ID=48
 [2]: http://avc.blogs.com/a_vc/


text:
# Preview
![](https://raw.githubusercontent.com/lbischof/dashing-aare-temperatur/master/aare.gif)

https://gitlab.com/lbischof/dashing-aare-temperatur
![Moved to GitLab](https://i.imgur.com/wGgvnPq.png)

# Description
Widget for [Dashing](http://dashing.io/) that shows the temperature of the Aare in Berne. Data is from http://www.aare.guru

# Usage
To use this widget, copy `aare.html`, `aare.coffee`, and `aare.scss` into a `/widgets/aare` directory, and copy the `aare.rb` file into your `/jobs` folder. Also copy the wave svg into the `assets` folder.

To include the widget in a dashboard, add the following snippet to the dashboard layout file:
```html
<li data-row="1" data-col="1" data-sizex="1" data-sizey="1">
    <div data-id="aare" data-view="Aare"></div>
</li>
```


text:
---
date: 2017-01-15
title: Getting Started with Jekyll
video_id: _iH8f5alzWA
description: Have non-technical people update Jekyll sites
categories:
  - Jekyll
resources:
  - name: Source code
    link: https://github.com/CloudCannon/creative-jekyll-theme/
  - name: CloudCannon
    link: https://cloudcannon.com
type: Document
set: getting-started
set_order: 1
---
## Quick Start
Jekyll is a simple, extendable, static site generator. You give it text written in your favorite markup language and it churns through layouts to create a static website. Throughout that process you can tweak how you want the site URLs to look, what data gets displayed in the layout, and more.

------------------------------------------------------------------------------
## Ruby 101
Jekyll is written in Ruby. If you’re new to Ruby, this page is to help you get up to speed with some of the terminology.
### Gems
A gem is code you can include in Ruby projects. It allows you to package up functionality and share it across other projects or with other people. Gems can perform functionality such as:
- Converting a Ruby object to JSON
- Pagination
- Interacting with APIs such as Github
- Jekyll itself is a gem as well as many Jekyll plugins including jekyll-feed, jekyll-seo-tag and jekyll-archives.

### Gemfile
A `Gemfile` is a list of gems required for your site. For a simple Jekyll site it might look something like this:
~~~bash
source 'https://rubygems.org'

gem 'jekyll'

group :jekyll_plugins do
  gem 'jekyll-feed'
  gem 'jekyll-seo-tag'
end
~~~

### Bundler
Bundler installs the gems in your `Gemfile`. It’s not a requirement for you to use a `Gemfile` and `bundler` however it’s highly recommended as it ensures you’re running the same version of Jekyll and Jekyll plugins across different environments.

`gem install bundler` installs [Bundler](https://rubygems.org/gems/bundler). You only need to install it once — not every time you create a new Jekyll project. Here are some additional details:

If you’re using a Gemfile you would first run bundle install to install the gems, then bundle exec jekyll serve to build your site. This guarantees you’re using the gem versions set in the Gemfile. If you’re not using a Gemfile you can just run jekyll serve.

For more information about how to use Bundler in your Jekyll project, this [tutorial](https://jekyllrb.com/tutorials/using-jekyll-with-bundler/) should provide answers to the most common questions and explain how to get up and running quickly.

------------------------------------------------------------------------------
## Instructions
- Install a full Ruby development environment
- Install Jekyll and bundler gems

~~~ bash
	gem install jekyll bundler
~~~
- Create a new Jekyll site at `./myblog`

~~~ bash
	jekyll new myblog
~~~
- Change into your new directory

~~~ bash
	cd myblog
~~~
- Build the site and make it available on a local server

~~~ bash
bundle exec jekyll serve
~~~

- Now browse to [http://localhost:4000](http://localhost:4000)

------------------------------------------------------------------------------

## Installation

Jekyll is a Ruby Gem that can be installed on most systems.

### Requirements
- [Ruby](https://www.ruby-lang.org/en/downloads/) version 2.2.5 or above, including all development headers (ruby version can be checked by running `ruby -v`
- [RubyGems](https://rubygems.org/pages/download)which you can check by running `gem -v`
- [GCC](https://gcc.gnu.org/install/) and [Make](https://www.gnu.org/software/make/)in case your system doesn’t have them installed, which you can check by running `gcc -v`,`g++ -v` and `make -v` in your system’s command line interface.

### Guides
For detailed install instructions have a look at the guide for your operating system.
- [macOS](https://jekyllrb.com/docs/installation/macos/)
- [Ubuntu Linux](https://jekyllrb.com/docs/installation/ubuntu/)
- [Other Linux distros](https://jekyllrb.com/docs/installation/other-linux)
- [Windows](https://jekyllrb.com/docs/installation/windows/)

gha_language: HTML


text:
---
permalink: /
title: ""
excerpt: ""
author_profile: true
redirect_from:
  - /about/
  - /about.html
---

# About Me
* Haiqiang Wang is currently a Senior Researcher at Tencent Media Lab, Shenzhen, China. He received his Ph.D. from the University of Southern California under the guidance of Professor [C.-C. Jay Kuo](http://mcl.usc.edu/people/cckuo/).
* My research interests lie in the area of, multimedia forensics, perceptual quality assessment and enhancement, particularly video quality assessment of both PGC and UGC videos. I am interested in applying these techniques in real-life video applications to improve the Quality of Experience.


text:
---
layout: post
title: AngularJS add ons
---

Tried to add two angular extensions to my project today.

[angular-tour](https://github.com/DaftMonk/angular-tour) was supposed to easily create a tour of the web site. But all I got was `undefined is not a function` error messages. I debugged a little with no luck and finally created an issue on the git project page. The bower also has a hard coded dependency on `jquery` version 2.0.3 which prevented an update to a more recent version for my project.

Next I tried to integrate [angular-slider](http://venturocket.github.io/angular-slider/), a replacement for [angular-slider](https://github.com/prajwalkman/angular-slider). I also looked at [angular-rangeslider](https://github.com/danielcrisp/angular-rangeslider) and [angular-jsslider](https://github.com/rzajac/angularjs-slider). So many options, all providing the same service, but with various limitations. The one I picked was basically invisible, as it does not provide a css, and had a flacky mouse tracking (clicking on a handle made it change the value).

## Large projects needed

Comparable to the problems I had with [grunt packages](% post_url 2014-05-08-less-is-more %), it really seems the JS ecosystem is a bit too young. Open source projects are nice and github has tons of them, but a few tens of users and a single maintainer are simply not enough to create production ready bricks.


text:
# Overview

With the Typeform API, you can easily create beautiful, interactive forms that
allow people to share their information with you in an engaging way. Here are
some examples of what you can build with the Typeform API:

- A contact form for your website that allows people to easily get in touch
  with you
- An order form for your product or service that allows people to place orders
  easily and securely
- A survey form that allows you to collect data and feedback from people
- A registration form for your event or conference that allows people to sign
  up easily and securely


text:
### Notes

* Generates a simple jar named `common-1.0.0.jar`
* Java package is `ca.foo`
    * source code lives in project root
    * test code lives in `test`
* see `build.gradle`
    * uses Maven Central repository, but can easily use JCenter or on-prem repository
    * defines dependencies much like Maven
    * flexible 'source sets' which define code location
    * configurable artifact info such as jar name, version, etc

### To Run

* `gradle build`
    * compiles code, runs the tests
    * builds the artifact
* view jar in `build/libs`


text:
# Consolite Assembler

This program takes in a text file written in assembly language, and writes out
binary instructions to another file. The binary instructions can then be
directly executed by the Consolite microprocessor or an emulator.

## What Is Consolite?

Consolite (coming from "Console Lite") is the name I've given to my design of a
hobbyist microprocessor and associated toolchain. Consolite's instruction set
architecture (ISA) has assembly level instructions for setting colors, drawing
pixels on the screen, and receiving input. This makes it suitable for writing
games, which is what makes it a "console".

### Consolite Specs

* Display: 256 x 192 pixels, 8-bit color
* Registers: 16 general purpose, instruction pointer, color, flags
* Memory: 64KiB main memory, 48KiB video memory

## Building and Dependencies

This version of the assembler is written in C++, and uses only the standard
library. To build the project just type `make`.

## Usage

`./asm SRC DEST`

### Limitations

* The assembler can't read from standard input because it needs two passes
through the assembly code, the first for error checking and the other for
converting to binary.
* The assembler can't take in multiple source files. You will have to do
something like `cat FILE1 FILE2 FILE3 > FILE4 && ./asm FILE4 DEST` to
achieve this.
* The maximum output filesize is limited to 64KiB, because Consolite must
load the entire binary into main memory before it can start executing.

## Documentation

* [Documentation for the Consolite assembly language](docs/assembly.md)

repository: rfotino/consolite-assembler

repo_name: rfotino/consolite-assembler


text:
# Changelog

## [Unreleased]

## [1.3.0] - 2021-07-05

### Added

- [#317] Integrates Ramp Network for buying ETH with fiat.

## [1.2.0] - 2021-06-10

### Changed

- Use newest Raiden client version v2.0.0 - Bespin

### Fixed

- [#338] Adapted the MetaMask integration to the recent breaking changes.

## [1.1.0] - 2020-09-29

### Added

- [#275] Wizard for Goerli testnet to try out Raiden on our demo environment.
- [#208] See the password by clicking on the eye when creating a wallet.

### Changed

- [#308] Upgraded to use Uniswap v2

### Fixed

- [#273] Wizard detects if the user sends tokens to the new account without swapping.

[unreleased]: https://github.com/raiden-network/raiden-wizard/compare/v1.3.0...HEAD
[1.3.0]: https://github.com/raiden-network/raiden-wizard/compare/v1.2.0...v1.3.0
[1.2.0]: https://github.com/raiden-network/raiden-wizard/compare/v1.1.0...v1.2.0
[1.1.0]: https://github.com/raiden-network/raiden-wizard/compare/v1.0.3...v1.1.0
[#338]: https://github.com/raiden-network/raiden-wizard/issues/338
[#317]: https://github.com/raiden-network/raiden-wizard/issues/317
[#308]: https://github.com/raiden-network/raiden-wizard/issues/308
[#275]: https://github.com/raiden-network/raiden-wizard/pull/275
[#273]: https://github.com/raiden-network/raiden-wizard/issues/273
[#208]: https://github.com/raiden-network/raiden-wizard/issues/208

repository: DariuszO/raiden-wizard

repo_name: DariuszO/raiden-wizard


text:
---
layout: default
---

# 1996-05-22 - Re: The Crisis with Remailers

## Header Data

From: "Vladimir Z. Nuri"<EMAIL_ADDRESS>To: Steven L Baur<EMAIL_ADDRESS>Message Hash: cbd690455e018ffc8c9268d1d94bc577e8ea0934e51f91e89a0e50efe340dd18

Message ID<EMAIL_ADDRESS>Reply To<EMAIL_ADDRESS>UTC Datetime: 1996-05-22 05:38:06 UTC

Raw Date: Wed, 22 May 1996 13:38:06 +0800

## Raw message

```
{% raw  %}From: "Vladimir Z. Nuri"<EMAIL_ADDRESS>Date: Wed, 22 May 1996 13:38:06 +0800
To: Steven L Baur<EMAIL_ADDRESS>Subject: Re: The Crisis with Remailers
In-Reply-To<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

>
>It isn't spam if they're paying for the traffic.  Commercial
>advertisement through electronic mail is only evil because it is
>forced on someone against their wishes and on their dime.  The current
>situation is much like a telemarketer calling long distance collect
>with billing done automatically, and you can't hang up until they're
>done with their spiel.
>
>If it were standard practice for email recipients to charge the sender
>an ecash fee (waived if they thought the mail worth their time), it
>would make things much more interesting.

a very interesting proposal (I believe Bill Gates may have even
suggested this in his book), but keep in mind you seem to be mixing
different ideas here.

there is a cost involved in delivering a message associated with
pure communications costs. then there may be a cost imposed on someone
to obtain the attention. the latter is arbitrary. the former is
pretty well established based on internet infrastructure.

what you might keep in mind is the following: in a public forum,
where "spam" was originally invented, who decides how much it
costs to post? now lets say we could quantify the communications
costs. ok fine, this comes out to $.05/msg (a large example number).
that is still economically viable for someone to "spam". to
a mail marketer this would be a really great deal. hence a system
that only charges communications fees is unlikely to prevent
spam, imho. furthermore, in a public forum, you aren't very
easily going to be able to implement "arbitrary" charges like
I wrote about.

so charging for email to one's mailbox is one possible way to
deal with spam, but it's hard to see how one could apply this
to public forums. and in many ways, the spam problem is most
difficult to solve there.

but I like the thinking on methods of trying to solve the spam
problem. I do believe it is solvable. it's just that its such
an insanely difficult problem to solve. it's a good example
of a problem that gets worse when the span of the software
grows larger.

{% endraw %}
```

## Thread

+ Return to [May 1996](/archive/1996/05)

+ Return to<EMAIL_ADDRESS>(Dr. Dimitri Vulis)](/authors/dlv_at_bwalk_dm_com_dr_dimitri_vulis_)"
+ Return to "[Ed Carp <erc@dal1820.computek.net>](/authors/ed_carp_erc_at_dal1820_computek_net_)"
+ Return to "[michael shiplett <walrus@ans.net>](/authors/michael_shiplett_walrus_at_ans_net_)"
+ Return to<EMAIL_ADDRESS>(Dave Harman)](/authors/qut_at_netcom_com_dave_harman_)"
+ Return to "[snow <snow@smoke.suba.com>](/authors/snow_snow_at_smoke_suba_com_)"
+ Return to "[Steve Reid <root@edmweb.com>](/authors/steve_reid_root_at_edmweb_com_)"
+ Return to "[Steven L Baur <steve@miranova.com>](/authors/steven_l_baur_steve_at_miranova_com_)"
+ Return to<EMAIL_ADDRESS>(Timothy C. May)](/authors/tcmay_at_got_net_timothy_c_may_)"
+ Return to "["Vladimir Z. Nuri" <vznuri@netcom.com>](/authors/vladimir_z_nuri_vznuri_at_netcom_com_)"
+ Return to "[Yap Remailer <remailer@yap.pactitle.com>](/authors/yap_remailer_remailer_at_yap_pactitle_com_)"

+ 1996-05-18 (Sat, 18 May 1996 17:58:02 +0800) - [The Crisis with Remailers](/archive/1996/05/580274c4cf5e739e31b95e4b2f56cb085f2c704bc16ec28581a96720ee726561) -<EMAIL_ADDRESS>(Timothy C. May)_
  + 1996-05-18 (Sat, 18 May 1996 21:35:40 +0800) - [Re: The Crisis with Remailers](/archive/1996/05/004e6427f04d68be632bbdf5d63ab5ef07698fe2b1a549620b3cebf4153a3be6) - _Ed Carp<EMAIL_ADDRESS>    + 1996-05-18 (Sat, 18 May 1996 19:57:13 +0800) - [Re: The Crisis with Remailers](/archive/1996/05/75453cfc10d5ea434d1eb54e30ddebf2b78c9937da5592d24fa33fde4b861ed5) - _michael shiplett<EMAIL_ADDRESS>      + 1996-05-19 (Sun, 19 May 1996 08:48:20 +0800) - [None](/archive/1996/05/9e956db2782b5592ebed063978c4f5d84ebf125a9bac44ea20fc9e5bb8855685) - _Yap Remailer<EMAIL_ADDRESS>  + 1996-05-18 (Sun, 19 May 1996 05:25:53 +0800) - [Re: The Crisis with Remailers](/archive/1996/05/28d778ef6027acbd0680192bb478de0325fb93f72c294ee215d9497ad81eab70) - _"Vladimir Z. Nuri"<EMAIL_ADDRESS>    + 1996-05-18 (Sun, 19 May 1996 05:38:43 +0800) - [Re: The Crisis with Remailers](/archive/1996/05/900a7081c522e70dc198e1b437aafac40af6bf35696c399b48b7c6071d6c2715) -<EMAIL_ADDRESS>(Dr. Dimitri Vulis)_
      + 1996-05-19 (Sun, 19 May 1996 09:21:06 +0800) - [Re: The Crisis with Remailers](/archive/1996/05/7602d014c75d5f8c181579277435732edb91e7f2ebe2f7e313a47d796738ecf5) - _"Vladimir Z. Nuri"<EMAIL_ADDRESS>        + 1996-05-19 (Sun, 19 May 1996 11:55:00 +0800) - [Re: The Crisis with Remailers](/archive/1996/05/926b480a6d24af866449cf18db0b5b8ff6d83370f76e494fe20f6af6cecedab1) -<EMAIL_ADDRESS>(Dr. Dimitri Vulis)_
    + 1996-05-19 (Sun, 19 May 1996 15:58:54 +0800) - [Re: The Crisis with Remailers](/archive/1996/05/486929fc7ea22ec9103c95055ec305df7a57f09fc9f8f20fe7c7f1121f23b346) - _Steve Reid<EMAIL_ADDRESS>      + 1996-05-19 (Mon, 20 May 1996 03:56:39 +0800) - [Re: The Crisis with Remailers](/archive/1996/05/4af0167f40fdb08833bd55d32eb23fcc49b14735d34d253a7d19e19f1474450c) - _snow<EMAIL_ADDRESS>      + 1996-05-20 (Mon, 20 May 1996 11:16:45 +0800) - [Re: The Crisis with Remailers](/archive/1996/05/8c8d6bb24369470058c68d81d3add3e6e427f53cb90c4c3babf1730a80304bda) - _"Vladimir Z. Nuri"<EMAIL_ADDRESS>        + 1996-05-20 (Mon, 20 May 1996 17:28:54 +0800) - [Re: The Crisis with Remailers](/archive/1996/05/8ee2acd6de6052bcc91ed968d0c9e1794a01897d0f573721ec83a5d6fb9126ff) - _snow<EMAIL_ADDRESS>        + 1996-05-21 (Tue, 21 May 1996 19:52:14 +0800) - [Re: The Crisis with Remailers](/archive/1996/05/8a043cfe87e15c6f895d35b312ba917e2ec40f90e38450d42bfc1e8ae3378c31) - _Steve Reid<EMAIL_ADDRESS>      + 1996-05-21 (Tue, 21 May 1996 16:45:07 +0800) - [Re: The Crisis with Remailers](/archive/1996/05/08a8557ccb9ab50814b15b3a2a59f3417f1012e4a2295007957abca1829e999b) - _Steven L Baur<EMAIL_ADDRESS>        + 1996-05-22 (Wed, 22 May 1996 13:38:06 +0800) - Re: The Crisis with Remailers - _"Vladimir Z. Nuri"<EMAIL_ADDRESS>    + 1996-05-19 (Sun, 19 May 1996 16:40:47 +0800) - [Re: The Crisis with Remailers](/archive/1996/05/da132efd55dc54a7ac88bd93c3c6b5e0ed638bbdbe17594c42e87d707b1e9557) -<EMAIL_ADDRESS>(Dave Harman)_


text:
# Insta

insta: a snapshot testing library for Rust

## What is Snapshot Testing?

Snapshot testing is just a fancy term for asserting that something equals a
reference value in a test.  However the reference value is stored in a separate
file and support is provided to update and diff this value.

Insta supports snapshotting the output of the `Debug` or `serde::Serialize` trait:

```rust
use insta::assert_debug_snapshot_matches;

#[test]
fn test_snapshots() {
    let value = vec![1, 2, 3];
    assert_debug_snapshot_matches!("snapshot_name", value);
}
```

## API

This crate exports two basic macros for snapshot testing:
`assert_snapshot_matches!` for comparing basic string snapshots and
`assert_debug_snapshot_matches!` for snapshotting the debug print output of a
type. Additionally if the serialization feature is enabled the
`assert_serialized_snapshot_matches!` macro becomes available which serializes an
object with serde to yaml before snapshotting.

Snapshots are stored in the `snapshots` folder right next to the test file
where this is used.  The name of the file is `<module>__<name>.snap` where
the `name` of the snapshot has to be provided to the assertion macro.

To update the snapshots export the `INSTA_UPDATE` environment variable
and set it to `1`.  The snapshots can then be committed.

* [Documentation](https://docs.rs/insta)
* [Crate](https://crates.io/crates/insta)

## Workflow

The recommended flow is to run the tests once, have them fail and check
if the result is okay.  Once you are satisifed run the tests again with
`INSTA_UPDATE` set to `1` and updates will be stored:

```
$ INSTA_UPDATE=1 cargo test
```

## Contributing

To build and run tests for the Insta crate itself, you can clone this
repository and run:

```
$ make build
$ make test
```

You can also start a readily configured online workspace using Gitpod:

[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://github.com/mitsuhiko/insta)

## License

Insta is licensed under the Apache 2 license.

repository: jankeromnes/insta

repo_name: jankeromnes/insta


text:
# AWS Modernization with Tigera

### Welcome

The intent of this workshop is to educate any person working with EKS cluster in one way or another about Calico features and how to use them. While there are many capabilities that Calico provides, this workshop focuses on a subset of those that are used most often by different types of technical users.

### Learning Objectives

In this workshop we are going to focus on these main use cases:

- **East-West security**, leveraging zero-trust security approach.
- **Egress access controls**, using DNS policy to access external resources by their fully qualified domain names (FQDN).
- **Host micro-segmentation**, leveraging Calico policies to protect host ports and host based services.
- **Observability**, exploring various logs and application level metrics collected by Calico.
- **Compliance**, providing proof of security compliance.

### Instruction to run workshop on your own:

This page is build with Hugo, so you'll need to install it - https://gohugo.io/getting-started/installing/

Next, clone this repo:

```
git clone git@github.com:aws-samples/aws-modernization-with-tigera.git
```

Ensure that you have also cloned the submodules:

```
git submodule init
git submodule update
```

Start the server with Hugo:
```
hugo server
```

Go to localhost: to view the content in your web browser of choice


text:
# Camissoniopsis micrantha (Hornem. ex Spreng.) W.L. Wagner & Hoch SPECIES

#### Status
ACCEPTED

#### According to
The Catalogue of Life, 3rd January 2011

#### Published in
null

#### Original name
Oenothera micrantha Hornem. ex Spreng.

### Remarks
null

repository: mdoering/backbone

repo_name: mdoering/backbone


text:
# RFX Stack

#### Universal App featuring:
### React + Feathers + MobX
---

[![GitHub license](https://img.shields.io/github/license/foxhound87/rfx-stack.svg)]()
[![node](https://img.shields.io/badge/node-5.0%2B-blue.svg)]()
[![npm](https://img.shields.io/badge/npm-3.3%2B-blue.svg)]()

## Changelog & Documentation
See the [Changelog](https://github.com/foxhound87/rfx-stack/blob/master/CHANGELOG.md) or the [Documentation](https://github.com/foxhound87/rfx-stack/blob/master/DOCUMENTATION.md) for all the details.

---

## Main Features
- Hot-Reloadable MobX Stores
- Action Dispatcher for Stateless Components
- Server Side Rendering (SSR)
- Reactive UI & Media Queries
- React Hot Loader 3
- React Stateless Components
- Isomorphic Fetch/Socket
- Multi Platform Ready
- Real Time Ready
- Microservices Ready
- Functional & Modular CSS
- Webpack 2 w/ code-splitting

## Main Libs

| Name | Description | | |
|---|---|---|---|
| **react** | View Layer | [GitHub ➜](https://github.com/facebook/react) | [NPM ➜](https://www.npmjs.com/package/react) |
| **react-router** | Routing  | [GitHub ➜](https://github.com/reactjs/react-router) | [NPM ➜](https://www.npmjs.com/package/react-router) |
| **mobx** | State Management | [GitHub ➜](https://github.com/mobxjs/mobx) | [NPM ➜](https://www.npmjs.com/package/mobx) |
| **feathers** | Server, CRUD & Data Transport | [GitHub ➜](https://github.com/feathersjs/feathers) | [NPM ➜](https://www.npmjs.com/package/feathers) |
| **postcss** | Styling | [GitHub ➜](https://github.com/postcss/postcss) | [NPM ➜](https://www.npmjs.com/package/postcss) |
| **browser-sync** | Live Browser Syncing | [GitHub ➜](https://github.com/browsersync/browser-sync) | [NPM ➜](https://www.npmjs.com/package/browser-sync) |
| **mobx-react-form** | Forms Management | [GitHub ➜](https://github.com/foxhound87/mobx-react-form) | [NPM ➜](https://www.npmjs.com/package/mobx-react-form) |
| **babel** | Javascript Transpiler | [GitHub ➜](https://github.com/babel/babel) | [NPM ➜](https://www.npmjs.com/package/babel) |
| **webpack 2** | Javascript Bundler | [GitHub ➜](https://github.com/webpack/webpack) | [NPM ➜](https://www.npmjs.com/package/webpack) |
| **eslint** | Code Linter | [GitHub ➜](https://github.com/eslint/eslint) | [NPM ➜](https://www.npmjs.com/package/eslint) |
| **eslint-config-airbnb** | Code Style Guide & Rules | [GitHub ➜](https://github.com/airbnb/javascript) | [NPM ➜](https://www.npmjs.com/package/eslint-config-airbnb) |
| **electron** | Cross platform desktop app | [GitHub ➜](https://github.com/electron/electron) | [Website ➜](http://electron.atom.io/) | |

---

# Quick Setup

> Run a local MongoDB instance (port 27017) before start the server.
[Install MongoDB](https://docs.mongodb.org/manual/administration/install-community/)

#### ENV: Development

`npm install`

> Run each script in different terminals.

`npm run api:dev`

`npm run web:dev`

> Run the **seed** app or the **web** app after the **api** app is running.

`npm run seed:dev`

#### ENV: Production

`npm install`

> Build

`npm run build:client:web`

`npm run build:server:web`

`npm run build:server:api`

> Run

`npm run api:prod`

`npm run web:prod`

#### Electron App

[Click here to see how to setup the electron app](https://github.com/foxhound87/rfx-stack/blob/master/DOCUMENTATION.md#electron)

---

## Getting started with RFX Stack

- [Ten minute introduction to MobX and React](https://mobxjs.github.io/mobx/getting-started.html)
- [State Management and Hydration with MobX for SSR](https://medium.com/@foxhound87/state-management-hydration-with-mobx-we-must-react-ep-05-1922a72453c6)
- [Functional CSS - The Good, The Bad, and Some Protips for React.js Users](https://github.com/chibicode/react-functional-css-protips)
- [Feathers API service composition with hooks](https://blog.feathersjs.com/api-service-composition-with-hooks-47af13aa6c01)

## Credits

Thanks to [Eric John Juta](https://github.com/rej156) for his contribution about the **Hot-Reloadable MobX Stores** implementation.

## Contributing

If you like this stack, don't forget to star the repo!

If you want to contribute to the development, do not hesitate to fork the repo and send pull requests.

gha_language: JavaScript


text:
# Madcoin Unleashed Core [![GitHub version](https://img.shields.io/badge/Version-5.0-brightgreen.svg)](https://github.com/madcoin-project/madcoin-unleashed)

Website | Block Explorer | Bitcointalk | Discord | Twitter

## About Madcoin Unleashed

Madcoin is a well known cryptocurrency which is managed by a completely new team now.

## Madcoin Unleashed Specifications

| Specification | Value |
| ------ | ------ |
| Name | Madcoin Unleashed |
| Ticker | MDC |
| Type | PoS / Masternodes |
| Total Supply | 55 Million |
| Block Time | 90 seconds |
| Masternode Collateral | 25000 MDC |
| Minimum stake age | 1 hour |
| Coinbase maturity | 10 confirmations |
| P2P port | 10882 |
| RPC port | 10883 |

## License

Madcoin Unleashed Core is released under the terms of the MIT license. See [COPYING](COPYING) for more information or see https://opensource.org/licenses/MIT.

repository: madcoin-project/madcoin-unleashed

repo_name: madcoin-project/madcoin-unleashed


text:
# Requirements and Installation

## Homebrew 🍻

For [*Homebrew*](https://brew.sh) users *doc2dash* is available from a [*Homebrew* tap](https://github.com/hynek/homebrew-tap):

```shell
$ brew install hynek/tap/doc2dash
```

We try to provide as many pre-built bottles as possible.

## Binaries

As of version 3.0, the [releases](https://github.com/hynek/doc2dash/releases) come with **pre-compiled binaries** for Linux, macOS, and Windows on Intel x64 that you can simply download and run *without* any other dependencies.

!!! Warning
    On macOS, you may get a warning about an unsigned binary.
    To get rid of that you'll have to open it once in Finder using right-click and it should work as expected from the terminal from then on.

## PyPI

If your platform is not supported yet (or doesn't work), the latest stable version can be always found on [PyPI](https://pypi.org/project/doc2dash/).

A good way to run it without ruining your Python installation is [*pipx*](https://pipxproject.github.io/pipx/).
Either by installing it first, or by running it directly:

```shell
$ pipx run doc2dash --help
```

As of version 2.4, *doc2dash* only supports Python 3.8 and later.
If you need to run it on an older Python version, use one of the 2.x releases that are available on [PyPI](https://pypi.org/project/doc2dash/).

All platforms that run Python are supported.

## Viewer

To view the results, you will need a docset viewer, the most commonly known being [Dash](https://kapeli.com/dash/) for macOS.

Other alternatives have been developed in cooperation with Dash's developer [Kapeli](https://twitter.com/kapeli):

- [*helm-dash*](https://github.com/areina/helm-dash) for Emacs,
- and [Zeal](https://zealdocs.org/) for Linux and Windows.

*doc2dash* is only tested against the original Dash though.

gha_language: Python


text:
# Brassica napus var. annua W.D.J. Koch VARIETY

#### Status
SYNONYM

#### According to
Integrated Taxonomic Information System

#### Published in
Syn. fl. germ. helv. 55. 1836 ("1835")

#### Original name
null

### Remarks
null

path: /life/Plantae/Magnoliophyta/Magnoliopsida/Brassicales/Brassicaceae/Brassica/Brassica napus/ Syn. Brassica napus annua/README.md


text:
# appsync-cloudformation-transformer-cli

An easy to use cli for graphql sdl for appsync to cloudformation transforms.

# Usage

`npm i -g appsync-cloudformation-transformer-cli`
`pip install --user cfn_flip` optional but nice for easier to read cfn

Example Schema:

```graphql
type Post @model @searchable {
    id: ID!
    title: String!
    tagline: @default(value: "It's like X for Y")
    tags: [String]
    comments: [Comment] @connection
    createdAt: String
    updatedAt: String
}
type Comment @model {
    id: ID!
    content: String!
}
```

Then run `act schema.graphql` or if you want a yaml version saved to a file simply `act schema.graphql | cfn-flip > template.yaml`

# Custom Directives

We have added, and plan to continue adding, custom directives to make this a powerful abstraction layer.

## Default field value directive

You can set a field value to a specific thing if it is otherwise undefined via the `@default` directive. It will properly handler coercion to the correct type for Int as well, even though you define the value in a string.

```graphql
type Post {
    id: ID!
    title: String @default(value: "Your Example Title")
    viewCount: Int @default(value: "9001")
}
```


text:
SIPMediaGW call flow
--------

<img src="call_flow.png" width=80% height=80%>

1. SIP Server setting
   - [usrloc](https://github.com/Renater/SIPMediaGW/blob/109ecb386595e2842606bbff756fc54eb4882da2/test/kamailio/config/kamailio.cfg#L422-L429) and [dialog](https://github.com/Renater/SIPMediaGW/blob/109ecb386595e2842606bbff756fc54eb4882da2/test/kamailio/config/kamailio.cfg#L335-L339) modules in kamailio are configurated respectively with db_mode=3 and db_mode=1 \
   => any changes are reflected in Kamailio data base, in real time.
   -  The [minimum expires value](https://github.com/Renater/SIPMediaGW/blob/109ecb386595e2842606bbff756fc54eb4882da2/test/kamailio/config/kamailio.cfg#L423) of a "Contact" is set to 1 minute.
   Accordingly, the SIP register interval of a SIPMediaGW ([regint](https://github.com/Renater/SIPMediaGW/blob/114ee4be29e0460132a0c018b8bbd94c72728522/entrypoint.sh#L122)) is set to 1 minute.
   - The location table in Kamailio data base is customized with a new column: ["locked"](https://github.com/Renater/SIPMediaGW/blob/114ee4be29e0460132a0c018b8bbd94c72728522/test/kamailio/kamailioRun.py#L22-L23), which indicates if a registered SIPMedaGW is free (or not) to accept an incoming call.

2. SIPMediaGW registration
   - When starting, a gateway tries to register with the SIP Server.
   - The username of the gateway follows this template: *{prefix}.[mediagw](https://github.com/Renater/SIPMediaGW/blob/109ecb386595e2842606bbff756fc54eb4882da2/test/.env_kamailio#L2).{id}*
     - "prefix" must be chosen such as to ensure that each username is unique from SIP Server side (e.g. [IP address](https://github.com/Renater/SIPMediaGW/blob/109ecb386595e2842606bbff756fc54eb4882da2/test/services/sipmediagw.service#L14) ot the host machine).
     - "id" suffix is [automatically set](https://github.com/Renater/SIPMediaGW/blob/114ee4be29e0460132a0c018b8bbd94c72728522/SIPMediaGW.sh#L36) when the gateways starts.
   - The  [challenge–response](https://github.com/Renater/SIPMediaGW/blob/114ee4be29e0460132a0c018b8bbd94c72728522/test/kamailio/config/kamailio.cfg#L822-L823) authentication relies on a [shared secret](https://github.com/Renater/SIPMediaGW/blob/109ecb386595e2842606bbff756fc54eb4882da2/test/.env_kamailio#L1)
   - A newly registered gateway is referenced in the location table as unlocked (locked=0)

3. Incomming call

   - Thanks to a customized [routing logic](https://github.com/Renater/SIPMediaGW/blob/109ecb386595e2842606bbff756fc54eb4882da2/test/kamailio/config/request_gw.py#L60), the SIP Server selects a free (unlocked) SIPMediaGW to which the incoming call is forwarded.
   - The corresponding SIPMediaGW is locked until the end of the call.

4. Call ending
   - After receiving a BYE (end of the call) from the SIP Endpoint, the gateway turns off automatically.
   - The corresponding location in Kamailio is deleted

repository: Renater/SIPMediaGW

repo_name: Renater/SIPMediaGW


text:
# banking

This is just a little script I use to figure out where my money goes.

## How it works

I export my banking transactions as a csv file from my bank's website, and I
maintain a list of categories in a separate csv file. Samples of these files can
be found in the data subfolder.

The transactions file should have a header row and columns for the date,
description and amount of each transaction:

```
Date,Description,Amount
1/4/2015,DEPOSIT,1000000.00
```

The categories file should have columns for the name of each category and a
pattern that matches one or more transaction descriptions:

```
Name,Pattern
Deposits,^deposit$
```

The script can then be run like so:

```sh
$ node main.js transactions.csv -c categories.csv
```

If a transaction doesn't match any of the categories, it will ask for a category
name and pattern:

```
Transaction not categorized:
Date: Tuesday, January 6, 2015
Description: DEBIT PURCHASE -VISA GOG.COM
Amount: -2.49

Please enter a category name: Games
Please enter a pattern: gog\.com
```

Once every transaction has been categorized, it will display a summary of each
category:

```
Category: Games
Total transactions: 2
Total amount: -10.48
```

## Options

### -c [FILE], --categories [FILE], --categories-file [FILE]

Default: `categories.csv`

The name of the csv file containing category data. This file is overwritten
every time the user is prompted to add or update a category. Consider making a
backup copy if it has a lot of data. If it doesn't exist, it will be created.

Example:

```sh
$ node main.js transactions.csv -c categories.csv
```

### -m [JSON], --tcols [JSON], --transaction-columns [JSON]

Default: `{"date": "Date", "description": "Description", "amount": "Amount"}`

The script expects a "Date", a "Description" and an "Amount" column in the
transactions csv file. Use this option if the columns in your file are named
otherwise.

For example, consider the following csv file:

```
Type,DateTime,Name,Amount,Balance
DEBIT,2015-01-12T10:04:16.123Z,DEBIT PURCHASE -VISA DOCTOR WHO,-40.00
```

In this case, you can specify the column names like so:

```sh
$ node main.js transactions.csv -m \
    '{"date": "DateTime", "description": "Name", "amount": "Amount"}'
```

### -n [JSON], --ccols [JSON], --category-columns [JSON]

Default: `{"name": "Name", "pattern": "Pattern"}`

The script expects a "Name" and a "Pattern" column in the categories csv
file. Use this option if the columns in your file are named otherwise.

For example, consider the following csv file:

```
Label,Color,Keywords,Tax deductible
Medical,red,(?:dr|doctor) who,true
```

In this case, you can specify the column names like so:

```sh
$ node main.js transactions.csv -n '{"name": "Label", "pattern": "Keywords"}'
```

### -o [CATEGORIES], --only [CATEGORIES], --only-categories [CATEGORIES]

Default: none

Use this option to display only the listed categories.

Example:

```sh
$ node main.js transactions.csv -o 'fast food,groceries'
```

### -f [DATE], --from [DATE], --from-date [DATE]

Default: none

Use this option to exclude transactions before this date.

Example:

```sh
$ node main.js transactions.csv -f 4/1/2016
```

### -t [DATE], --to [DATE], --to-date [DATE]

Default: none

Use this option to exclude transactions after this date.

Example:

```sh
$ node main.js transactions.csv -t 4/30/2016
```

### -v, --verbose

Default: `false`

Use this option to list the transactions in the displayed categories.

Example:

```sh
$ node main.js transactions.csv -v
```

repository: dave-kennedy/banking

repo_name: dave-kennedy/banking


text:
#  <img src="skill_icon" alt="Happy Birthday icon" width="36"> [Happy Birthday](http://alexa.amazon.com/#skills/amzn1.echo-sdk-ams.app.32e8aa28-7591-4ad2-8f2b-83dd673464c5)
![2.6 stars](../../images/ic_star_black_18dp_1x.png)![2.6 stars](../../images/ic_star_black_18dp_1x.png)![2.6 stars](../../images/ic_star_half_black_18dp_1x.png)![2.6 stars](../../images/ic_star_border_black_18dp_1x.png)![2.6 stars](../../images/ic_star_border_black_18dp_1x.png) 14

To use the Happy Birthday skill, try saying...

* *Alexa, launch Happy Birthday*

* *Alexa, ask Happy Birthday to sing to Julie.*

* *Alexa, tell Happy Birthday to sing Happy Birthday to Tim.*

Is someone you know having a birthday?  Surprise them with this silly skill that sings (er, raps?) the Happy Birthday song.  Just tell your Echo the name of the lucky birthday girl or boy and Alexa does the rest.

Song can vary between uses to delight kids with crazy, surprising fun variations, including one that glitches and scratches ("Ha-ha-happy Birthday to Yo-yo-yooooou!").

Though it might not win any singing contest, it's infectiously clever fun.

***

### Skill Details

* **Invocation Name:** happy birthday
* **Category:** null
* **ID:** amzn1.echo-sdk-ams.app.32e8aa28-7591-4ad2-8f2b-83dd673464c5
* **ASIN:** B01BH31OZI
* **Author:** Thomptronics
* **Release Date:** February 4, 2016 @ 12:36:31
* **In-App Purchasing:** No


text:
# Notes #

Write default Preset\Handbrake here.  For detailed documentation, see the `README.md` in `Preset\Handbrake/`.  The only difference for Preset\Handbrake in this directory is that they should all be namespaced in `AC\Component\Transcoding\Preset`.

repository: afreix/Transcoding

repo_name: afreix/Transcoding


text:
# vcd

A web deployment system tool!

Support all kinds of code release and rollback, which can be done through the web with one click!

Vcd is a radically simple IT automation system. It handles configuration management, application deployment, cloud provisioning, ad-hoc task execution, network automation, and multi-node orchestration. Vcd makes complex changes like zero-downtime rolling updates with load balancers easy.

repository: wuchunfu/vcd

repo_name: wuchunfu/vcd


text:
# Continuous Integration and Continuous Delivery Demo: from Code to Production with Ansible

This is a proposal that leverages the use of Ansible as an [orchestrator](https://www.ansible.com/use-cases/orchestration) of the [integration](https://www.ansible.com/overview/devops) and [continuous delivery](https://www.ansible.com/use-cases/continuous-delivery) processes.

![ansible-dashboard](img/ansible-dashboard.png "ansible-dashboard")

## Video

[![http://www.youtube.com/watch?v=WVhGt7qcoH4](http://img.youtube.com/vi/WVhGt7qcoH4/0.jpg)](http://www.youtube.com/watch?v=WVhGt7qcoH4)

## Flow

The flow begins when a developer makes a change in the code ![codeenvy-pull-commit-push](img/codeenvy-pull-commit-push.png) and publishes it to the source code repository ([gitlab](https://about.gitlab.com/features/gitlab-ci-cd/) [github](https://developer.github.com/v3/guides/building-a-ci-server/) [bitbucket](https://bitbucket.org/AnsibleByRedHat/ansible-tower-pipelines)) hence a runner or webhook/ bitbucket pipeline identify the type of project, change, branch and different variables to call a [workflow](https://www.ansible.com/tower?wvideo=2uoh2d92ew) in ansible that includes the different steps (jobs) to complete the release.

### CI/CD Flow Diagram
![cicdflow](img/cicd-notitle.png "CI/CD Flow Diagram")

## Steps (jobs)

Depending on the type of application, a workflow is executed and different jobs from [playbooks](http://docs.ansible.com/ansible/latest/playbooks.html) are launched:

* **unit** Unit tests.
* **sonarqube** Coverage tests and code analysis. ![sonarqube](img/sonarqube.png)

* **taurus** Coordinator of execution of functional and load tests.
* **appium** Automation for Mobile Applications.
* **selenium** Functional tests in web. ![selenium](img/selenium.png)
* **jmeter** Load tests. ![jmeter](img/jmeter.png)
* **jenkins** Construction and publication of artifacts. ![jenkins](img/jenkins.png)
* **testfairy** Distribution of *Mobile* Applications.
* **openshift** Publish web applications and services to PaaS. ![openshift-deployment](img/openshift-deployment.png)

## Published application

http://spotlight-web-spotlight.1d35.starter-us-east-1.openshiftapps.com

[![http://spotlight-web-spotlight.1d35.starter-us-east-1.openshiftapps.com](img/web-release.png)](http://spotlight-web-spotlight.1d35.starter-us-east-1.openshiftapps.com)

## Future

Integration with [CMDB](http://docs.ansible.com/ansible/latest/intro_dynamic_inventory.html), [Reporting](https://community.jaspersoft.com/project/jasperreports-server) servers, [agile project management](http://docs.ansible.com/ansible/latest/jira_module.html) tools and [analysis](https://www.ansible.com/splunk) [engines](https://github.com/openstack/ara).

repository: santiagoangel/spotlight-web

repo_name: santiagoangel/spotlight-web


text:
---
layout: posts
title:  "Non-graceful Shutdown Broker"
date:   2020-10-20
categories:
  - chaos_experiment
  - broker
authors: zell
---

# Chaos Day Summary

Today I had not much time for the chaos day, because of writing Gameday Summary, Incident review, taking part of incidents etc. So enough chaos for one day :)

But I wanted to merge the PR from Peter and test how our brokers behave if they are not gracefully shutdown.
I did that on Wednesday (21-10-2020).

<!--truncate-->

## PR Merge

I tried again the new chaos experiment with a Production M cluster, before merging. It worked quite smooth.
PR is merged [#41](https://github.com/zeebe-io/zeebe-chaos/pull/41) :tada:

## Non-graceful shutdown

Currently in our experiments we do a normal `kubectl delete pod`, which does an graceful shutdown. The application has time to stop it's services etc. It would be interesting how Zeebe handles non-graceful shutdowns. In order to achieve that we can use the option `--grace-period=0`. For more information you can read for example [this](https://kubernetes.io/docs/tasks/run-application/force-delete-stateful-set-pod/#force-deletion)

I added additional experiments to our normal follower and leader restarts experiments, such that we have both graceful and non-graceful restarts.
Both seem to work without any issues. I was also able to fix some bash script error with the help of [shellcheck](https://github.com/koalaman/shellcheck). Related issue https://github.com/zeebe-io/zeebe-chaos/issues/42.

Example output:

```
(chaostk) [zell kubernetes/ ns:f45d4dee-f73a-4733-9cd4-a4aa8b022376-zeebe]$ chaos run leader-terminate/experiment.json
[2020-10-21 15:57:23 INFO] Validating the experiment's syntax
[2020-10-21 15:57:23 INFO] Experiment looks valid
[2020-10-21 15:57:23 INFO] Running experiment: Zeebe Leader restart non-graceful experiment
[2020-10-21 15:57:23 INFO] Steady-state strategy: default
[2020-10-21 15:57:23 INFO] Rollbacks strategy: default
[2020-10-21 15:57:23 INFO] Steady state hypothesis: Zeebe is alive
[2020-10-21 15:57:23 INFO] Probe: All pods should be ready
[2020-10-21 15:57:23 INFO] Probe: Should be able to create workflow instances on partition 3
[2020-10-21 15:57:27 INFO] Steady state hypothesis is met!
[2020-10-21 15:57:27 INFO] Playing your experiment's method now...
[2020-10-21 15:57:27 INFO] Action: Terminate leader of partition 3 non-gracefully
[2020-10-21 15:57:33 INFO] Steady state hypothesis: Zeebe is alive
[2020-10-21 15:57:33 INFO] Probe: All pods should be ready
[2020-10-21 15:58:28 INFO] Probe: Should be able to create workflow instances on partition 3
[2020-10-21 15:58:32 INFO] Steady state hypothesis is met!
[2020-10-21 15:58:32 INFO] Let's rollback...
[2020-10-21 15:58:32 INFO] No declared rollbacks, let's move on.
[2020-10-21 15:58:32 INFO] Experiment ended with status: completed
```

Related commits:

 * [Restart leader non-gracefully](https://github.com/zeebe-io/zeebe-chaos/commit/e6260cb8612a983c8ed74fd2a37a249987ad3d3d)
 * [Restart follower non-gracefully](https://github.com/zeebe-io/zeebe-chaos/commit/63c481c0c7dd7026f03be4e51d61a918613b0140)

## Participants

  * @zelldon

repository: zeebe-io/zeebe-chaos

gha_language: Go

repo_name: zeebe-io/zeebe-chaos


text:
---
layout: post
title: Credits
image: http://upload.wikimedia.org/wikipedia/commons/3/39/Young_toekans_sharing_food_(3910463094).jpg
imglink: http://upload.wikimedia.org/wikipedia/commons/3/39/Young_toekans_sharing_food_(3910463094).jpg
tags:
 - osd
---

in [our sites](http://opensensorsdata.it) we like to reuse open contents and opensource code, but is right (and in some cases we must) give a attribution to authors.

Therefor... here's the list:

### Site

 for **[the awesome mainsite](http://opensensorsdata.it)** we use the best onepage theme for jekyll by the great guy [Travis Neilson](https://twitter.com/travisneilson): [here's the code on github](https://github.com/DevTips/Artists-Theme) [here's the best videolessons to create a jekyll's site](https://www.youtube.com/playlist?list=PLqGj3iMvMa4KQZUkRjfwMmTq_f1fbxerI)

for this beautiful doc-site we use the [jekyll's Hyde Theme](https://github.com/poole/hyde) but many tricks are by **The MasterBlaster of Code [Dr.Blaster](http://dottorblaster.it/)** (we love this guy!)

---

### Images

the logo osd is mine (luca) <img src="http://doc.opensensorsdata.it/public/osd.png" width="10%" alt="logo opensensorsdata"> like the background image
![background osd](http://doc.opensensorsdata.it/public/images/featured/kndnsk.png)
this images are licensed under [CC-BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/)

repository: opensensorsdata/documents

repo_name: opensensorsdata/documents


text:
# NonStrictMulticall

*NonStrictMulticall* is a fork of Maker DAO's [Multicall](https://github.com/makerdao/multicall) which extends it in order to not fail when one of the component calls fails and to also return the exit status of each component call in conjunction with the returned value.

This contract can be used in conjuction with the `Multicall` package [web3-multicall-go](https://github.com/Alethio/web3-multicall-go)

### Contract Addresses
| Chain   | Address |
| ------- | ------- |
| Mainnet | [0x5eb3fa2dfecdde21c950813c665e9364fa609bd2](https://etherscan.io/address/0x5eb3fa2dfecdde21c950813c665e9364fa609bd2#contracts) |
| Ropsten | [0xf3ad7e31b052ff96566eedd218a823430e74b406](https://ropsten.etherscan.io/address/0xf3ad7e31b052ff96566eedd218a823430e74b406#contracts) |
| Kovan | [0x34063466af03ce5608f55f0345c987ede54db03e](https://kovan.etherscan.io/address/0x34063466af03ce5608f55f0345c987ede54db03e#contracts) |

repository: bowd/multicall

gha_language: Makefile

repo_name: bowd/multicall


text:
# go-pry

go-pry - an interactive REPL for Go that allows you to drop into your code at any point.

![Tests](https://github.com/d4l3k/go-pry/actions/workflows/unittest.yml/badge.svg)
[![GoDoc](https://godoc.org/github.com/d4l3k/go-pry/pry?status.svg)](https://godoc.org/github.com/d4l3k/go-pry/pry)

![go-pry](https://i.imgur.com/yr1BEsK.png)

Example

![go-pry Animated Example](https://i.imgur.com/H8hFzPV.gif)
![go-pry Example](https://i.imgur.com/0rmwVY7.png)

## Usage

Install go-pry
```bash
go get github.com/d4l3k/go-pry
go install -i github.com/d4l3k/go-pry

```

Add the pry statement to the code
```go
package main

import "github.com/d4l3k/go-pry/pry"

func main() {
  a := 1
  pry.Pry()
}
```

Run the code as you would normally with the `go` command. go-pry is just a wrapper.
```bash
# Run
go-pry run readme.go
```

If you want completions to work properly, also install `gocode` if it
is not installed in your system

```bash
go get -u github.com/nsf/gocode
```

## How does it work?
go-pry is built using a combination of meta programming as well as a massive amount of reflection. When you invoke the go-pry command it looks at the Go files in the mentioned directories (or the current in cases such as `go-pry build`) and processes them. Since Go is a compiled language there's no way to dynamically get in scope variables, and even if there was, unused imports would be automatically removed for optimization purposes. Thus, go-pry has to find every instance of `pry.Pry()` and inject a large blob of code that contains references to all in scope variables and functions as well as those of the imported packages. When doing this it makes a copy of your file to `.<filename>.gopry` and modifies the `<filename>.go` then passes the command arguments to the standard `go` command. Once the command exits, it restores the files.

If the program unexpectedly fails there is a custom command `go-pry restore [files]` that will move the files back. An alternative is to just remove the `pry.Apply(...)` line.

## Inspiration

go-pry is greatly inspired by [Pry REPL](http://pryrepl.org) for Ruby.

## License

go-pry is licensed under the MIT license.

Made by [Tristan Rice](https://fn.lc).


text:
Homebrew
========
Features, usage and installation instructions are [summarized on the homepage][home].

I don't expect this readme.md to be used... it's just that I'm new to all this and did not know where
to put the reason for this fork. (I'm assuming I cannot just fork on formula, smartmontools, right?

The only reason I forked this, so far, is to add a launchd plist to the smartmontools.rb formula.
I've tested on 10.6, 10.7, 10.8, and 10.9. And "brew services restart smartmontools" starts/stops "smartd -n" ok.

I'll add a new package shortly, similar to debian "smart-notifier" to pop-up warnings for desktop-user.
It adds a plugin shell-script calling either growlnotifier (10.5-10.7)
or terminal-notifier (10.8+, avail from growl). Betas are working with shell scripts in
/usr/local/etc/smartd_warning.d/ folder (see man smartd.conf about the experimental -m @plugin in smartd.conf).

We now return you to the regularly forked program... ;-)

What Packages Are Available?
----------------------------
1. You can [browse the Formula directory on GitHub][formula].
2. Or type `brew search` for a list.
3. Or run `brew server` to browse packages off of a local web server.
4. Or visit [braumeister.org][braumeister] to browse packages online.

More Documentation
------------------
`brew help` or `man brew` or check our [wiki][].

Who Are You?
------------
I'm Bill Day and I'm a also splendid chap.

License
-------
Code is under the [BSD 2 Clause (NetBSD) license][license].

[home]:http://brew.sh
[wiki]:http://wiki.github.com/mxcl/homebrew
[mxcl]:http://twitter.com/mxcl
[formula]:http://github.com/mxcl/homebrew/tree/master/Library/Formula/
[braumeister]:http://braumeister.org
[license]:https://github.com/mxcl/homebrew/tree/master/Library/Homebrew/LICENSE

repository: dukechem/homebrew

repo_name: dukechem/homebrew


text:
# dct-algorithm
An example of Discrete Cosite Transformation algorithm in a python app

This application was built as part of univeristy course to implement DCT algorithm.

Application relies on PIL, wxPython and numpy.
Application was developed in 2012.

repository: MaFx/dct-algorithm

repo_name: MaFx/dct-algorithm


text:
# ipwhitelist

Simple Express middleware for IP Whitelisting. Intended for developers who need to make sure they are the only ones who can access their work-in-progress code when running in a dangerous network enviornment.

## Installation
`npm install ipwhitelist`

## Example usage
```js
var express = require('express');
var ipwhitelist = require('ipwhitelist');
var app = express();
app.use(ipWhitelist(['<IP_ADDRESS>','<IP_ADDRESS>']));
app.get('/', function(req, res) {
    res.send(200, "Only whitelisted IPs can access this :D");
});
app.listen(1234);
```
## License
MIT

repository: DrOfAwesomeness/node-ipwhitelist

repo_name: DrOfAwesomeness/node-ipwhitelist


text:
LocalReads
=====================

LocalReads helps you list your paper books in an online shelf and tag a location to the shelf. When you and more of your friends and neighbors create shelves, you will start seeing Books owned by people in your neighborhood. You can request for a book from a neighbor and exchange your books to read new ones.

## Using this project

LocalReads is also an open source app.

The front-end Android app is built completely using Ionic Framework and AngularJS technologies. Developers who want to build similar apps or extend LocalReads can check the source code in this repository.

The back-end used for LocalReads is Grails framework with MongoDB backend. The source code repository is at https://github.com/sathishc/localreads-service

The projects use BDD/TDD style development. The front-end uses Protractor for e2e and Karma for unit tests. The backend-end grails code uses the spock library for tests

## Building and Testing the Source

To build the source you need Ionic from http://ionicframework.com. Follow the installation instructions at http://ionicframework.com/docs/guide/ to setup the build. You will
need to install a few plugins - Device, GeoLocation, NetworkStatus, Keyboard and Google+.

To unit test the source code you will require Karma test runner installed. Check the docs at http://karma-runner.github.io/0.12/index.html

To do end to end tests you need to install Protractor. Check the documentation at http://angular.github.io/protractor/#/

repository: webtrendzs/localreads

repo_name: webtrendzs/localreads


text:
# SQL_activity

The purpose of this activity was to build a database using 6 different data files. This project taught how to build a database from scratch in pgAdmin, join tables, and run queries.

# Tools

CSV files, SQL, pgAdmin

# Results
1. Entity Relationship Diagram

![image](https://user-images.githubusercontent.com/73977286/131581052-3ad4b3d6-a71a-49e6-b00b-b3d945bd32a4.png)

2. Example queries run:

SELECT e.emp_no, e.first_name,e.last_name,d.dept_name
FROM employees AS e
INNER JOIN dept_emp AS d
ON e.emp_no = d.emp_no
WHERE dept_name = 'Sales';

SELECT last_name, COUNT(last_name)
FROM employees
GROUP BY (last_name);


text:
<!-- ![GitHub release (latest by date)](https://img.shields.io/github/v/release/danielrataj/knarozkam) -->

<img src="/app/public/logo/favicon_1024_1024.png" alt="logo" width="150" height="150" align="right"
 />

# knarozkam

## Prerequisities

You need

-   [Docker](https://www.docker.com/) to run all required images.
-   [Docker Compose](https://docs.docker.com/compose/) to run all containers at once.

## Installation

The easiest way is to run this project with the `docker-compose.yml` file.

```bash
docker network create -d bridge knarozkam_app-tier

docker-compose -p knarozkam down && docker-compose -p knarozkam up -d
```

Now you can access the monitor right from URL <http://localhost:8080>. Default user/password based on the example is "knarozkam:knarozkam".

## Ready to contribute?

You can always:

-   raise a [new issue](https://github.com/danielrataj/knarozkam/issues) or
    Consider implementing some change on your own and then creating a [pull request](https://github.com/danielrataj/knarozkam/pulls).

We appreciate any help or opinion.

## License

[![License](http://img.shields.io/:license-mit-blue.svg?style=flat-square)](http://badges.mit-license.org)

This project is licensed under the **[MIT license](http://opensource.org/licenses/mit-license.php)** - see the [LICENSE.md](/LICENSE.md) file for details.

repository: danielrataj/knarozkam

repo_name: danielrataj/knarozkam


text:
To-Do List
==========

* Click on a header and it will sort by that column.

* Within joins, use the `val_html()` function to e.g. avoid allowing HTML to render
  within dynamically joined-in data cells

* Allow many-to-1 joining based on array fields
    * both authentic Postgres array joining
      and pseudo array using CSV text data

* Weird colors need to be fixed:
    * try with bg=dark with no background image, then do a backjoin.
    * try with the plants in the bg, and then do a backjoin.
      Weird too-pale alternating colors.

* Allow nested backlink joins
    * (dynamically bind alt-clicks to newly alt-click-spawned columns)
    * in other words make alt-click menu come up on dynamically-created elements that have been opened,
      not just the ones that are rendered from the start

* function to convert DB Viewer macros into a SQL query

* allow infinite scroll via limit and offset?
    * when you fetch more rows at the bottom or top, incorporate all the joins you've done
        * but then you have to mark all those columns so you can collapse them

* store metadata in view
    * store source table on td's
    * store data type on td's
    * number/label the Joins for more robust/accurate macros

* in-place editing?

* colors
    * add more color options for open joins
    * automatically avoid same color for adjoining open-joins
    * avoid conflict when new join column is opened and given a new color:
      make sure the old color is taken off for that pivot column
      so that there is no CSS uncertainty about which will take precedence

* give a helpful error if user didn't fill out the `db_config.php`

* global scope won't work for CMP/SD - use static class variables
    * what was I using this for anyway?

* start creating / running tests

* in the DB Viewer Table View, when you type a table name that doesn't exist,
  don't just show the message, also re-render DB Viewer so they can try again

* generalize the time field so it doesn't have to be `time_added`