text:
---
categories:
- design
date: "2015-02-23T15:21:21+01:00"
description: We've reached a point that, like the image carousel, sidebars have become
  overused and for a lot of projects superfluous. And, as I've discovered, people
  don't always understand the concept or how they work.
draft: false
tags:
- design thinking
title: Normal People Don't Understand Sidebars
---

**We've reached a point that, like the image carousel, sidebars have become overused and for a lot of projects superfluous. And, as I've discovered, people don't always understand the concept or how they work.**

Are you the type of person that tends towards simplification, or do you find that you complicate things?

I think we're all guilty of both in our own ways ... I know that I am able to break down information and usually systems into manageable chunks. But I also complicate things when I don't have a clear picture of what they're for.

My mechanic showed me a new wing mirror for my car. "What do you think?" he chirped. I was paralysed. It was too complicated. What should I compare it to? What was my original requirement? How much was it going to cost me? I had _no_ idea what to say.

### Where Sidebars Are Useful

Sidebars in native desktop OSes are vitally important. I love having my 'favourites' list in Windows and OSX. But the web is different. You can't have a persistent element created for a specific user on a web page (I'm not venturing into web apps here - that's beyond this article).

But when you're reading a post, why would you have other content straggling down the side of the main article? Whats that search box for? As a user, I already have what I want.

Yeah, some of it might be relevant to the interests of your users at some point in their journey ... but even then you're stabbing in the dark. You don't know what their motivations are.

### Sidebar Blindness

Ever heard of this? Sidebar Blindness is becoming increasingly apparent in eye tracking studies. YOUR users are ignoring that content more and more.

Why?

_Because it contains nothing relevant to them._

That's the pattern we're building here. "There's nothing I'm going to find useful there, I'll just ignore it."

 About 33% of your screen real estate (not to mention overheads in terms of design meetings, development work, etc) is going to waste.

If we want to claw back that 33% or more, we need to start thinking this through more.

### Clients Don't Understand Sidebars Either.

The other edge to this sword is that often clients don't understand the nature of sidebars. I had a project recently where we created one simple sidebar for a project. We thought that was all that was necessary based on the brief we were given.

But then, near the end of the build, the client said they wanted different content on this page from that page. Then a few days later, they wanted a 3rd layout for the sidebar on another page.

It transpired that the client didn't understand that the sidebar was dynamic content, and was the same content area on each page. They didn't get it. And they got caught up in this big discussion about what should appear on each page.

Then we had to build it. It would probably have been more efficient to have on-page content by the time they'd finished with it, but it was too late in the build, and with a looming deadline, to refactor it out.

### Conclusion

Rather than building a sidebar, would it be better for you to provide distraction-free reading, allowing the user to focus on getting the information they want from your site quickly and easily, thus increasing positive feedback?

Take the opportunity to focus on your content so users empathise with you. Provide a delightful experience that appeals to their sense of style, and use key opportunities to reinforce your brand.

That way, we avoid sidebar blindness, avoid sticky client meetings, and potentially huge amounts of code refactoring ... and wasted money.

But better than that, we use that 33% of screen real estate much more wisely.


text:
# Set-UnityLUN

## SYNOPSIS
Modifies LUN parameters.

## SYNTAX

```
Set-UnityLUN [-session <Object>] [-ID] <Object[]> [-Name <String>] [-Description <String>] [-Size <UInt64>]
 [-fastVPParameters <TieringPolicyEnum>] [-isCompressionEnabled <Boolean>] [-snapSchedule <String>]
 [-isSnapSchedulePaused <Boolean>] [-host <String[]>] [-append] [-accessMask <HostLUNAccessEnum>] [-WhatIf]
 [-Confirm]
```

## DESCRIPTION
Modifies LUN parameters.
You need to have an active session with the array.

## EXAMPLES

### -------------------------- EXAMPLE 1 --------------------------
```
Set-UnityLUN -Name 'LUN01' -Description 'Modified description'
```

Change the description of the LUN named LUN01

## PARAMETERS

### -session
Specify an UnitySession Object.

```yaml
Type: Object
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: ($global:DefaultUnitySession | where-object {$_.IsConnected -eq $true})
Accept pipeline input: False
Accept wildcard characters: False
```

### -ID
ID or Object.

```yaml
Type: Object[]
Parameter Sets: (All)
Aliases:

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

### -Name
New name of the LUN unique to the system.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -Description
New description of the LUN.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -Size
New LUN size.
The size parameter can be greater than the current LUN size in this case the LUN is expanded.

```yaml
Type: UInt64
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: 0
Accept pipeline input: False
Accept wildcard characters: False
```

### -fastVPParameters
FAST VP settings for the storage resource

```yaml
Type: TieringPolicyEnum
Parameter Sets: (All)
Aliases:
Accepted values: Autotier_High, Autotier, Highest, Lowest, No_Data_Movement, Mixed

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -isCompressionEnabled
Indicates whether to enable inline compression for the LUN.
Default is True

```yaml
Type: Boolean
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
```

### -snapSchedule
Snapshot schedule assigned to the storage resource

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -isSnapSchedulePaused
Indicates whether the assigned snapshot schedule is paused.

```yaml
Type: Boolean
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
```

### -host
List of host to grant access to LUN.

```yaml
Type: String[]
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -append
Add new host access to the existing configuration.

```yaml
Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
```

### -accessMask
Host access mask.
Might be:
- NoAccess: No access.
- Production: Access to production LUNs only.
- Snapshot: Access to LUN snapshots only.
- Both: Access to both production LUNs and their snapshots.

```yaml
Type: HostLUNAccessEnum
Parameter Sets: (All)
Aliases:
Accepted values: NoAccess, Production, Snapshot, Both, Mixed

Required: False
Position: Named
Default value: Production
Accept pipeline input: False
Accept wildcard characters: False
```

### -WhatIf
Indicate that the cmdlet is run only to display the changes that would be made and actually no objects are modified.

```yaml
Type: SwitchParameter
Parameter Sets: (All)
Aliases: wi

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -Confirm
If the value is $true, indicates that the cmdlet asks for confirmation before running.
If the value is $false, the cmdlet runs without asking for user confirmation.

```yaml
Type: SwitchParameter
Parameter Sets: (All)
Aliases: cf

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

## INPUTS

## OUTPUTS

## NOTES
Written by Erwan Quelin under MIT licence - https://github.com/equelin/Unity-Powershell/blob/master/LICENSE

## RELATED LINKS

[https://github.com/equelin/Unity-Powershell](https://github.com/equelin/Unity-Powershell)

license: MIT

repository: equelin/Unity-Powershell

branch_name: refs/heads/master

extension: md

gha_language: PowerShell

gha_license_id: MIT

license_type: permissive

repo_name: equelin/Unity-Powershell


text:
# Contributing

Thanks love because you would contribute! 🎉🎉🎉

I, Ukuejubola Kelvin Oritsetimeyin (🎉kelvinsekx🎉), is honoured to seee you here and donot take any of your contributions for granted. I really appreciate your effort at making LetterLoading awesome loaded.

## Dev

- Clone the repository to your local machine (PC in short)

```
git clone ...
cd letterloading
```

- Install all required dependencies. But before you do, ensure node is installed on your PC. OK

```
npm install
```

- Start the server, and everything appears on the browser for you.
Start breaking the library,

```
npm start
```

## If you just added some cool stuff, or just deducted some ugly stuff

- Create a repo and add the new letterloading
- Tell us you made some cool stuff as clear as possible
- We will love your contributions

repository: Raybalinga/letterloading

branch_name: refs/heads/main

repo_name: Raybalinga/letterloading


text:
---
layout: default
---

# 1993-07-27 - You want to use DSA? Apply for a personal license from NIST!

## Header Data

From: gnu (John Gilmore)

To<EMAIL_ADDRESS>Message Hash: ccfb1249881891eb5de8c41f12ff5bd0222bbab395d13656e255abbff7817897

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1993-07-27 20:58:11 UTC

Raw Date: Tue, 27 Jul 93 13:58:11 PDT

## Raw message

```
{% raw  %}From: gnu (John Gilmore)
Date: Tue, 27 Jul 93 13:58:11 PDT
To<EMAIL_ADDRESS>Subject: You want to use DSA? Apply for a personal license from NIST!
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

From<EMAIL_ADDRESS>(D. J. Bernstein)
Newsgroups: sci.crypt
Subject: You want to use DSA? Apply for a personal license from NIST!
Date: 27 Jul 93 06:22:03 GMT

NIST plans to give Public Key Partners exclusive rights to the Digital
Signature Algorithm. Do you want to guarantee your own rights to this
technology? You can! It's free, if you can spare a stamp.

Attached is a form letter you can send to NIST to apply for a personal
license. Put in your own name, address, country, and the right date;
print it out; read through to check it over; sign it; and drop it in the
mail. You don't have to get everything right the first time---NIST will
contact you if they need more information to make a decision. And, as a
bonus, your application will automatically count as an objection to the
NIST-PKP deal!

I believe that NIST must receive your application by next Friday, the
6th of August, but the due date might be earlier. You might want to
check immediately with Michael Rubin at<PHONE_NUMBER>. If necessary you
can fax your letter to him.

---Dan

                                [address]
                                [date]

Michael R. Rubin
Acting Chief Counsel for Technology
Room A-1111
Administration Building
National Institute of Standards and Technology
Gaithersburg, MD 20899

Dear Mr. Rubin:

I hereby apply for a personal license to use the Digital Signature
Algorithm.

1. Title of invention: Digital Signature Algorithm (DSA).

2. Patent Application Serial Number: 07/738.431.

3. United States Patent Number: To be issued as 5,231,668, I believe.

4. Source of information concerning availability of a license: Various
sources, including your Federal Register notice.

5. Name and address of applicant: [name], [address, phone, etc.].

6. Applicant's representative: not applicable.

7. I am a [country] citizen.

8. Approximate number of persons employed: not applicable.

9. I am not a small business firm.

10. Purpose: I would like a personal license allowing me to implement
and use DSA. See #12.

11. Business and commercialization: not applicable; see #10.

12. Plans: I plan to use DSA to attach digital signatures to a variety
of electronic documents, primarily for authentication. I plan to use DSA
implementations, initially in software but perhaps later in hardware,
from a variety of potential future sources. Investments: I may spend
many hours programming a DSA implementation.

                                                                page 2

13. Fields of commercialization: not applicable; see #10.

14. I am not willing to accept a license for less than all fields of use
of DSA.

15. I intend to implement and use DSA only in [country].

16. Type of license: I would like a non-exclusive license which does not
require royalty payments.

17. I have never been granted a license to a federally owned invention.

18. Known uses of DSA by industry or government: I have heard that ISC
sells a product called dsaSIGN, and that Bellcore has implemented DSA.

19. Other information: I understand that NIST may grant an exclusive
DSA license to PKP, and that this license application will be treated as
an objection to the PKP license.

Please note that PKP has stated its intent to make DSA free for personal
use. Therefore, if NIST grants PKP a license and PKP acts according to
its stated intent, there is no harm to anyone if I am granted this
personal license. However, I do not trust PKP to act according to its
stated intent, and I do not want to have to apply for a license from PKP
even if it is royalty-free. So I ask that you grant me a license
directly.

Thank you for your kind attention. Please let me know if you need more
information.

                                Sincerely,

                                [name]

{% endraw %}
```

## Thread

+ Return to [July 1993](/archive/1993/07)

+ Return to "[gnu (John Gilmore)](/authors/gnu_john_gilmore_)"

+ 1993-07-27 (Tue, 27 Jul 93 13:58:11 PDT) - You want to use DSA? Apply for a personal license from NIST! - _gnu (John Gilmore)_


text:
# iplms

IPLMS is a microservice to allow for IP logging and fingerprint capturing (when the page includes FingerprintJS2.) It uses `@zeit/micro` for HTTP.

## Setup

1. Copy .env.example to .env: `cp .env.example .env`
2. Add your *full* MongoDB connection string. (If you need a hosting service, try MongoDB Atlas.)
3. Run with `npm start` or `pm2 start apps.json`. IPLMS will be listening on port 3452.

## Setup (Frontend)

1. Get a copy of FingerprintJS2 [here](https://cdnjs.cloudflare.com/ajax/libs/fingerprintjs2/2.1.0/fingerprint2.min.js) and save it to your computer.
2. In your HTML page, before the end of the `<body>` tag, include the copy of FingerprintJS2, and then include client.js with the script tag.
3. Upload your files to your web host (be sure to include your FingerprintJS2 copy.)

## License

MIT

repository: csdotclub/iplms

gha_language: JavaScript

repo_name: csdotclub/iplms


text:
# Learning to Segment 3D Point Clouds in 2D Image Space

## Overview
In contrast to the literature where local patterns in 3D point clouds are captured by customized convolutional operators, in this paper we study the problem of how to effectively and efficiently project such point clouds into a 2D image space so that traditional 2D convolutional neural networks (CNNs) such as U-Net can be applied for segmentation. To this end, we are motivated by graph drawing and reformulate it as an integer programming problem to learn the topology-preserving graph-to-grid mapping for each individual point cloud. To accelerate the computation in practice, we further propose a novel hierarchical approximate algorithm. With the help of the Delaunay triangulation for graph construction from point clouds and a multi-scale U-Net for segmentation, we manage to demonstrate the state-of-the-art performance on ShapeNet and PartNet, respectively, with significant improvement over the literature.

![ShapeNet](ShapeNet.png)

##

## Conda environment setup
```
conda create -n XYZNet
conda activate XYZNet
conda install python=3.7 tensorflow-gpu=2.2.0 scikit-learn scipy networkx keras
```

## Download the ShapeNet part dataset
```
sh download_data.sh
```

## Prepare training and testing dataset
```
python data_preparation_training.py
python data_preparation_testing.py
```

## Training choice 1: Training using pre-stored dataset
Training the network using pre-stored dataset is a relatively faster and more robust way to train the network.
However, it will allocate many disk space ( ~3TB in default setting). Our reproduced model is training using this approach.
The steps are as follows:

### 1. Prepare the dataset
This step is to project all point cloud samples to 2D image representations in advance and store them locally.
```
python prepro_dataset.py
```

### 2. Train the network
```
python prepro_training.py
```

### 3. Demo model
An official reproduced model is available for demonstration purposes. The model is trained on ShapeNet dataset using training choice 1 with the following settings:
NUM_REPEATS = 11,
NUM_CUTS = 32,
SIZE_SUB = 12,
SIZE_TOP = 12,
FLAG_ROTATION = 1,
FLAG_JITTER = 1,
epochs = 30.
Other training settings are as default.
The training time is as follows: data_preparation: 25 hr, training: 120 hr.
The demo model achieved 90.1% accuracy, 85.6% instance-mean-IoU and 83.1% class-mean-IoU on the test set.
The model is available at https://drive.google.com/file/d/1lDg8B6AHe7BmgI7dfz5mRGIK24F7Eg28/view?usp=sharing.
Traning log is available at https://drive.google.com/file/d/1TBnksOJjEhWJuIQD-tbQUb_fichDKqri/view?usp=sharing.

## Training choice 2: Training end-to-end
Training the network end-to-end is space efficient.
In theory, it can train the network with unlimited data augmentations and get well trained models;
however, according to the feedback, it may not very stable.
The steps are as follows:

### 1. Train the network
```
python network_training.py
```

### 2. Demo model
An official reproduced model is available for demonstration purposes. The model is trained on ShapeNet dataset using training choice 2 with the following settings:
NUM_CUTS = 32,
SIZE_SUB = 16,
SIZE_TOP = 16,
FLAG_ROTATION = 1,
FLAG_JITTER = 1,
epochs = 100.
Other training settings are as default.
The training time is as follows: training: 200 hr.
The demo model achieved 89.0% accuracy, 84.1% instance-mean-IoU and 81.2% class-mean-IoU on the test set.
The model is available at https://drive.google.com/file/d/1Ps1wZ79aMjk1XHtYkXiaP6Sp09ExImN9/view?usp=sharing.
Traning log is available at https://drive.google.com/file/d/1TBnksOJjEhWJuIQD-tbQUb_fichDKqri/view?usp=sharing.

## Test the network
After training, we have got a well trained network models. To predict the semantic labels and evaluate on testing sets, run the following command:
```
python network_testing.py
```
**Notice: Both shared models were retrained from scratch, whose results are slightly different from the ones reported in our paper.**

## Citation
```
@inproceedings{lyu2020learning,
  title={Learning to Segment 3D Point Clouds in 2D Image Space},
  author={Lyu, Yecheng and Huang, Xinming and Zhang, Ziming},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  pages={12255--12264},
  year={2020}
}
```


text:
This is the default location of results from training a code.
Using the configuration files provided in the [conf](../conf) directory,
results will be saved according to the following directory hierarchy:
```
<dataset>/<base model>/k<parameter k>/<loss function>/<encoder architecture>
```

The following files will be saved:
* `{train, val}_loss.txt`: Average loss for each epoch.
* `{train, val}_reconstruction_accuracy.txt`: Reconstruction accuracy attained
  in each epoch of training. Recall from the paper that reconstruciton-accuracy
  is defined as the accuracy of decoded reconstructions with respect to the
  classifications of the underlying base model.
* `{train, val}_overall_accuracy.txt`: Overall-accuracy attained in each epoch
  of training. Recall from the paper that overall-accuracy is defined as the
  accuracy of decoded reconstructions with respect to the true labels associated
  with a particular dataset.
* `current.pth`: PyTorch checkpoint containing the latest snapshots of the
  encoder and decoder parameters, encoder and decoder optimizers, and current epoch.
* `best.pth`: The state dict among all epoch so far that has achieved the highest
  reconstruction-accuracy on the validation dataset.

repository: Thesys-lab/learned-coded-computation

repo_name: Thesys-lab/learned-coded-computation


text:
# Serialization

Out of the box, Lagom will use JSON for request and response message format for the external API of the service, using Jackson to serialize and deserialize messages. The messages that are sent within the cluster of the service must also be serializable and so must the events that are stored by [[Akka Persistence Typed|UsingAkkaPersistenceTyped]] `Behaviors` and Lagom [[Persistent Entities|PersistentEntity]]. We recommend JSON for these as well and Lagom makes it easy to add Jackson serialization support to such classes.

Do not depend on Java serialization for production deployments. It is inefficient both in serialization size and speed. It is very difficult to evolve the classes when using Java serialization, which is especially important for the persistent state and events, since you must be able to deserialize old objects that were stored.

## Enabling JSON Serialization

To enable JSON serialization for a class you need to implement the [Jsonable](api/index.html?com/lightbend/lagom/serialization/Jsonable.html) marker interface.

@[jsonable](code/docs/home/serialization/AbstractUser.java)

Note that we're using the [[Immutables|Immutable]] library here, so this will generate an immutable `User` class. This is the reason for adding the `@JsonDeserialize` annotation.

### Jackson Modules

The enabled Jackson modules are listed in the [Akka documentation](https://doc.akka.io/docs/akka/2.6/serialization-jackson.html#jackson-modules), and additionally following Jackson modules are enabled by default:

@[jackson-modules](../../../../../jackson/src/main/resources/reference.conf)

You can amend the configuration `akka.serialization.jackson.jackson-modules` to enable other modules.

The [ParameterNamesModule](https://github.com/FasterXML/jackson-modules-java8/tree/master/parameter-names) requires that the `-parameters` Java compiler option is enabled.

The section [[Immutable Objects|Immutable]] contains more examples of classes that are `Jsonable`.

If you use Lagom Persistence (classic) for your persistence, you can use the [PersistentEntityTestDriver](api/index.html?com/lightbend/lagom/javadsl/testkit/PersistentEntityTestDriver.html) that is described in the [[Persistent Entity Unit Testing|PersistentEntity#Unit-Testing]] section to verify that all commands, events, replies and state are serializable.

### Compression

Compression, as described here, is only used for persistent events, persistent snapshots and remote messages with the service cluster. It is not used for messages that are serialized in the external API of the service.

JSON can be rather verbose and for large messages it can be beneficial to enable compression. That is done by using the [CompressedJsonable](api/index.html?com/lightbend/lagom/serialization/CompressedJsonable.html) instead of the `Jsonable` marker interface.

@[compressed-jsonable](code/docs/home/serialization/AbstractAuthor.java)

The serializer will by default only compress messages that are larger than 32 KiB. This threshold can be changed with configuration property `akka.serialization.jackson.jackson-json-compressed.compression.compress-larger-than`.

## Schema Evolution

When working on long running projects using [[Akka Persistence Typed|UsingAkkaPersistenceTyped]], Lagom [[Persistence|PersistentEntity]] (classic), or any kind of Event Sourcing, schema evolution becomes an important aspect of developing your application. The requirements as well as our own understanding of the business domain may (and will) change over time.

Lagom provides a way to perform transformations of the JSON tree model during deserialization.

We will look at a few scenarios of how the classes may be evolved.

### Remove Field

Removing a field can be done without any migration code. The Jackson JSON serializer will ignore properties that does not exist in the class.

### Add Field

Adding an optional field can be done without any migration code. The default value will be `Optional.empty`.

Old class:

@[add-optional](code/docs/home/serialization/v1/AbstractItemAdded.java)

New class with a new optional `discount` property and a new `note` field with default value:

@[add-optional](code/docs/home/serialization/v2a/AbstractItemAdded.java)

Let's say we want to have a mandatory `discount` property without default value instead:

@[add-mandatory](code/docs/home/serialization/v2b/AbstractItemAdded.java)

To add a new mandatory field we have to use a JSON migration class and set the default value in the migration code, which extends the `JacksonMigration`.

This is how a migration class would look like for adding a `discount` field:

@[add](code/docs/home/serialization/v2b/ItemAddedMigration.java)

Override the `currentVersion` method to define the version number of the current (latest) version. The first version, when no migration was used, is always 1. Increase this version number whenever you perform a change that is not backwards compatible without migration code.

Implement the transformation of the old JSON structure to the new JSON structure in the `transform` method. The [JsonNode](https://fasterxml.github.io/jackson-databind/javadoc/2.6/com/fasterxml/jackson/databind/JsonNode.html) is mutable so you can add and remove fields, or change values. Note that you have to cast to specific sub-classes such as [ObjectNode](https://fasterxml.github.io/jackson-databind/javadoc/2.6/com/fasterxml/jackson/databind/node/ObjectNode.html) and [ArrayNode](https://fasterxml.github.io/jackson-databind/javadoc/2.6/com/fasterxml/jackson/databind/node/ArrayNode.html) to get access to mutators.

The migration class must be defined in configuration file:

    akka.serialization.jackson.migrations {
      "com.myservice.event.ItemAdded" = "com.myservice.event.ItemAddedMigration"
    }

### Rename Field

Let's say that we want to rename the `productId` field to `itemId` in the previous example.

@[rename](code/docs/home/serialization/v2c/AbstractItemAdded.java)

The migration code would look like:

@[rename](code/docs/home/serialization/v2c/ItemAddedMigration.java)

### Structural Changes

In a similar way we can do arbitrary structural changes.

Old class:

@[structural](code/docs/home/serialization/v1/AbstractCustomer.java)

New class:

@[structural](code/docs/home/serialization/v2a/AbstractCustomer.java)

with the `Address` class:

@[structural](code/docs/home/serialization/v2a/AbstractAddress.java)

The migration code would look like:

@[structural](code/docs/home/serialization/v2a/CustomerMigration.java)

### Rename Class

It is also possible to rename the class. For example, let's rename `OrderAdded` to `OrderPlaced`.

Old class:

@[rename-class](code/docs/home/serialization/v1/AbstractOrderAdded.java)

New class:

@[rename-class](code/docs/home/serialization/v2d/AbstractOrderPlaced.java)

The migration code would look like:

@[rename-class](code/docs/home/serialization/v2d/OrderPlacedMigration.java)

Note the override of the `transformClassName` method to define the new class name.

That type of migration must be configured with the old class name as key. The actual class can be removed.

    akka.serialization.jackson.migrations {
      "com.myservice.event.OrderAdded" = "com.myservice.event.OrderPlacedMigration"
    }

repository: lagom/lagom

gha_language: Scala

repo_name: lagom/lagom


text:
# txtdist
A library for mesuring the distance between two strings.

Currently has the Damerau-Levenschtein and Levenschtein algorithm, so only two functions.

```rust
extern crate txtdist;
use txtdist::damerau_levenshtein;

let distance = damerau_levenshtein("some string", "some other string");
assert_eq!(distance, 6)
```

repository: ksev/txtdist

repo_name: ksev/txtdist


text:
# Weather Dashboard

## About This Project

![Weather Start](./assets/images/weatherStart.png)
This project was intended to use third party APIs and be able to bring that information on a site. Using the OpenWeather API, I was able to practice with finding locations, and navigating the information provided by the API to customize what I wished to show on the webpage created.

Bootstrap was used for organizing the look of the site. Creating and customizing cards to provide a user experience that is easier to navigate.

Moment.js was used to provide the date for the website, using .unix to go to epoch time (if .unix was not used the year would go to 1970s).

![Weather Search](./assets/images/weatherReturn.png)

## Built With
- HTML
- CSS
- Javascript
- Bootstrap
- Moment.js

## Contact
Project Link: (https://cpastorelli.github.io/weather-Dashboard/)
## License
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

## Acknowledgements

- [moment.js](https://momentjs.com/guides/)
- [Bootstrap](https://getbootstrap.com/docs/5.1/components/card/)
- [HTMLFormElement TypeError](https://stackoverflow.com/questions/64044214/uncaught-typeerror-cannot-read-property-value-of-null-at-htmlformelement-ano)
- [Cloud Favicon](https://thenounproject.com/term/cloud/34853/)
- [Sizing cards in bootstrap](https://coreui.io/docs/utilities/sizing/)
- [Removing Class Name in JS](https://stackoverflow.com/questions/195951/how-can-i-change-an-elements-class-with-javascript)
- [Photo by ] Jared Bell on Unsplash

repository: cpastorelli/weather-Dashboard

repo_name: cpastorelli/weather-Dashboard


text:
# Project 6 - *Instagram*

**Instagram** is a photo sharing app using Parse as its backend.

Time spent: **30-35** hours spent in total

## User Stories

The following **required** functionality is completed:

- [x] User can sign up to create a new account using Parse authentication
- [x] User can log in and log out of his or her account
- [x] The current signed in user is persisted across app restarts
- [x] User can take a photo, add a caption, and post it to "Instagram"
- [x] User can view the last 20 posts submitted to "Instagram"

The following **optional** features are implemented:

- [x] Show the username and creation time for each post
- [x] After the user submits a new post, show a progress HUD while the post is being uploaded to Parse.
- [x] User Profiles:
   - [x] Allow the logged in user to add a profile photo
   - [x] Display the profile photo with each post
   - [x] Tapping on a post's username or profile photo goes to that user's profile page

The following **additional** features are implemented:

- [x] On tapping the sign up button, user is presented with a new view controller where the user needs to provide first name, last name, username, and password in order to create a new "Instagram" account!
- [x] If the user doesn't enter the correct sign up information, an error message is displayed using UIAlertController to notify user about the issues.
- [x] While signing in, if the user enters incorrect login info., he/she is notified by a shake gesture of the text fields.
- [x] Swipe Down and tap gestures added throughout the app to help user dismiss the keyboard.
- [x] On the home screen, user can delete any post by a left swipe and a tap on the delete button.
- [x] Apart from adding a profile picture, user can also add a cover photo!
- [x] A collection view is displayed on the user profile screen to display all the posts posted by that particular user.
- [x] Tapping on an image in the user profile lets the user view that image in fullscreen with the capabilities to zoom in and out!
- [x] Alert View Controllers used throughout the app (eg. to log out, to view/change a profile picture etc.) provding user with a "confirm-choice" functionality!
- [x] Full Proof Design implemented. That is, user is only allowed to use controls only when those controls are applicable. For eg. the "Post" button only appears when a user has uploaded/taken an image.
- [x] There are many more that if I start listing, I would be doing injustice to the users. Please use the app yourself and have fun! :)

Please list two areas of the assignment you'd like to **discuss further with your peers** during the next class (examples include better ways to implement something, how to extend your app in certain ways, etc):

1. AutoLayout!
2. Getting PF user using the username from Parse!

## Video Walkthrough

Here's a walkthrough of implemented user stories:

<img src='https://github.com/hshssingh4/Instagram/blob/master/Instagram.gif' title='Video Walkthrough' width='' alt='Video Walkthrough' />

GIF created with [LiceCap](http://www.cockos.com/licecap/).

## Notes

Enjoyed building it! Not many challenges except few minor ones! :)

## License

    Copyright [2016] [Harpreet Singh]

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

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

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


text:
---
layout: default
title: Privacy Protocol for Digital Contact Tracing
---

* TOC
{:toc}

## About Me
![Ahmad Dinkins](images/Ahmad.jpg){:class="img-responsive"}

Hello all, my name is Ahmad Dinkins! I am a Junior at the University of Illinois at Urbana-Champaign and expect to graduate in 2022. I am currenlty underdeclared but I plan to transfer into Computer Science. I have had a passion for computing since entering high school and hope that my future career encompasses it. My goal for this Summer is succesffuly implement our protocol and have the State of Illinois adopt an App that uses our protocol.

## About My Mentor
![Madusudan Parthasrathy](images/Madhusudan.jpg){:class="img-responsive"}

Dr. Madhusudan Parthasarathy is a Computer Science Professor at the University of Illinois at Urbana-Champaign where he performs research with an emphasis on theory. Some of his research interests include Software verification, Security, Program Synthesis, and Machine Learning.

## About My Project

We want to develop an effective protocol that preserves the privacy of users in a contact tracing app. We are working a local team to develop such an app for the UIUC campus for Fall and working with companies such as Coalition to find solutions for the state of Illinois and possibly other countries. The protocols we have designed stave a class of relay attacks that no other current system can. For more info: http://madhu.cs.illinois.edu/

[My Final Report](files/finalreport.pdf)

## My Blog

[My Blog](blog.html)


text:
# The Coffee House

_**Warning:** coffeehouse is currently in development and far from being finished, it might be unstable and a lot of features might be still missing. Feel free to contribute!_

![screenshot of the coffeehouse client](https://raw.githubusercontent.com/caffeinery/coffeehouse/master/screenshot.png)

The Coffee House is a IRC client that intends to be quick and easy to use, while being online. **"This sounds a lot like IRCCloud!"**, I hear you say. Well, while this does sound a lot like IRCCloud we intend to make an online client that enthusiasts and non-enthusiasts can really dig. Here's some features we have in mind for The Coffee House:
 - Module Support
 - Persistant Connection
 - Ease of Use (and a decent UI)
 - IRC v3 Support

## Setup

`npm` required.

* Clone this repository: `git clone https://github.com/caffeinery/coffeehouse`
* Open the directory: `cd coffeehouse`
* Install dependencies: `npm install`
* Configure `public/client.js`, see `CONFIG` variable for an example config.
* Start coffeehouse: `node server.js`
* Use it: [http://localhost:3000/](http://localhost:3000/)

repository: caffeinery/coffeehouse

repo_name: caffeinery/coffeehouse


text:
# ToDo List
is a simple to-do-list app with drag & drop option

### Overview
IN PROGRESS ...

### Next steps
* add Service Workers and IndexedDB functionalities

### Install
1. To run this app, you need installed NodeJS and npm. At the root of your project, run```npm install ``` to install all dependencies.
2. Please check package.json devDependencies and install all packages in required version:
```
"devDependencies": {
  "babel-core": "^6.26.0",
  "babel-loader": "^7.1.2",
  "babel-preset-es2015": "^6.24.1",
  "babel-preset-react": "^6.24.1",
  "babel-preset-stage-2": "^6.24.1",
  "gulp": "^3.9.1",
  "gulp-plumber": "^1.1.0",
  "gulp-sass": "^3.1.0",
  "gulp-sourcemaps": "^2.6.1",
  "react": "^15.4.0",
  "react-dom": "^16.2.0",
  "react-sortable-hoc": "^0.6.8",
  "style-loader": "^0.19.0",
  "webpack": "^3.10.0",
  "webpack-dev-server": "^2.9.7"
}
```

### Running the App
1. In console run webpack-dev-server: ```./node_modules/.bin/webpack-dev-server --inline --hot```
2. Visit http://localhost:8888/ in your browser. Webpack is running.

### Built With
* [React.js](https://reactjs.org/) -  A JavaScript library for building user interfaces.
* [react-sortable-hoc] (https://github.com/clauderic/react-sortable-hoc) - A set of higher-order components to turn any list into an animated, touch-friendly, sortable list
* CSS3/ Sass
* HTML5
* Webpack
* Gulp

repository: anielkapa/ToDo-Offline

repo_name: anielkapa/ToDo-Offline


text:
---
title: Austin JavaScript 2011 SXSW Party
author: joemccann
layout: post
permalink: /austin-javascript-2011-sxsw-party/
categories:
  - Uncategorized
---
That time of year is here again, where we in the Austin JavaScript community close our laptops and instead have a few beers together. After such a successful event last year at [Kung Fu Saloon][1], we decided to do the same thing this year, but with more reasons to come out and support the community.

First, this year, we will be requiring attendees to either have an official SXSW badge or two cans of food to donate to the [Capital Area Food Bank][2]. With such a huge turnout last year, why wouldn’t we use this as an opportunity to raise awareness and help stamp out hunger in the greater Austin area. A party with a cause! Party details are as follows:

  * Sunday, March 13, 2011 4pm to 8pm
  * Kung Fu Saloon – [510 Rio Grande, Austin TX 78701][3]
  * Free Texas Beer
  * Free Authentic Tex-Mex Tacos courtesy of [Maudie’s][4]
  * Free Gaming at Kung Fu Saloon including Skeeball and all Vintage Arcade Games
  * Free No Strings-Attached Door Prize Giveaways Every Hour (iPad, Android Tablet, Amazon Kindle, VIP Tickets to Microsoft’s ACL Party, a ticket to [TXJS][5] and possibly more)
  * Free Swag Bags to Take Home full of Goodies

Of course none of this would be possible without the unwavering support of our gracious sponsors: [Microsoft (IE Team)][6], [Solvate][7], [Mozilla (Developer Engagement)][8], [TekSystems][9] and [Cultivate PR][10].

Microsoft will actually be out engaging and entertaining all who attend to check out the latest version of IE9 and to assist developers preparing their sites and apps *now*.  You do know that [IE9 is at release candidate state][11], right?

Stay tuned as even more details are announced.  We have a few tricks up our sleeve…

Follow us on Twitter here:  [@austinjs][12]

 [1]: http://kungfusaloon.com/austin/
 [2]: http://www.austinfoodbank.org/
 [3]: http://maps.google.com/maps?near=510+Rio+Grande+St,+Austin,+TX+78701&geocode=CUDZ26qUXmdhFTTgzQEdGnUs-imhqpSADrVEhjEbY0mPLWZ9Iw&q=kung+fu+saloon&f=l&gl=us&sll=30.269492,-97.749734&sspn=0.014789,0.032938&ie=UTF8&hq=kung+fu+saloon&hnear=&z=17&iwloc=A
 [4]: http://www.maudies.com/
 [5]: http://texasjavascript.com/
 [6]: http://ie.microsoft.com/testdrive/
 [7]: http://www.solvate.com
 [8]: https://developer.mozilla.org/en-US/
 [9]: http://www.teksystems.com/
 [10]: http://www.facebook.com/cultivatepr
 [11]: http://blogs.msdn.com/b/ie/archive/2011/02/10/acting-on-feedback-ie9-release-candidate-available-for-download.aspx
 [12]: http://twitter.com/austinjs


text:
---
layout: post
title: "Page load time and revenue - the anecdotal evidence"
date: "2019-09-26"
categories: ["Web strategy"]
---

A couple readers have been generous enough to share the results of their own site speed experiments. This 💩 will blow your mind.

Sarah Johnson said:

> Fun fact: we just ran multiple month speed optimization testing from bottom of stack on up - from June to last week. NO IMPACT. Not from google, not from traffic volume, not from conversions, not from any comments/feedback.

David Janczyn said this:

> I got paranoid after seeing https://www.thinkwithgoogle.com/feature/testmysite/, and our mobile LPs loaded ~ 10sec

Understandable. At that /testmysite page, you enter a domain and get back an interactive report that tells you how many tens of thousands of additional dollars you'd be earning if you made your site faster.

So he and his team worked to speed up their landing pages. Then, just to see how big an effect speed has, they use Google Ads to split traffic between the old, slow page and the new, fast page.

Here are the results:

> 10sec vs 3sec load (on mobile). 0 impact.

😔

For what it's worth, I don't have full access to the details of these experiments. But both of these people have been CROing longer than I have, and they know their stuff. I trust their results.

So here's what we've learned so far:

- Lots of websites make an unsupported claim that every tenth of a second is worth tons of money
- There's an Akamai study that shows on average, sessions with faster site speed have higher conversion rates
- At least two real people have sped up their sites and seen no measurable impact

... so what can we _do_ with that?

Tomorrow I'll share the conclusion I've come to after a week's worth of research and shocking revelations, and I'll outline my dead simple plan for evaluating site speed improvement opportunities moving forward.

How about you? Do you still believe in the impact of page speed on conversions? Or is it all a vast conspiracy? Hit Reply and let me know.


text:
## Contributing Security related

For responsible security disclosure, please follow this process:
https://github.com/wekan/wekan/blob/master/SECURITY.md

CVE Hall of Fame is at https://wekan.github.io/hall-of-fame/

## Contributing to Documentation Wiki

Please clone wiki:
```
git clone https://github.com/wekan/wekan.wiki
```
Edit .md files, and add changed files in .zip attachment
directly to comment of new issue at
https://github.com/wekan/wekan/issues

## Contributing code

[Building WeKan and sending PR](https://github.com/wekan/wekan/wiki/Emoji).

WeKan code contributors Hall of Fame is at ChangeLog, where
GitHub usernames are mentioned with changes added:

https://github.com/wekan/wekan/blob/master/CHANGELOG.md

Changes can be like typo fixes, bugfixes, features, or anything else
like for example at open GitHub issues https://github.com/wekan/wekan/issues .
Closed issues are already fixed or implemented.

Also see other docs at wiki, for example:

https://github.com/wekan/wekan/wiki/Developer-Documentation

Do not use code formatting or linting like eslist or prettier.

Only send minimal changed code lines, that are related to feature or fix.

WeKan code has MIT license.

About 300 persons have contributed to WeKan, stats at:

https://www.openhub.net/p/wekan

WeKan maintainer xet7 checks PR for typos etc before accepting to WeKan,
so that WeKan code will still work OK.

## Contributing translations

Non-English translations are contributed only at
https://transifex.com/wekan/wekan

When adding new features, in your PR to
https://github.com/wekan/wekan/pulls
only add new English source language strings
to https://github.com/wekan/wekan/blob/master/imports/i18n/data/en.i18n.json

Maintainer of WeKan xet7 downloads all newest
translations from Transifex and adds
them to WeKan repo before making
new release.

## About WeKan Organization https://github.com/wekan

xet7 rarely adds any new members to GitHub Organization,
because xet7 prefers to check PRs.

For some repos (other than https://github.com/wekan/wekan ),
some contributors have direct commit access.

Some contributors are mentioned at this outdated page:

https://github.com/wekan/wekan/wiki/Team

repository: wekan/wekan

repo_name: wekan/wekan


text:
# Openfire Meetings Plugin Readme
Provides high quality, scalable video conferences using Jitsi Meet and Jitsi Videobridge

## Overview
Ignite Realtime is pleased to announce "Openfire Meetings", a new plugin for Openfire that continues the development of the ofmeet web application which was part of the now deprecated [Jitsi-videobridge plugin](https://community.igniterealtime.org/community/support/jitsi_videobridge_plugin).

**PLEASE NOTE** - You will need at least Openfire 4.0.1 to use this plugin. You will also need the [Openfire Meetings Chrome extension](https://chrome.google.com/webstore/detail/openfire-meetings-chrome/fohfnhgabmicpkjcpjpjongpijcffaba?hl=en-GB) for screen sharing, remote desktop control, co-browsing and application sharing.

For remote desktop control, you will need to download and install the remote desktop control native application for your O/S. Windows, Linux and OSX are all supported.

[![ofmeet1.png](https://community.igniterealtime.org/servlet/JiveServlet/downloadImage/38-1730-22181/432-272/ofmeet1.png)](https://community.igniterealtime.org/servlet/JiveServlet/showImage/38-1730-22181/ofmeet1.png)

Openfire Meetings is a complete standalone plugin powered by Jitsi Videobridge. It does not depend on any other plugins. It can be enhanced by adding the optional client control and fastpath plugins. The client control plugin will enable the management and user provisioning of PDF presentation urls and conference bookmarks. Users can select presentations and conferences from a pull down list.

[![ofmeet3.png](https://community.igniterealtime.org/servlet/JiveServlet/downloadImage/38-1730-22275/428-160/ofmeet3.png)](https://community.igniterealtime.org/servlet/JiveServlet/showImage/38-1730-22275/ofmeet3.png)

The front-end web application is a combination of Candy and Jitsi Meet and enables the following features

*   Openfire user authentication directly from web browser for both Candy and Jitsi Meet
*   Audio, Video and Telephone (SIP) conferencing directly with Jitsi Meet and from Candy
*   Desktop sharing (screen and applications) using the Openfire Meetings Chrome extension
*   Fastpath user agent with audio and video using the Candy and Jitsi Meet web applications. It also requires Fastpath plugin to be installed.
*   Configuration directly from Openfire admin web pages.

[![ofmeet2.png](https://community.igniterealtime.org/servlet/JiveServlet/downloadImage/38-1730-22276/397-224/ofmeet2.png)](https://community.igniterealtime.org/servlet/JiveServlet/showImage/38-1730-22276/ofmeet2.png)

##How to use

Jitsi Meet - select room - https://your-server.com:7443/ofmeet
specify room - https://your-server.com:7443/ofmeet/?r=xxxxx
audio only (no video) - https://your-server.com:7443/ofmeet/?r=xxxxx&novideo=true

Spark Plugin - download https://your-server.com:7443/ofmeet/spark/ofmeet-plugin.jar

Candy - https://your-server.com:7443/ofmeet/candy.html

JavaScript example - https://your-server.com:7443/ofmeet/api

Replace port 7443 by 7070 for http instead of https

[![ofmeet5.png](https://community.igniterealtime.org/servlet/JiveServlet/downloadImage/38-1730-22278/ofmeet5.png)](https://community.igniterealtime.org/servlet/JiveServlet/showImage/38-1730-22278/ofmeet5.png)

To install remote desktop control, first download and extract the native application from https://your-server.com:7443/ofmeet/remotecontrol.zip into any suitable folder. Run install_host.bat (Windows) or install_host.sh (Linux / OS X) to install and register the native application with the chrome extension. Run uninstall_host.bat or uninstall_host.sh to unregister the native application when you are done with it.

To grant another user remote control of your desktop, share your desktop, select a participant and click on the remote control button. Alternatively, any viewer of your screen share can request for remote control access by clicking on the remote control button while viewing your screen.

**PLEASE NOTE** - Remote desktop control only works currently on Windows and and with full screen share of your primary screen. To enable remote control of a desktop application, move the selected application to top right corner of the primary screen for proper screen alignement.

It also has a meeting planner feature that enables you to schedule meetings in advance using a calendar. When you add a meeting to the calendar, a request to join the meeting is automatically generated and sent to each participant using Openfire's email service 15 mins before the meeting starts. Included in the email is a link to join the meeting from a Chrome web browser.

[![Image2.jpg](https://community.igniterealtime.org/servlet/JiveServlet/downloadImage/38-1762-66498/379-215/Image2.jpg)](https://community.igniterealtime.org/servlet/JiveServlet/showImage/38-1762-66498/Image2.jpg)[![Image5.jpg](https://community.igniterealtime.org/servlet/JiveServlet/downloadImage/38-1762-66502/212-175/Image5.jpg)](https://community.igniterealtime.org/servlet/JiveServlet/showImage/38-1762-66502/Image5.jpg)

In order to use this feature, you will need:

*   Registered Openfire users with valid email address,
*   A persistent MUC room to host each planned meeting
*   The Openfire bookmarks plugin installed to create a room bookmark that links the room to users or user groups. Bookmarks with all users selected are ignored.
    [![Image6.jpg](https://community.igniterealtime.org/servlet/JiveServlet/downloadImage/38-1762-66501/375-210/Image6.jpg)](https://community.igniterealtime.org/servlet/JiveServlet/showImage/38-1762-66501/Image6.jpg)
*   The Openfire Email Service configured to deliver emails
    [![Image4.jpg](https://community.igniterealtime.org/servlet/JiveServlet/downloadImage/38-1762-66500/Image4.jpg)](https://community.igniterealtime.org/servlet/JiveServlet/showImage/38-1762-66500/Image4.jpg)

The calendar is implemented using the excellent open source [FullCalendar](http://fullcalendar.io/) jQuery plugin by Adam Shaw.

Discussion place is in the [community plugins, here](https://community.igniterealtime.org/community/plugins/commplugins/openfire-meetings/activity)

repository: csuagent/community-plugins

repo_name: csuagent/community-plugins


text:
# IMGSRV
The microservice powering [PhotoBox](https://photobox.pw), a slimmed down version of [DankMemer/imgen](https://github.com/DankMemer/imgen) with some extra features. (transparent gifs, fit/contain images, other cropping functions)

## Prerequisites
- Python 3.x
- [Redis](https://redis.io/) ([quickstart](https://redis.io/topics/quickstart), [db persistence](https://redis.io/topics/persistence))
- [PostgresSQL](https://www.postgresql.org/) ([download & install](https://www.postgresql.org/download/))

## Installation
```bash
git clone https://github.com/PhotoBoxPW/IMGSRV
cd IMGSRV
pip3 install -r requirements.txt
# pip3 install -r optional-requirements.txt
```
> NOTE: Read the [installation instructions for Pillow-SIMD](https://github.com/uploadcare/pillow-simd#installation) before installing optional requirements.

## Startup
```
python3 server.py
```

With pm2
```bash
pm2 start pm2.json
```

## Sources
- [Gist by egocarib: pillow transparent gif creation workaround](https://gist.github.com/egocarib/ea022799cca8a102d14c54a22c45efe0)
- [TotallyNotChase/glitch-this](https://github.com/TotallyNotChase/glitch-this)
- [noelleleigh/glitch_me](https://github.com/noelleleigh/glitch_me)
- [Ovyerus/deeppyer](https://github.com/Ovyerus/deeppyer)
- [fengsp/color-thief-py](https://github.com/fengsp/color-thief-py)
- [StackOverflow: colorsys using native numpy operations](https://stackoverflow.com/a/7274986/6467130)

repository: PhotoBoxPW/IMGSRV

repo_name: PhotoBoxPW/IMGSRV


text:
# react-number-editor

[![NPM](https://nodei.co/npm/react-number-editor.png)](https://nodei.co/npm/react-number-editor/)

![img](http://i.imgur.com/VIwMScb.gif)

A [react](https://github.com/facebook/react) component to easily use number inputs. This one acts like those in After Effects or similar software.

- Click and drag to slide the value.
- Double-click to enter manually a new value.
- Use your Up/Down keys to increment/decrement the value.
- Hold shift key to step by bigger value.
- Hold control/command key to step by smaller value.

## Example

```js
var React = require('react');
var NumberEditor = require('react-number-editor');

React.render(
    <NumberEditor min={0} max={1} step={0.01} decimals={2} onValueChange={onValueChange} />,
    document.body
);
```

## Usage

### `<NumberEditor />`

Here are the list of properties available for the component:

- `min` (number) the minimum value. Default no minimum
- `max` (number) the maximum value. Default no maximum
- `step` (number) the step to increment when sliding and with up/down arrows. Default 1.
- `stepModifier` (number) how much to multiply/divide with the modifier keys (shift and control/command). Default is 10.
- `decimals` (number) the number of decimals to show. Default 0.
- `initialValue` (number) the default value to show. Default 0.
- `className` (string) the class name to apply to the DOM element. Default empty.
- `onValueChange` (function) The callback when the value changes. The value is passed as the parameter.
-  onKeyDown (function) This callback is called when a key is pressed, after the control has processed the key press, and allows developers to implement their own shortcuts, etc.

## demo

To run the demo, install beefy and browserify:

`npm i beefy browserify -g`

Then:

`npm run demo`

## License

MIT, see [LICENSE.md](/LICENSE.md) for details.

## Thanks

Thanks to [@mattdesl](https://github.com/mattdesl) for his work on [number-editor](https://github.com/mattdesl/number-editor).

repository: mcanthony/react-number-editor

repo_name: mcanthony/react-number-editor


text:
## Documenting the REST API project

### Generate documentation

To create or update the HTML format documentation, execute the following command:

    $ rest-tool docs --update

This will create the documentation under the `docs` folder. the HTML documentation can be opened via a browser directly as a static file, or through the mock server, loading the following URL: (http://localhost:3007/docs/index.html).

Generate the documentation for the predefined service with the following command:

    $ rest-tool docs --update

The following files will be generated (in case of a new project):

    $ tree docs
    docs
    ├── images
    │   └── grid.png
    ├── index.html
    ├── js
    │   ├── jquery-1.9.0
    │   │   ├── jquery-1.9.0.js
    │   │   └── jquery-1.9.0.min.js
    │   └── restapidoc.js
    ├── README.md
    ├── sass
    │   ├── ie.scss
    │   ├── partials
    │   │   └── _base.scss
    │   ├── print.scss
    │   └── screen.scss
    ├── services
    │   └── monitoring
    │       └── isAlive
    │           ├── service.html
    │           └── service.yml
    └── stylesheets
        ├── ie.css
        ├── print.css
        └── screen.css

The generated documentation can be opened with a browser either as a static content opening the `docs/index.html` or through the server using the `http://localhost:3007/docs/index.html` URL.

A mock server implementation (`server/server.js`) contains the following middleware:

    ...
    server.use( '/docs', express.static( __dirname + '/' + '../docs' ) );
    ...

Which allows the server to provide the documentation pages through the `/docs` URL prefix.

The intention with the links in the generated HTML pages was to make it possible to access to them both statically and through the mock server. So the documentation pages refer to each other via the `../docs` prefix, which is satisfying for both the `file://` and `http://` way of retrieving. However it might be uncomfortable if you want to provide them through a third party server (tomcat, apache, etc.) or a static file-server.

In this latter case, you can eliminate the `../docs` prefix from the service links, modifying the `project-root/templates/docs/servicesMenu.html` template file.

Services:

        {{#serviceDocNames}}

{{name}}

        {{/serviceDocNames}}

The following section describes the customization a bit deeper.

### Customize the generated documentation

The documentation  generation process is made of the following steps:

1. `service.yml` files are loaded.
2. An empty `docs` folder is (re)created.
3. The look-and-feel related files are copied into it from the `templates/docs` folder.
4. The whole `services` folder are also copied out to the `docs` folder.
5. Generate a `service.html` beside the corresponding `service.yml` using its content.
6. Generate the `docs/index.html` file.

To generate the `index.html` and the individual `service.html` files, the `rest-tool` is using [mustache](https://github.com/raycmorgan/Mu) templates, which are situated in the `templates/docs` folder. The templates are decomposed into partials, in order to make it easier to maintain and customize.

Each `service.html` is build from the following template/partial structure:

    restapi.html
        > service.html
            #methodList
                > method.html
                    > request.html
                        > headers.html
                        > cookies.html

                    > responses.html
                        #responses
                            > headers.html
                            > cookies.html
                        /responses

                    > testCases.html
                        #request
                            > headers.html
                            > cookies.html
                        /request

                        #response
                            > headers.html
                            > cookies.html
                        /response

            /methodList

        > servicesMenu.html
        > footer.html

Each template got the corresponding service description to expose. Before exposing the service descriptors via the templates, the rest-tool pre-processes all those properties of the descriptor, which are named `description`, `summary` or `details`. It takes them as markdown format text fields and converts them onto HTML.

The resulted HTML pages are using some simple JavaScript to expand and collapse the details of the services. You should modify the original files under the `docs/js` in case of necessity.

If you want to change the stylesheets of the generated documentation of the API, you will also need:

- [Sass](http://sass-lang.com/), and
- [Compass](http://compass-style.org/).

To change the CSS you most probably need to modify the `templates/docs/sass/partials/_base.scss`, then you have to compile it, to refresh the CSS files under the `templates/docs/stylesheets` folder:

    $ cd templates/docs/
    $ compass compile

The images referred by the pages or the stylesheet shoud be put into the `templates/docs/images` folder.

All the JavaScript files, images and CSS files will be copied into the (re)generated documentation with the next execution of `rest-tool docs --update` command.

repository: pedramha/rest-tool

repo_name: pedramha/rest-tool


text:
Template: bookref
BookName: Quantum Chemistry and Spectroscopy 4e
BookAuthor: Thomas Engel & Warren Hehre & Alex Angerhofer
BookPublisher: Pearson
BookLanguage: 英语
BookCover: /images/Covers/Quantum Chemistry and Spectroscopy 4e - Thomas Engel.jpg
BookBaidupanDirectDownloadUrl: https://pan.baidu.com/s/1PZleojq4GuSWQjAVoUePHA?pwd=077f

[TOC]

本书pdf是**文字版**，**彩图版**，书签良好。

### From Classical to Quantum Mechanics
### The Schrödinger Equation
### The Quantum-Mechanical Postulates
### Applying Quantum-Mechanical Principles to Simple Systems
### Applying the Particle in the Box Model to Real-World Topics
### Commuting and Noncommuting Operators and the Surprising Consequences of Entanglement
### A Quantum-Mechanical Model for the Vibration and Rotation of Molecules
### Vibrational and Rotational Spectroscopy of Diatomic Molecules
### The Hydrogen Atom
### Many-Electron Atoms
### Quantum States for Many-Electron Atoms and Atomic Spectroscopy
### The Chemical Bond in Diatomic Molecules
### Molecular Structure and Energy Levels for Polyatomic Molecules
### Electronic Spectroscopy
### Computational Chemistry
### Molecular Symmetry and an Introduction to Group Theory
### Nuclear Magnetic Resonance Spectroscopy

url: https://raw.githubusercontent.com/a358003542/a358003542.github.io/aa0fe86f152c127dc8f6dc319483bc9999a08d85/content/articles/化学/化学 - 物理化学/化学 - 物理化学 - 量子化学/Quantum Chemistry and Spectroscopy 4e - Thomas Engel.md


text:
## This document lists known breaking changes in Roslyn after .NET 5.

1. https://github.com/dotnet/roslyn/issues/46044 In C# 9.0 (Visual Studio 16.9), a warning is reported when assigning `default` to, or when casting a possibly `null` value to a type parameter type that is not constrained to value types or reference types. To avoid the warning, the type can be annotated with `?`.
    ```C#
    static void F1<T>(object? obj)
    {
        T t1 = default; // warning CS8600: Converting possible null value to non-nullable type
        t1 = (T)obj;    // warning CS8600: Converting possible null value to non-nullable type

        T? t2 = default; // ok
        t2 = (T?)obj;    // ok
    }
    ```

url: https://raw.githubusercontent.com/automation555/roslyn/7cee01b898b12bdf7583ea9c30b562eca3756357/docs/compilers/CSharp/Compiler Breaking Changes - post DotNet 5.md


text:
# ShinyDeploy

_ShinyDeploy_ is a deployment tool written in PHP and JavaScript. It's main goal is to provide an easy way to deploy
files from your GIT repositories to your servers.

![ShinyDeploy Screenshot](https://static.geekservice.de/github/shinydeploy01.png)

## Features

##### Graphical user interface

All action from adding servers and repositories to deployments can be managed from simple and easy to use GUI.

##### Secure data storage

Sensitive data like usernames and passwords are encrypted before storing them in database. Decryption is only
possible with a password you need to enter during login.

##### List changed files before deploy

Before deploying to a target server you can list all files that have been changed since last deploy. Using a
diff-view you can even review changes before uploading.

##### Execute tasks before/after deploy

It is possible to define simple ssh commands to be executed before/after each deployment. This feature may be
useful to re-start applications, build css/js or do whatever is necessary to deploy your application.

##### Webhook support

Once a Deployment is created you can generate an API-URL. Using this URL you can trigger deployments directly from
GitHub, Bitbucket or Gitea as soon as you push changes to your repositories.

##### Open source

The whole project is open-source and MIT license. This way you can host your own instance in your local network
and don't have to worry about giving sensitive information away. And of course you can modify the application
in any way you like.

## Installation

### Requirements

The following software is required to run this application.

* Webserver (Nginx, Apache, ...)
* MySQL Server
* PHP >= 7.1
  * [ZeroMQ Extension](http://zeromq.org/bindings:php)
  * [Gearman Extension](http://gearman.org/download/#php)
  * Curl extension
  * Mysqli extension

### Installation procedure

* Install project using composer.

  ```composer create-project nekudo/shiny_deploy myshinydeploy```

* Create MySQL tables using db_structure.sql in project root.

* Adjust config files in the following folders:

  ```config/config.php```

  ```www/js/config.js```

### Start application

To use this application you need to start up the websocket server and worker processes. This can be done by executing
the following command:

```php cli/app.php start```

## Updates

#### Updating to 1.3 or higher

If you want to update to version 1.3.0 or higher you have to convert the encrypted database when you come from a
version that is 1.1 or lower. (See the update guide below.)

Please note that is process is only possible running PHP 7.1 with the mcrypt extension installed. Once your data
is converted you can update to the latest PHP version and the mcrypt extension is not required any longer.

#### Updating to 1.2.*

Due to the fact that the mcrypt extension was removed in PHP 7.2 the cryptography routines within this application
needed to be updated. So after updating to version 1.2 (or later) you will need to execute the update script by running
the following command:

`php cli/scripts/update.php`

The updater will ask for your system password and than re-encrypt all data to the new standard. This step has to be done
running PHP 7.1.* with the mcrypt extension installed.

Unfortunately you will have to **generate new api/webhook URLs after this step**. (The old URLs won't work any longer
after the update.)

## Developer Hints

In case you want to adjust CSS or JS you can use the robo.phar to rebuild the assets.

To build CSS/JS files run:

```php robo.phar assets```

To start a watcher automatically rebuilding files on modifications run:

```php robo.phar watch```

To list all available tasks run:

```php robo.phar list```

 Happy hacking...

## License

MIT


text:
The simulation is based on Schwarzschild geodesic ODEs and integrating them around several parameters. The path is realistic and based on real time data collected from GRANAT data releases. The accretion disk is defined by the predictive model of X-ray light curves classifiers determined through various deep learning models.

## Parameters
The parameters defined for modelling the simulation is derived from backend tools and machine learning algorithms covered in [this repository](https://github.com/axr6077/Black-Hole-X-ray-binary-Evolution).

## LightCure and UI setup
Light spectrums were optimized to fit the curve around the entity.
![Initial Ray Tracer](https://github.com/axr6077/ParticleTrajectory/blob/master/Python%20Scripts/out/ray_tracer.PNG?raw=true "Initial Ray Tracer")
![Chromatic Spectra](https://github.com/axr6077/ParticleTrajectory/blob/master/Python%20Scripts/out/spectra.PNG?raw=true "Chromatic Spectra")
![Deflection Angle](https://github.com/axr6077/ParticleTrajectory/blob/master/Python%20Scripts/out/deflection_angle.PNG?raw=true "Deflection Angle")
![Temperature Spectrum](https://github.com/axr6077/ParticleTrajectory/blob/master/Python%20Scripts/out/tempSpectrum.PNG)
![Optimized light Spectrum](https://github.com/axr6077/ParticleTrajectory/blob/master/Python%20Scripts/out/optimized.PNG)
![Particle trace Spectrum](https://github.com/axr6077/ParticleTrajectory/blob/master/Python%20Scripts/out/particle_trace.PNG)

## Requirements
* Chrome/Firefox/Microsoft Edge
* Considerable GPU power for 30+ fps
* Any IDE that supports Python, HTML and JS for development

## Validation
Based on real spectral data and predictive models with external parameters affecting orbit. It considers superluminal speeds as well. It doesn't consider presence of dark matter yet. The entity is a stellar mass BH hence validating the visual GR model.

## Factors to consider
* Texture sampling issues might affect star brightness stability
* Light paths may tend to bend a bit more than they should due to low ODE solver step counts, however, this seems to happen in a systematic way so that the image looks very similar in comparison to a more accurate simulation.

## Development Environment
* JetBrains WebStorm Personal Edition
* JetBrains PyCharm Community Edition

## Contributions and License
Feel free to create PR. Licensed under MIT license [available here](https://github.com/axr6077/ParticleTrajectory/blob/master/LICENSE).


text:
# Prorakusia di Bari & Laghi, 1994 GENUS

#### Status
ACCEPTED

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

#### Published in
Mem Sci Geol 46: 114.

#### Original name
null

### Remarks
null

repository: mdoering/backbone

repo_name: mdoering/backbone


text:
# AltaCV, yet another LaTeX CV/Résumé class

v1.7.1 (25 Aug 2023), by LianTze Lim<EMAIL_ADDRESS>
* v1.7 (9 Aug 2023) changes:
  - `\itemmarker` and `\ratingmarker` renamed to `\cvItemMarker` and `\cvRatingMarker`
  - Added `\cvLocationMarker` and `\cvDateMarker` so that these icons in `\cvevent`
    can be re-defined
  - Added `\locationname` and `\datename` for replacement text of the location and date
    markers in `\cvevent`
  - Other tweaks with `accsupp` (with another bugfix in v1.7.1.)
* Added `\mynames{...}` to specify names to be highlighted in the publication list on 3 Nov 2022
* Starred `\NewInfoField*` command to handle Mastodon; Icons, `\cvskills`, `\wheelchart` have "copyable" text values; `\cvskill` supports numerical values {0.5, 1, ..., 4.5, 5} on 21 May 2021
* Moved `biblatex`-related code to `*.cfg` files for easier edit on 8 May 2021
* Removed dependency on `academicons` on 12 Apr 2021
* Clickable hyperlinked info fields added on 10 May 2020
* Sample file with new `paracol` layout added on 2 February 2020

(Thanks to [Nur](https://github.com/nurh) for the name.)

It all started with this:

[](https://twitter.com/Leonduck/status/764281546408923136)

Leonardo was talking about a [résumé of Marissa Mayer that Business Insider put together](http://www.businessinsider.my/a-sample-resume-for-marissa-mayer-2016-7/) using [enhancv.com](https://enhancv.com).
I _knew_ I had to do something about it. And so AltaCV was born.

## Samples

This is how the re-created résumé looks like ([view/open on Overleaf](https://www.overleaf.com/latex/examples/recreating-business-insiders-cv-of-marissa-mayer-using-altacv/gtqfpbwncfvp)):

Though if you're creating your own CV/résumé, you'd probably prefer using the basic template ([view/open on Overleaf](https://www.overleaf.com/latex/templates/altacv-template/trgqjpwnmtgv)):

## Requirements and Compilation

* pdflatex + biber + pdflatex
* AltaCV uses [`fontawesome5`](http://www.ctan.org/pkg/fontawesome5).
* Use the `normalphoto` option to get normal (i.e. non-circular) photos.
* As of v1.2 you can add multiple photos on the left or right: `\photoL{2cm}{logo1}` and `\photoR{2.5cm}{logo2,photo}`. (`\photo` will work like `\photoR`.) Separate your image filenames with commas _without_ spaces.
* Use the `ragged2e` option to activate hyphenations while keeping text left-justified; line endings will thus be less jagged and more aesthetically pleasing.
* As of v1.3 the `withhyper` document class option will make the "personal info" fields into clickable hyperlinks (where it makes sense). See below for more details.
* Can now be compiled with pdflatex, XeLaTeX and LuaLaTeX!
  * Note that to compile with XeLaTeX, you should use a command line as follows, per [the `pdfx` documentation](http://mirrors.ctan.org/macros/latex/contrib/pdfx/pdfx.pdf): `xelatex -shell-escape -output-driver="xdvipdfmx -z 0" sample.tex`
* The samples here use the [Lato](http://www.latofonts.com/lato-free-fonts/) and [Roboto Slab fonts](https://github.com/googlefonts/robotoslab). Feel free to use a different typeface package instead—often a different typeface will change the entire CV's feel.

## `sample.tex` ##

This file was first created as `sample-alt.tex` on 2 Feb 2020. **It is the default sample LaTeX file since 10 May 2020.**

Many users have overlooked the optional argument of `\cvsection` to insert the right sidebar contents, and often confused that the right sidebar doesn't automatically break across pages. This new layout uses the `paracol` package for typesetting the left and right columns that _can_ break across pages. It also makes changing the column widths easier:

```latex
%% Set the left/right column width ratio to 6:4.
\columnratio{0.6}

% Start a 2-column paracol. Both the left and right columns will automatically
% break across pages if things get too long.
\begin{paracol}{2}
\cvsection{Experience}
...
... END OF LEFT COLUMN CONTENTS ...

% Now switch to the right column.
\switchcolumn
\cvsection{Education}
...
...END OF RIGHT COLUMN CONTENTS ...
\end{paracol}
```
You can also use `\swithcolumn*` for "synchronising" the columns, as well as other commands from the `paracol` package. See the [`paracol` package documentation](http://texdoc.net/pkg/paracol) for further details.

**You do not need use the `fullwidth` environment nor use optional arguments with `\cvsection` with this new template.**

## Clickable Info fields

As of v1.3, the `withhyper` document class option will load the `hyperref` package, and make fields in the personal detail fields into clickable hyperlinks (where it makes sense anyway).

*BIG CAVEAT:* Remember that not all readers may want to click on hyperlinks in PDFs. You may therefore sometimes want to _remove_ `withhyper`, and spell out the field URL details a bit more completely, e.g. `\github{github.com/your-id}`.

Anyway assuming that you _do_ keep `withhyper` enabled: For each field e.g. `\homepage{foobar.com}`, a `\homepagesymbol` has been defined, and the clickable hyperlink is generated by prepending the `\homepagehyperprefix` to `foobar.com`. The `\homepgehyperprefix` is defined to be `\https://`, so this generates the hyperlink `https://foobar.com`.

If your homepage doesn't use HTTPS yet, or if you want to use a different symbol, you can re-define them with
```latex
\renewcommand{\homepagehyperprefix}{http://}
\renewcommand{\homepagesymbol}{\faLink}
```

## New Information Fields ####

I've decided against adding definitions for too many fields and symbols in the `.cls` itself; otherwise we'll have all possible platforms in the world (and more services are born everyday!) within `altacv.cls` before we know it.

You can actually just typeset your own arbitrary information fields using the `\printinfo{symbol}{detail}[optional hyperlink prefix]` command within `\personalinfo`:

````latex
\printinfo{\faPaw}{Hey ho!}
\printinfo{\faGitLab}{your-handle}[https://gitlab.com/]
````

Or if you really prefer, you can define a new field yourself with `\NewInfoFiled{fieldname}{symbol}[optional hyperlink prefix]` before  using it:

````latex
\NewInfoField{gitlab}{\faGitlab}[https://gitlab.com/]
\gitlab{your_id}
````

For services and platforms like Mastodon where there isn't a straightforward relation between the more popular user ID or nickname and the hyperlink, you can use `\printinfo` directly e.g.

```latex
\printinfo{\faMastodon}{@username@instace}[https://instance.url/@username]
```

But if you absolutely want to create new dedicated info fields for such platforms, then use `\NewInfoField*` with a star:

```latex
\NewInfoField*{mastodon}{\faMastodon}
```

then you can use `\mastodon` with TWO arguments where the 2nd argument is the full hyperlink.

```latex
\mastodon{@username@instance}{https://instance.url/@username}
```

## Configurable colours

Use `\colorlet` or `\definecolor` to change these; see examples
in preamble of `sample.tex`.
* `accent`
* `emphasis`
* `heading`
* `headingrule`
* `subheading`
* `body`
* `name`
* `tagline`

## Configurable fonts

Use `\renewcommand` to change these; see examples in preamble of
`sample.tex`.
* `\namefont`
* `\taglinefont`
* `\personalinfofont`
* `\cvsectionfont`
* `\cvsubsectionfont`

## Configurable icons

Use `\renewcommand` to change these; see examples in preamble of
`sample.tex`.
* `\cvItemMarker` (bullets for `itemize`)
* `\cvRatingMarker` (for `\cvskill`)
* `\cvDateMarker` (for date in `\cvevent`)
* `\cvLocationMarker` (for location in `\cvevent` and `\location`)

## Is this template ATS-friendly?
There is some discussion about this in issue #76. No actual claims are made, because we don't really know how each ATS system works. But this template uses `accsupp` to add replacement text for the icons, which may help — e.g. the `\faGithub` icon rendered in the PDF would copy-and-paste from Acrobat Reader, as exactly the text `\faGithub`.

You could try running `pdftotext -raw sample.pdf` to view the text-only version of the CV, with the columnar layout removed.

Alternatively running `pdftotext -layout sample.pdf` to view the text-only version in a pseudo-two-column layout.

In particular `\locationname` and `\datename` hold the replacement text for the location and date/duration icon in `\cvevent`. These can be re-defined especially if your CV is in a non-English language, e.g. Spanish (see commented examples in preamble of `sample.tex`):

```latex
\renewcommand{\locationname}{Ubicación}
\renewcommand{\datename}{Fecha}
```

---

## `legacy/sample-old.tex` (for historical record only)

This was the original sample template file until 5 May 2020. The right sidebar is actually a _`marginpar`_, so it doesn't support footnote and cannot automatically break across pages if it's too long. You would need to split your right sidebar contents into separate files e.g. `p1sidebar.tex` and `p2sidebar.tex`, and insert them as the optional argument of the `\cvsection{...}` that you want to align them with:

```latex
\cvsection[p1sidebar]{Experience}
...
... END OF FIRST PAGE OF YOUR CV ...
\cvsection[page2sidebar]{Publications}
...
```

This assumes that the next page's main column would start immediately with a `\cvsection`, so that the top of your right sidebar contents also appear at the top of the page. Now if the _next_ page doesn't start with a `\cvsection` but you'd still like to add a sidebar, then use this command on the _current_ page to add it. The optional argument lets you pull up the sidebar a bit so that it looks aligned with the top of the main column:

```latex
\addnextpagesidebar[-1ex]{page3sidebar}
```

If you want to change the left and right columns' widths, you'll need to tinker with the `right` (distance from paper's right edge until the main column's right edge) and `marginparwidth` (width of the right sidebar) options in the `\geometry` line. For example, to make the right sidebar wider by 2cm, you could use

```latex
%% original was right=9cm, marginparwidth=6.8cm
\geometry{left=1cm,right=11cm,marginparwidth=8.8cm,marginparsep=1.2cm,top=1cm,bottom=1cm}
```
as well as doing a bit of arithmetic when you're making the header to get it full-width, i.e. reducing the sidebar by 2cm and extending the main column by 2cm.

```latex
\begin{adjustwidth}{}{-10cm}  %% original was -8cm
\makecvheader
\end{adjustwidth}
```

repository: liantze/AltaCV

gha_language: TeX

gha_license_id: NOASSERTION

repo_name: liantze/AltaCV


text:
Repository

Repository is like a folder for your project. Your project's repository contains all of your project's files and stores each file's revision history.

How to use: go to your own github account, click 'New' to create an new repository.

![Image of New Repository](/section-2/new_epository.png)


text:
# unet_dataset

pytorch xView2 image loader.

## Table of Contents

-   [Getting Started](#getting-started)
    -   [Prerequisites](#prerequisites)
    -   [Initial setup](#initial-setup)
-   [Usage](#usage)
-   [Contributing](#contributing)
-   [Versioning](#versioning)
-   [Authors](#authors)
-   [License](#license)
-   [Acknowledgments](#acknowledgments)

## Getting Started

These instructions will get you a copy of the project up and running on your
local machine for development and testing purposes.

### Prerequisites

You will need python3 and pip3 installed on your machine. You can install it
from the official website https://www.python.org/.

To install pytorch with CUDA support, conda is recommended. An installation
guide is available in the conda docs:
https://docs.conda.io/projects/conda/en/latest/user-guide/install/

### Initial setup

A step by step series of examples that tell you how to get the project up and
running.

Clone the git repository

```bash
git clone https://github.com/intelligenerator/unet_dataset.git
cd unet_dataset
```

Then create your conda virtual environment

```bash
conda create --name torch
conda activate torch
```

Next, installed the required packages. This may vary based on your system
hardware and requirements. Read more about pytorch installation:
https://pytorch.org/get-started/locally/

```bash
conda install pytorch torchvision cudatoolkit=10.2 -c pytorch
```

To exit the virtual environment run

```bash
conda deactivate
```

Happy coding!

## Usage

Assuming, you have cloned this repo into the `unet_dataset/` subfolder, you can import
it from your project root:

```python
import torch
from unet_dataset import SatelliteImageDataset

# define your transforms...
satellite_image_dataset = SatelliteImageDataset(images_dir='data/images/',
                                                targets_dir='data/targets/',
                                                transform=transforms)

# your code ...
```
see [test.py](./test.py)

## Contributing

Please read [CONTRIBUTING.md](CONTRIBUTING.md) and
[CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) for details on our code of conduct, and
the process for submitting pull requests to us.

## Versioning

We use [SemVer](http://semver.org/) for versioning. For the versions available,
see the [tags on this repository](https://github.com/intelligenerator/unet_dataset/tags).

## Authors

Ulysse McConnell - [umcconnell](https://github.com/umcconnell/)
Henry Meyer - [Rapirkomet](https://github.com/rapirkomet)
Boldizsar Zopcsak - [BoldizsarZopcsak](https://github.com/BoldizsarZopcsak)

See also the list of
[contributors](https://github.com/intelligenerator/unet_dataset/contributors)
who participated in this project.

## License

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

## Acknowledgments

-   [DEVELOPING CUSTOM PYTORCH DATALOADERS](https://pytorch.org/tutorials/recipes/recipes/custom_dataset_transforms_loader.html)
-   [Contributor Covenant](https://www.contributor-covenant.org/) - Code of Conduct


text:
---
id: fetch-policies
title: Fetch Policies
slug: /guided-tour/reusing-cached-data/fetch-policies/
description: Relay guide to fetch policies
keywords:
- fetch policy
- network-only
- store-only
- store-and-network
- store-or-network
---

import DocsRating from '@site/src/core/DocsRating';
import {OssOnly, FbInternalOnly} from 'docusaurus-plugin-internaldocs-fb/internal';

The first step to reusing locally cached data is to pass a `fetchPolicy` to the `loadQuery` function, which can be provided by `useQueryLoader` (see the [Fetching Queries section](../../rendering/queries/)):

```js
const React = require('React');
const {graphql} = require('react-relay');

function AppTabs() {
  const [
    queryRef,
    loadQuery,
  ] = useQueryLoader(HomeTabQuery);

  const onSelectHomeTab = () => {
    loadQuery({id: '4'}, {fetchPolicy: 'store-or-network'});
  }

  // ...
}
```

The provided `fetchPolicy` will determine:

* *whether* the query should be fulfilled from the local cache, and
* *whether* a network request should be made to fetch the query from the server, depending on the [availability of the data for that query in the store](../availability-of-data/).

By default, Relay will try to read the query from the local cache; if any piece of data for that query is [missing](../presence-of-data/) or [stale](../staleness-of-data/), it will fetch the entire query from the network. This default `fetchPolicy` is called "*store-or-network".*

Specifically, `fetchPolicy` can be any of the following options: **

* "store-or-network": *(default)* *will* reuse locally cached data, and will *only* send a network request if any data for the query is [missing](../presence-of-data/) or [stale](../staleness-of-data/). If the query is fully cached, a network request will *not* be made.
* "store-and-network": *will* reuse locally cached data and will *always* send a network request, regardless of whether any data was [missing](../presence-of-data/) or [stale](../staleness-of-data/) in the store.
* "network-only": *will* *not* reuse locally cached data, and will *always* send a network request to fetch the query, ignoring any data that might be locally cached and whether it's [missing](../presence-of-data/) or [stale](../staleness-of-data/).
* "store-only": *will* *only* reuse locally cached data, and will *never* send a network request to fetch the query. In this case, the responsibility of fetching the query falls to the caller, but this policy could also be used to read and operate on data that is entirely [local](../../updating-data/local-data-updates/).

Note that the `refetch` function discussed in the [Fetching and Rendering Different Data](../../refetching/) section also takes a `fetchPolicy`.

<DocsRating />

repository: facebook/relay

gha_language: Rust

repo_name: facebook/relay


text:
# Weissia Batista & M.M.P. Herrera, 1964 GENUS

#### Status
ACCEPTED

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

#### Published in
Anais Congr. Soc. Bot. Brasil 13: 469 (1964)

#### Original name
Weissia Batista & M.M.P. Herrera, 1964

### Remarks
null


text:
[![Gem Version](https://badge.fury.io/rb/chordproko.svg)](https://badge.fury.io/rb/chordproko)
# Chordproko

Chordproko is a parser for ruby. It converts chordpro format to a readable text format.

## Installation

Add this line to your application's Gemfile:

```ruby
gem 'chordproko'
```

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install chordproko

## Usage

Suppose you have a song sheet written in ChordPro format:

```ruby
sheet = "Th[C]is is a sam[G]ple lyr[Em]ic with ch[D]ord"
readable_sheet = Chordproko.text(sheet)
```

Or load from file

```ruby
file = File.new("file_location")
readable_sheet = Chordproko.text(file.read)
```
### Transposing

You can transpose a song by adding ```transpose``` option.

```ruby
readable_sheet = Chordproko.text(file.read, transpose: 2)
```
Negative value means transpose down, otherwise, transpose up.

### Using raw data

Create your own algorithm using the result of Chordproko **Parser**. It uses parslet so you have to learn parslet first. You can check the source code for rules.
```ruby
parsed = Chordproko::Parser.new.parse(file.read)
```
Then, create your own **Transform** class.

### Extending PlainSong Formatter
```ruby
class MyPlainSong < Chordproko::PlainSong
  def initialize transformed, options={}
    super(transformed, options)
  end
  def chord_group_format str
    "<span>#{str}</span>"
  end
  def lyric_line_format str
    "<div>#{str}</div>"
  end
end
```

Set the Chordproko formatter class. This will globally set our formatter.

```ruby
Chordproko.set_formatter_class("MyPlainSong")
```

Then use the Chordproko ```.text``` method

Aside from those two methods, you can override these to modify your song sheet.

```ruby
def chord_line_format str
  ...
end
def comment_format str
  ...
end
def directive_format str
  ...
end
def lyric_format str
  ...
end
```
## TODO

+ Improve specs
+ Improve documentations
+ Improve source (so many unnecessary lines. It works, so it's fine for now.)
+ Support ```b``` flat sign
+ Implement PlainSong methods with block (Might help a lot in customizing contents.)
+ Add settings and customization
+ Learns sheet key.

## Contributing

I'm certain that you have reached this section haha. This is my first gem, I still have a lot to learn. You can report errors, suggest features and create pull requests here, https://github.com/neume/chordproko.

## License

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

repository: neume/chordproko

repo_name: neume/chordproko


text:
# Trivia Game

In this interactive movie trivia game for web browsers, the user clicks a Start button and has 1 minute to answer 4 multiple choice questions about movie Oscars. When the game is over, the number of correct and incorrect answers is shown to the user.

The application dynamically updates the HTML pages by using the jQuery library.

The following image shows the application:

![trivia image](assets/images/gameImage.png)

# Tools Used

- Bootstrap
- jQuery
- JavaScript

repository: johncordano/TriviaGame

repo_name: johncordano/TriviaGame


text:
---
layout: default
---

# 1995-09-21 - RE: CRYPTOGRAPHY ELIMINATES LAWYERS?

## Header Data

From<EMAIL_ADDRESS>(Alano@teleport.com)

To<EMAIL_ADDRESS>Message Hash: 02fe38836a197807e46d8058b11bb969b6bc8e4fa428c8411667714bb3d40e51

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1995-09-21 00:16:55 UTC

Raw Date: Wed, 20 Sep 95 17:16:55 PDT

## Raw message

```
{% raw  %}From<EMAIL_ADDRESS><EMAIL_ADDRESS>Date: Wed, 20 Sep 95 17:16:55 PDT
To<EMAIL_ADDRESS>Subject: RE: CRYPTOGRAPHY ELIMINATES LAWYERS?
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

Date: Sat, 09 Sep 1995 12:41:12 -0700
To<EMAIL_ADDRESS>From: Alan Olsen<EMAIL_ADDRESS>Subject: Re: cryptography eliminates lawyers?

At 02:44 PM 9/8/95 -0400, you wrote:
>We wish!  We really wish!

"Fill that lawyer with a few more slugs of encryption!"

The argument that encryption will free us from all the legal ills of the
world is pretty specious.  If anything it will make more work for lawyers as
the non-clue-endowed portion of the world tries to come to terms with the
new technology.  They will make rules and subsets of rules and exeptions to
rules and variations to interpetations of rules that will make the current
set look like the rules to "chutes and ladders".  Part of the job of the
lawyer class is to guarentee the existance of work for other lawyers (as
well as themselves).  It does not depend on what the medium of exchange is.
Lawyers and government forces will try and figure out some way to try and
extract it from you.

The government is trying very hard to keep any scrap of power from creeping
away from them.  You can bet that they will try every thing they can think
of, rational and irrational, to regulate and control the wilds of
cyberspace.  They will pump up every imaginary boogieman to help them get
the public to swallow what they are fed.  By the time they figure out they
have been had, it will be too late.  Cypherpunks must be the syrup of ipecac
to the governments dose of poison to the body politic!  (I need to start
drinking more coffee in the morning.  I cannot believe I wrote that...)

Unfortunatly the public does not thrive on logic.  They had been trained to
react emotionally to things and not react logically.  I am not certain what
can be used to get them to realize why they need encryption.  Dispelling the
bogeymen is none need. The other thing is that the tools need to be made as
simple as possible.  The current tools for use require a fair bit of
technical understanding.  Until they have an integrated front-end that makes
it about as easy to use as America On-Line, encryption will not gain
widespread usage.  This is the type of code that needs to be written.
Making integrated tools like newsreaders and mail programs that support
strong encryption directly is what is needed for widespread use.  (As well
as being usable programs in and of themselves.  Many of the programs for
news and mail are crap.)  Making cryptography a "cool and fun thing to use"
will help dispell many of the myths and may help to defuse the government
created bogey men.  (Of course they will claim that it aids "criminals and
terrorists", but to them EVERYONE is a criminal and a terrorist.)
|             Visualize whirled keys              |<EMAIL_ADDRESS> |
|"It's only half a keyserver. I had to split the  | Disclaimer:          |
|other half with the government man." - Black Art | Ignore the man       |
|   -- PGP 2.6.2 key available on request --      |  behind the keyboard.|
|         http://www.teleport.com/~alano          |       <fnord>        |

{% endraw %}
```

## Thread

+ Return to [September 1995](/archive/1995/09)

+ Return to<EMAIL_ADDRESS>(Alano@teleport.com)](/authors/alano_at_teleport_com_alano_at_teleport_com_)"

+ 1995-09-21 (Wed, 20 Sep 95 17:16:55 PDT) - RE: CRYPTOGRAPHY ELIMINATES LAWYERS? -<EMAIL_ADDRESS>(Alano@teleport.com)_


text:
# Proposal

... Briefly describe your proposal here ...

*Example: I can create a video about Callisto Network.*

# Description

... Describe your proposal here ...

*Example: I'm going to make a video about CLO price, its fundamental analysis and the team behind this project. I will publish it on my youtube channel.*

# Funding goal

... Describe how much you need and what the payment plan should be.
Provide your address if you are going to work on the proposal yourself ...

*Example: 500 CLO. One time payment. My address is 0x00a5f830891c826fef69f2836cb5ea87d4a05474.*

repository: EthereumCommonwealth/Proposals

repo_name: EthereumCommonwealth/Proposals


text:
# Puppeteer Camera

### How it works

- Docker container starts an Express webserver
- An HTTP `/start` request launches a headless Chromium browser with screen capture Chrome extension installed
- The Chrome extension records the screen and audio output of any page
- Data is streamed directly to S3 bucket in `.webm` format

### Run

Add .env

```
AWS_REGION=us-west-2
AWS_ACCESS_KEY_ID=XXX
AWS_SECRET_ACCESS_KEY=XXX
AWS_PUPPETCAM_BUCKET_NAME=bucket-name
```

```sh
docker-compose up --build
```

### Start recording a url

```sh
curl -X POST -H "Content-Type: application/json" -d '{"id":"abc123","url":"https://www.animaker.com"}' localhost:3333/start
```

**Note:** Reusing id will overwrite previous file

### Stop recording a url

```sh
curl -X POST -H "Content-Type: application/json" -d '{"id":"abc123"}' localhost:3333/stop
```

### Record Twilio Video

```sh
curl -X POST -H "Content-Type: application/json" -d '{"id":"abc123","url":"http://localhost:3333/?roomName=XXX&twilioToken=XXX"}' localhost:3333/start
```

See: [index.tsx](https://github.com/ted-piotrowski/puppeteer-camera/blob/main/src/public/index.tsx)

### Inspiration

See: [https://github.com/muralikg/puppetcam](https://github.com/muralikg/puppetcam)

repository: ted-piotrowski/puppeteer-camera

repo_name: ted-piotrowski/puppeteer-camera