---
title: "Experimental Design"
author: "Adriana Souza"
date: "June 15, 2018"
output:
   pdf_document:
      number_sections: true
---

```{r setup, include=FALSE}
library(tidyverse)
library(kableExtra)
```

# Goals

1. Constrain treatment number, size and distribution in the context of permitting requirements and logistical matters

2. Conduct power analysis for deliverables based on proposed experimental design, inventory practices and preliminary data.

3. Do both 1 & 2 using annotated code in a version controlled format

# Objectives

## Constrain experimental design based on expected mulch volume, permit limits for fill and effective mulch depths

a. Estimate total volume of invasive plant biomass on spoil ridges

```{r total_volume, warning=FALSE, message=FALSE}
## Reading data

all_plots <- read.csv("plots.csv")
trees <- read.csv("trees.csv")

## Subsetting

# Subsetting trees to only Australian Pine
ap <- trees %>% filter(Species == "AP")

# Getting rid of weird formatting error, disregard
names(ap)[1] <- "PlotID"
names(all_plots)[1] <- "PlotID"

# Subsetting Plots to exclude controls
plots <- subset(all_plots, (PlotID!=c("7", "8","9")))

# Aggregating invasive biomass per plot (note, there is no info for plots 7,8,9)
# ap_agg <- aggregate(ap[, 11], list(ap$PlotID), mean) #The functions that race used were not precise and difficult to connect to volume
# new approach: calculate biomass of trunk, branch and leaves
# scaling equations following https://doi.org/10.1371/journal.pone.0151858

ap_DBH<-as.numeric(as.character(ap$Width.cm))

#mature forest: most similar based on age table 4 eq. 7
#ap_trunk_kg<-exp(-0.963+2.032*log(ap_DBH))
#ap_branch_kg<-exp(-3.945+2.349*log(ap_DBH))
#ap_leaf_kg<-exp(-4.108+2.270*log(ap_DBH))

#middle forest: most similar based on DBH distribution NOTE: understimate because of missing correction factor
ap_trunk_kg<-exp(-2.108+2.354*log(ap_DBH))
ap_branch_kg<-exp(-4.222+2.538*log(ap_DBH))
ap_leaf_kg<-exp(-3.164+1.996*log(ap_DBH))

# convert wood (trunk and branch) to volume based on standard wood density. http://www.wood-database.com/sheoak/
ap_wood_vol_cu_m<-c(ap_trunk_kg+ap_branch_kg) / 800 # 800 kg / cubic meter https://www.researchgate.net/publication/230701880_Effects_of_height_on_physical_properties_of_wood_of_Jhau_Casuarina_equisetifolia

# convert leaf  to volume based on scaling of Specific Leaf Area Table 1 N2 average drought and control https://onlinelibrary.wiley.com/doi/pdf/10.1046/j.1365-3040.1998.00302.x
# SLA = 20 sq cm / g ;
# area of a cylinder / volume of a cylinder = r/2 leaf diameter = 0.75

ap_leaf_vol_cu_m<-ap_leaf_kg * 1000 * 20 * (.75 / 4) / 1000000 # 1000 g / kg * 20 sq_cm / g, (0.75 cm / 4 ) cu_cm / sq_cm  / 10^6 cu_cm / cu_m

ap_vol_cu_m<-ap_leaf_vol_cu_m+ap_wood_vol_cu_m

ap_agg <- aggregate(ap_vol_cu_m, list(ap$PlotID), sum)

names(ap_agg)[1] <- "PlotID"
names(ap_agg)[2] <- "PlotVolume"
head(ap_agg) # Table

## Defining variables

# Plot Area
#sm_length_m <- plots$SpoilMoundWidth # Spoil Mound Lenght
trans_len_m <- plots$SpoilMoundTransectLength # Transect Length
sm_area_sq_m <- trans_len_m * 4 # Spoil Mound Area

# Invasive Biomass original guess
# ap_density <- 475 # ?? http://www.wood-database.com/austrian-pine/

# Target: cubic meters of invasive per meter squared of spoil mound
ap_vol_cu_m_per_sq_m_spoil_mound <- ap_agg[,2]/sm_area_sq_m

#area of all spoil ridge as per Scheda map * sq_m / acre
spoil_ridge_area_sq_m<-(3.74+7.56+.17)*4046.86

total_invasive_volume_cu_yd<-spoil_ridge_area_sq_m*ap_vol_cu_m_per_sq_m_spoil_mound*1.30795

# New table
target_table <- data.frame(ap_agg, sm_area_sq_m, ap_vol_cu_m_per_sq_m_spoil_mound,
                             total_invasive_volume_cu_yd)

# Table
target_table %>%
  kable("latex", booktabs = TRUE) %>%
  kable_styling(latex_options = "striped", "scale_down")
```

b. Estimate area corresponding to 25 cubic yards of fill in treatment ditch
c. Estimate depth of remaining mulch spread onto ridges
d. Propose scenarios for removal

## Assess adequacy of proposed vegetation inventory elements:

1. Element 1: plot size
  * Impact on biomass estimation error
  * Impact on seedling diversity estimation error

2. Element 2: plot distribution per treatment
  * Impact on removal / mulch treatment effect estimation error


@sofar `register_globalstep` does not cause an additional C++ -> Lua escape. Those register functions add the newly added callback to a Lua table [using make_registration](https://github.com/minetest/minetest/blob/master/builtin/game/register.lua#L461). C++ only gets the table `core.registered_globalsteps` and lets Lua iterate through the callbacks [here](https://github.com/minetest/minetest/blob/master/builtin/game/register.lua#L399).
`minetest.after` itself is based on globalstep, which means that both approaches have about the same speed. No additional C++ code is executed/involved when using either of them.


I'll just use it to regulate the laser focus


So question: should uninstalling this extension remove all originally created artifacts as well?


I think it would be good to allow both url/1 and url/2 -- url/1 would just be defined as url(URL, [])


This is not finished: it needs to present all the created artifacts that need to be copied over to Extend deployment and/or customer's web app.


Out of curiosity, why all caps here? Glad you're using symbols. :)


Fun trick: ruby supports [array subtraction](https://ruby-doc.org/core-2.4.2/Array.html#method-i-2D).

So you can refactor this to:
```
attributes = self.column_names - excluded_attrs
```


`tr` ne doit pas apparaitre  dans une div directement; il faudrait plutôt styler la `tr` elle-même et supprimer `Presentation`


No worries, easy for those merge issues to happen.  Does it make sense to have the CI build check with and without  BUILD_PLAYERBOT?


Wordsmith


golint: receiver name should not be an underscore, omit the name if it is unused


"ADMINISTRATOR"


Okay, yeah, don't capitalize symbols like this. Everyone knows a symbol is a constant, so you don't need to capitalize it. The only times I can think of where you would capitalize a symbol are generally exceptional (e.g. let's say you were writing a script relating to physical constants like _G_ which are always capitalized, then you might use `:G` instead of `:g` to refer to it).


@tomschr Why should that be necessary, we had this already: https://github.com/openSUSE/daps/commit/20a55746425ae9c9e0a82217f2209855413c876c . Can we revert this commit?


[R/polyply_activate.R:126:17:](https://github.com/russHyde/polyply/blob/a28f84e0c11788eca0b6e86df05e645e74dc3eb9/R/polyply_activate.R#L126) *style:* **Use <-, not =, for assignment.**
```r
force.a.failure = 123
                ^
```


it matters when variables are very close together/identical


Wordsmith. I like the hint "this can be later changed in the created Auth0 rule".


Could you explain how I put this command on and off in the laser?


lolololo

> sadasdnvfdijn


nice


@kastowan, di naxyu


麻烦看看为什么 pip3 install 还是0.2.5.2版？


Fix is already available in `https://github.com/ibmdb/node-ibm_db`. Thanks.


I'd collapse API_NAME and "API_AUDIENCE" into one setting called "EXTEND_HOST", and use that value for both the API name and issuer under the hood, e.g. https://sandbox.auth0-extend.com.


isn't these .allocate() not required anymore and removed? Should be cleaned for all process*.cpp test code.


As mentioned above, I don't think we need to set up a client for the customer's web application itself.

But one other thing that may be worthwhile to set up instead is the client for wt-cli access.


:DD


I see. Was just looking through your changeset here for a design review. I think you're biting off more than needed here. Why not limit conversations to the domain that we have already implemented? (That is, trading with a single trader). Then you should just set the name of the race as a variable. All of the other stuff should work exactly the same as before, with `DialogueContext.Say`, etc. Am I wrong about this?


Following up on my email comments (read those first):

I'd suggest having your ViewInfo object be called `Workspace` instead. It seems like GR is already using the Workspace metaphor. You can have multiple Workspaces, and each one can refer to the same Figure. Calling `view` on Figure creates a Workspace object.


some parts were added to master branch


missing semicolon


`var` ?? never!! :D


Wordsmith, e.g. "A client representing the ExtendEditor embedded in your web application".


Nah, ci is not the issue, I just dont use it and due to the inflated compilation time I dont have it selected. Sometimes I forget to tick it before I export and voila, cmangos playerbot is borked.


Also, I am not sure we need to ask for it. How about we derive it from the EXTEND_HOST by saying something like "ExtendEditor Client for {EXTEND_HOST}".


Not sure. I use libreoffice to write HTML texts and I'm not sure is there same quality tool for md (though suppose libreoffice may have md plugin). The fact that github (which is web site among others) does not display language initially designed for web sites means that this is sooner of all github problem. And what I also do not know - what happens when windows user strikes md file in explorer?


Of course.  Too bad running the script doesn't catch this!


Another typo!


I used materialize CSS and Font Awesome and Jquery


just for an order keeping, these were in previous commit (i cant get why git listed them too in this commit together with previous merges ...):

* smbnetfs, rtorrent - use OE-core versions

* wget - bump PV to 1.19.5

* wsdd - removed -Werror from Makefile to fix compile with gcc8

* distros - openvix - softcams - evocamd, mgcamd - fixed deps/rdeps


didn't we get rid of all 1.5 factor and used 3/2 inplace?


shame!


Created multidev environment [dgreat#pr-tandem4](https://dashboard.pantheon.io/sites/41cad7fe-472d-43a9-a470-d391b9622376#pr-tandem4).

[![Visit Site](https://raw.githubusercontent.com/pantheon-systems/ci-drops-8/0.1.0/data/img/visit-site-36.png)](https://pr-tandem4-dgreat.pantheonsite.io/)


note spaces...


@pbauer Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.iterate/71/violations
```
plone/app/iterate/copier.py:37:1: I001 isort found an import in the wrong position
plone/app/iterate/policy.py:57:45: C812 missing trailing comma
plone/app/iterate/policy.py:66:11: T000 Todo note found.
plone/app/iterate/base.py:160:22: W292 no newline at end of file
plone/app/iterate/testing.py:5:1: F401 'plone.app.testing.PLONE_FIXTURE' imported but unused
plone/app/iterate/testing.py:6:1: I001 isort found an import in the wrong position
plone/app/iterate/testing.py:10:1: F401 'plone.testing.z2' imported but unused
plone/app/iterate/testing.py:148:80: E501 line too long (83 > 79 characters)
plone/app/iterate/testing.py:154:80: E501 line too long (83 > 79 characters)
plone/app/iterate/interfaces.py:321:23: C812 missing trailing comma
plone/app/iterate/interfaces.py:328:22: C812 missing trailing comma
plone/app/iterate/__init__.py:48:78: C812 missing trailing comma
plone/app/iterate/setuphandlers.py:11:27: C812 missing trailing comma
plone/app/iterate/event.py:28:1: I004 isort found an unexpected blank line in imports
plone/app/iterate/event.py:29:1: I001 isort found an import in the wrong position
plone/app/iterate/containers.py:72:50: C812 missing trailing comma
plone/app/iterate/containers.py:73:14: C812 missing trailing comma
plone/app/iterate/archiver.py:26:1: I004 isort found an unexpected blank line in imports
plone/app/iterate/archiver.py:27:1: I001 isort found an import in the wrong position
plone/app/iterate/browser/checkout.py:70:33: C812 missing trailing comma
plone/app/iterate/dexterity/copier.py:5:1: I001 isort found an import in the wrong position
plone/app/iterate/dexterity/copier.py:67:19: T000 Todo note found.
plone/app/iterate/dexterity/copier.py:157:50: C812 missing trailing comma
plone/app/iterate/dexterity/utils.py:25:18: C812 missing trailing comma
plone/app/iterate/tests/test_iterate.py:175:80: E501 line too long (97 > 79 characters)
plone/app/iterate/tests/test_iterate_at.py:35:1: I003 isort expected 1 blank line in imports, found 0
plone/app/iterate/tests/test_iterate_at.py:42:5: E301 expected 1 blank line, found 0
plone/app/iterate/tests/test_iterate_at.py:52:80: E501 line too long (85 > 79 characters)
plone/app/iterate/tests/test_iterate_at.py:154:11: T000 Todo note found.
plone/app/iterate/tests/test_iterate_at.py:302:80: E501 line too long (97 > 79 characters)
plone/app/iterate/tests/test_doctests.py:6:1: I003 isort expected 1 blank line in imports, found 0
plone/app/iterate/tests/test_doctests.py:7:1: I003 isort expected 1 blank line in imports, found 0
plone/app/iterate/tests/test_doctests.py:9:5: F401 'Products.ATContentTypes' imported but unused
plone/app/iterate/tests/test_doctests.py:26:54: C812 missing trailing comma
plone/app/iterate/tests/test_doctests.py:34:53: C812 missing trailing comma
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


This is an implementation of curve...that we see in Microsoft paint...


sex.com


[tests/testthat/test_entropy.R:14:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_entropy.R#L14) *style:* **Lines should not be more than 80 characters.**
```r
    expect_equal(entropy(data.frame(x = c(1, 2), n = c(10, 10)), "x", weight = "n"),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_entropy.R:16:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_entropy.R#L16) *style:* **Lines should not be more than 80 characters.**
```r
    expect_equal(entropy(data.frame(x = c(1, 2), n = c(10, 10)), "x", weight = "n", base = 2),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_entropy.R:18:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_entropy.R#L18) *style:* **Lines should not be more than 80 characters.**
```r
    expect_equal(entropy(data.frame(x = c(1, 2), n = c(10, 30)), "x", weight = "n"),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_ipf.R:6:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_ipf.R#L6) *style:* **Lines should not be more than 80 characters.**
```r
        adj <- ipf(schools00, schools05, "race", "school", weight = "n", precision = precision)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_ipf.R:8:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_ipf.R#L8) *style:* **Lines should not be more than 80 characters.**
```r
        # check that the new "race" marginals are similar to the target marginals
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_ipf.R:26:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_ipf.R#L26) *style:* **Lines should not be more than 80 characters.**
```r
    diff <- mutual_difference(schools00, schools05, group = "race", unit = "school",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_ipf.R:32:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_ipf.R#L32) *style:* **Lines should not be more than 80 characters.**
```r
    M_00 <- mutual_total(schools00_r, "race", "school", weight = "n")[["M", "est"]]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_ipf.R:32:5:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_ipf.R#L32) *style:* **Variable or function name should be snake_case.**
```r
    M_00 <- mutual_total(schools00_r, "race", "school", weight = "n")[["M", "est"]]
    ^~~~
```
[tests/testthat/test_ipf.R:33:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_ipf.R#L33) *style:* **Lines should not be more than 80 characters.**
```r
    M_05 <- mutual_total(schools05_r, "race", "school", weight = "n")[["M", "est"]]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_ipf.R:33:5:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_ipf.R#L33) *style:* **Variable or function name should be snake_case.**
```r
    M_05 <- mutual_total(schools05_r, "race", "school", weight = "n")[["M", "est"]]
    ^~~~
```
[tests/testthat/test_ipf.R:36:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_ipf.R#L36) *style:* **Lines should not be more than 80 characters.**
```r
    adj_00 <- ipf(schools00_r, schools05_r, "race", "school", weight = "n", precision = .1)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_ipf.R:37:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_ipf.R#L37) *style:* **Lines should not be more than 80 characters.**
```r
    M_margins <- mutual_total(adj_00, "race", "school", weight = "n")[["M", "est"]]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_ipf.R:37:5:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_ipf.R#L37) *style:* **Variable or function name should be snake_case.**
```r
    M_margins <- mutual_total(adj_00, "race", "school", weight = "n")[["M", "est"]]
    ^~~~~~~~~
```
[tests/testthat/test_ipf.R:71:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_ipf.R#L71) *style:* **Lines should not be more than 80 characters.**
```r
    expect_equal(sum(adj[adj$occ == 1, "n"]), sum(adj[adj$occ == 1, "n_target"]))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_ipf.R:72:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_ipf.R#L72) *style:* **Lines should not be more than 80 characters.**
```r
    expect_equal(sum(adj[adj$occ == 2, "n"]), sum(adj[adj$occ == 2, "n_target"]))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_ipf.R:73:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_ipf.R#L73) *style:* **Lines should not be more than 80 characters.**
```r
    expect_equal(sum(adj[adj$occ == 3, "n"]), sum(adj[adj$occ == 3, "n_target"]))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_difference.R:16:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_difference.R#L16) *style:* **Lines should not be more than 80 characters.**
```r
    expect_error(mutual_difference(test_data1, test_data2, "g", "u", weight = "n", method = "X"))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_difference.R:20:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_difference.R#L20) *style:* **Lines should not be more than 80 characters.**
```r
    ret1 <- mutual_difference(test_data1, test_data2, "g", "u", weight = "n", method = "ipf",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_difference.R:23:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_difference.R#L23) *style:* **Lines should not be more than 80 characters.**
```r
    expect_equal(ret1[["diff", "est"]], ret1[["M2", "est"]] - ret1[["M1", "est"]])
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_difference.R:24:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_difference.R#L24) *style:* **Lines should not be more than 80 characters.**
```r
    diff <- sum(ret1[c("unit_marginal", "group_marginal", "interaction", "structural"), "est"])
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_difference.R:30:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_difference.R#L30) *style:* **Lines should not be more than 80 characters.**
```r
    ret <- mutual_difference(test_data1, test_data2, "u", "g", weight = "n", method = "ipf",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_difference.R:35:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_difference.R#L35) *style:* **Lines should not be more than 80 characters.**
```r
                 sum(ret[c("unit_marginal", "group_marginal", "interaction", "structural"), "est"]))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_difference.R:38:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_difference.R#L38) *style:* **Lines should not be more than 80 characters.**
```r
    expect_equal(ret[["M1", "est"]], mutual_total(test_data1, "u", "g", weight = "n")[["M", "est"]])
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_difference.R:39:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_difference.R#L39) *style:* **Lines should not be more than 80 characters.**
```r
    expect_equal(ret[["M2", "est"]], mutual_total(test_data2, "u", "g", weight = "n")[["M", "est"]])
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_difference.R:60:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_difference.R#L60) *style:* **Lines should not be more than 80 characters.**
```r
    ret <- mutual_difference(test_data1, test_data2, "g", "u", weight = "n", method = "mrc")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_difference.R:64:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_difference.R#L64) *style:* **Lines should not be more than 80 characters.**
```r
                 sum(ret[c("unit_marginal", "group_marginal", "structural"), "est"]))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_difference.R:67:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_difference.R#L67) *style:* **Lines should not be more than 80 characters.**
```r
    ret <- mutual_difference(test_data1, test_data2, "u", "g", weight = "n", method = "mrc")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_difference.R:71:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_difference.R#L71) *style:* **Lines should not be more than 80 characters.**
```r
                 sum(ret[c("unit_marginal", "group_marginal", "structural"), "est"]))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_difference.R:74:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_difference.R#L74) *style:* **Lines should not be more than 80 characters.**
```r
    expect_equal(ret[["M1", "est"]], mutual_total(test_data1, "u", "g", weight = "n")[["M", "est"]])
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_difference.R:75:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_difference.R#L75) *style:* **Lines should not be more than 80 characters.**
```r
    expect_equal(ret[["M2", "est"]], mutual_total(test_data2, "u", "g", weight = "n")[["M", "est"]])
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_difference.R:88:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_difference.R#L88) *style:* **Lines should not be more than 80 characters.**
```r
                 sum(ret[c("unit_marginal", "group_marginal", "structural"), "est"]))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_difference.R:98:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_difference.R#L98) *style:* **Lines should not be more than 80 characters.**
```r
                 sum(ret[c("unit_marginal", "group_marginal", "structural"), "est"]))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_difference.R:101:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_difference.R#L101) *style:* **Lines should not be more than 80 characters.**
```r
    expect_equal(ret[["M1", "est"]], mutual_total(test_data1, "u", "g", weight = "n")[["M", "est"]])
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_difference.R:102:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_difference.R#L102) *style:* **Lines should not be more than 80 characters.**
```r
    expect_equal(ret[["M2", "est"]], mutual_total(test_data2, "u", "g", weight = "n")[["M", "est"]])
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_difference.R:123:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_difference.R#L123) *style:* **Lines should not be more than 80 characters.**
```r
                             method = "mrc_adjusted", se = TRUE, n_bootstrap = 5)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_difference.R:166:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_difference.R#L166) *style:* **Variable or function name should be snake_case.**
```r
M1 <- mutual_total(test_data1, "g", "u", weight = "n")[["M", "est"]]
^~
```
[tests/testthat/test_mutual_difference.R:167:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_difference.R#L167) *style:* **Variable or function name should be snake_case.**
```r
M2 <- mutual_total(test_data2, "g", "u", weight = "n")[["M", "est"]]
^~
```
[tests/testthat/test_mutual_difference.R:188:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_difference.R#L188) *style:* **Lines should not be more than 80 characters.**
```r
    expect_equal(f1[["diff", "est"]], -f2[["diff", "est"]], both[["diff", "est"]])
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_difference.R:189:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_difference.R#L189) *style:* **Lines should not be more than 80 characters.**
```r
    expect_equal(f1[["additions", "est"]], -f2[["removals", "est"]], both[["additions", "est"]])
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_difference.R:190:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_difference.R#L190) *style:* **Lines should not be more than 80 characters.**
```r
    expect_equal(f1[["removals", "est"]], -f2[["additions", "est"]], both[["removals", "est"]])
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_difference.R:191:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_difference.R#L191) *style:* **Lines should not be more than 80 characters.**
```r
    expect_equal((f1[["unit_marginal", "est"]] + -f2[["unit_marginal", "est"]]) / 2,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_difference.R:193:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_difference.R#L193) *style:* **Lines should not be more than 80 characters.**
```r
    expect_equal((f1[["group_marginal", "est"]] + -f2[["group_marginal", "est"]]) / 2,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_local.R:12:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_local.R#L12) *style:* **Lines should not be more than 80 characters.**
```r
localse <- mutual_local(test_data, "u", "g", weight = "n", se = TRUE, n_bootstrap = 10)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_local.R:22:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_local.R#L22) *style:* **Lines should not be more than 80 characters.**
```r
        sum(local2[local2$stat == "p", "est"] * local2[local2$stat == "ls", "est"])
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_local.R:29:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_local.R#L29) *style:* **Lines should not be more than 80 characters.**
```r
        sum(localbase2[localbase2$stat == "p", "est"] * localbase2[localbase2$stat == "ls", "est"]),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_local.R:62:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_local.R#L62) *style:* **Lines should not be more than 80 characters.**
```r
                 sum(nowide[nowide$stat == "ls", "est"] * nowide[nowide$stat == "p", "est"]))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_local.R:64:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_local.R#L64) *style:* **Lines should not be more than 80 characters.**
```r
    expect_equal(total[["H", "est"]], sum(wide$ls * wide$p) / entropy(test_data, "u", "n"))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_total.R:31:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_total.R#L31) *style:* **Lines should not be more than 80 characters.**
```r
        mutual_total(test_data, "u", c("supergroup", "g"), weight = "n")[["M", "est"]],
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_total.R:36:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_total.R#L36) *style:* **Lines should not be more than 80 characters.**
```r
        mutual_total(test_data, "u", c("supergroup", "g"), weight = "n")[["M", "est"]],
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_total.R:37:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_total.R#L37) *style:* **Lines should not be more than 80 characters.**
```r
        mutual_total(test_data, c("supergroup", "g"), "u", weight = "n")[["M", "est"]]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_total.R:56:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_total.R#L56) *style:* **Lines should not be more than 80 characters.**
```r
            mutual_total(test_data, "u", "g", within = "supergroup", weight = "n")[["M", "est"]]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_total.R:61:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_total.R#L61) *style:* **Lines should not be more than 80 characters.**
```r
            mutual_total(test_data, "u", "g", within = "supergroup", weight = "n")[["H", "est"]]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_total.R:73:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_total.R#L73) *style:* **Lines should not be more than 80 characters.**
```r
        mutual_total(test_data, "u", "g", within = "supergroup", weight = "n")[["M", "est"]]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_total.R:101:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_total.R#L101) *style:* **Lines should not be more than 80 characters.**
```r
    expect_equal(dim(mutual_total(test_data, "u", "g", weight = "n", se = TRUE)), c(2, 3))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_total.R:103:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_total.R#L103) *style:* **Lines should not be more than 80 characters.**
```r
    expect_equal(mutual_total(test_data, "u", "g", weight = "n")[["M", "est"]], log(2))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_total.R:104:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_total.R#L104) *style:* **Lines should not be more than 80 characters.**
```r
    expect_equal(mutual_total(test_data, "u", "g", weight = "n")[["H", "est"]], 1)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_within.R:23:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_within.R#L23) *style:* **Lines should not be more than 80 characters.**
```r
    total <- mutual_total(test_data, "u", "g", within = "supergroup", weight = "n")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_within.R:27:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_within.R#L27) *style:* **Lines should not be more than 80 characters.**
```r
    within <- mutual_within(test_data, "u", "g", within = "supergroup", weight = "n")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_within.R:36:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_within.R#L36) *style:* **Lines should not be more than 80 characters.**
```r
    expect_equal(sum(within$h_weight * within$H), sum(within_wide$h_weight * within_wide$H))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_within.R:66:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_within.R#L66) *style:* **Lines should not be more than 80 characters.**
```r
    total <- mutual_total(test_data, "u", "g", within = "supergroup", weight = "n")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_within.R:68:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_within.R#L68) *style:* **Lines should not be more than 80 characters.**
```r
        sum(nowide[nowide$stat == "M", "est"] * nowide[nowide$stat == "p", "est"]))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_within.R:70:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_within.R#L70) *style:* **Lines should not be more than 80 characters.**
```r
    expect_equal(total[["M", "est"]], sum(wide$H * wide$h_weight * entropy(test_data, "u", "n")))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_mutual_within.R:73:1:](https://github.com/elbersb/segregation/blob/683818734085b87f9f11f390a08dc13fe5f6d481/tests/testthat/test_mutual_within.R#L73) *style:* **Lines should not be more than 80 characters.**
```r
        sum(nowide[nowide$stat == "H", "est"] * nowide[nowide$stat == "h_weight", "est"]))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```


note spaces at end....


Fixed.  There's changes to wasm_exec.js that is in the master branch and this was still using the file from the wasm-wip branch.


Well it works already so.


Readmes are distributed in the kits and I suppose text/html is still simpler to read for many end users than markdown.


Jonathan Westerman is a Technology & Foreign Language Expert with over 7 years work experience in tech and IT related fields.


http://sdt-idp-ui.vci.att.com:27531/jenkins/job/com.att.idp.ui/job/com.att.idp.ui.idse-app-shell/job/master/
App-Shell


nice


# Specs execution successful
:scroll: [View logs](http://bamboo.comnull)
### Plans updated

Bamboo specs have been successfully imported and the following plans have been updated.

Project | Plan | Build
---|---|---
[Test](http://bamboo.com/browse/TEST) | [Comment test](http://bamboo.com/browse/TEST-CTEST)  | :white_check_mark: [\#1](http://bamboo.com/browse/TEST-CTEST-1)
[New project](http://bamboo.com/browse/NEW) | [Disabled plan](http://bamboo.com/browse/NEW-DISABLED) **disabled** | :white_check_mark: [\#1](http://bamboo.com/browse/NEW-DISABLED-1)

### Deployments updated

Bamboo specs have been successfully imported and the following deployment projects have been updated.

|Deployment project |
----|
[Deployment test](http://bamboo.com/deploy/viewDeploymentProjectVersions.action?id=2162689)|


Created multidev environment [sfgov#ci-537](https://dashboard.pantheon.io/sites/91d50373-c4cf-40e4-a646-cb73e16a140c#ci-537).

[![Visit Site](https://raw.githubusercontent.com/pantheon-systems/ci-drops-8/0.1.0/data/img/visit-site-36.png)](https://ci-537-sfgov.pantheonsite.io/)


missing semicolon


:D


don't need to free this anymore?


HTML generated by tool as this one is definitevely not a good thing to store in source control, I never opened them in the tools nor I'm can good read them in many cases. On the other hand markdown files can be written as pure text and many tools exists for preview (I use vscode), and has good quality (see https://github.com/FirebirdSQL/firebird/blob/master/doc/sql.extensions/README.window_functions.md). But this is just me, and the thing is not about me.

I would prefer if we choose lightweight, reviewable and patch-able format for text documents, specially when talking about a text format well adopted by the open source world.


format change of original code


---
title: "Experimental Design R1"
author: "Brad Oberle"
date: "June 25, 2018"
output:
   pdf_document:
      number_sections: true
---

```{r setup, include=FALSE}
library(tidyverse)
library(kableExtra)
```

# Goals

1. Constrain treatment number, size and distribution in the context of permitting requirements and logistical matters

2. Conduct power analysis for deliverables based on proposed experimental design, inventory practices and preliminary data.

3. Do both 1 & 2 using annotated code in a version controlled format

# Objectives

## Constrain experimental design based on expected mulch volume, permit limits for fill and effective mulch depths

a. Estimate total volume of invasive plant biomass on spoil ridges

i. Oberle Added new scaling equations, double checked units, compared against reference

```{r total_volume, warning=FALSE, message=FALSE}
## Reading data

all_plots <- read.csv("plots.csv")
trees <- read.csv("trees.csv")

## Subsetting

# Subsetting trees to only Australian Pine
ap <- trees %>% filter(Species == "AP")

# Getting rid of weird formatting error, disregard
names(ap)[1] <- "PlotID"
names(all_plots)[1] <- "PlotID"

# Subsetting Plots to exclude controls
plots <- subset(all_plots, (PlotID!=c("7", "8","9")))

# Aggregating invasive biomass per plot (note, there is no info for plots 7,8,9)
# ap_agg <- aggregate(ap[, 11], list(ap$PlotID), mean) #The functions that race used were not precise and difficult to connect to volume
# new approach: calculate biomass of trunk, branch and leaves
# scaling equations following https://doi.org/10.1371/journal.pone.0151858

ap_DBH<-as.numeric(as.character(ap$Width.cm))

#mature forest: most similar based on age table 4 eq. 7
#ap_trunk_kg<-exp(-0.963+2.032*log(ap_DBH))
#ap_branch_kg<-exp(-3.945+2.349*log(ap_DBH))
#ap_leaf_kg<-exp(-4.108+2.270*log(ap_DBH))

#middle forest: most similar based on DBH distribution NOTE: understimate because of missing correction factor
ap_trunk_kg<-exp(-2.108+2.354*log(ap_DBH))
ap_branch_kg<-exp(-4.222+2.538*log(ap_DBH))
ap_leaf_kg<-exp(-3.164+1.996*log(ap_DBH))

# convert wood (trunk and branch) to volume based on standard wood density. http://www.wood-database.com/sheoak/
ap_wood_vol_cu_m<-c(ap_trunk_kg+ap_branch_kg) / 800 # 800 kg / cubic meter https://www.researchgate.net/publication/230701880_Effects_of_height_on_physical_properties_of_wood_of_Jhau_Casuarina_equisetifolia

# convert leaf  to volume based on scaling of Specific Leaf Area Table 1 N2 average drought and control https://onlinelibrary.wiley.com/doi/pdf/10.1046/j.1365-3040.1998.00302.x
# SLA = 20 sq cm / g ;
# area of a cylinder / volume of a cylinder = r/2 leaf diameter = 0.75

ap_leaf_vol_cu_m<-ap_leaf_kg * 1000 * 20 * (.75 / 4) / 1000000 # 1000 g / kg * 20 sq_cm / g, (0.75 cm / 4 ) cu_cm / sq_cm  / 10^6 cu_cm / cu_m

ap_vol_cu_m<-ap_leaf_vol_cu_m+ap_wood_vol_cu_m

ap_agg <- aggregate(ap_vol_cu_m, list(ap$PlotID), sum)

names(ap_agg)[1] <- "PlotID"
names(ap_agg)[2] <- "PlotVolume"
head(ap_agg) # Table

## Defining variables

# Plot Area
#sm_length_m <- plots$SpoilMoundWidth # Spoil Mound Lenght
trans_len_m <- plots$SpoilMoundTransectLength # Transect Length
sm_area_sq_m <- trans_len_m * 4 # Spoil Mound Area

# Invasive Biomass original guess
# ap_density <- 475 # ?? http://www.wood-database.com/austrian-pine/

# Target: cubic meters of invasive per meter squared of spoil mound
ap_vol_cu_m_per_sq_m_spoil_mound <- ap_agg[,2]/sm_area_sq_m

#area of all spoil ridge as per Scheda map * sq_m / acre
spoil_ridge_area_sq_m<-(3.74+7.56+.17)*4046.86

total_invasive_volume_cu_yd<-spoil_ridge_area_sq_m*ap_vol_cu_m_per_sq_m_spoil_mound*1.30795

# New table
target_table <- data.frame(ap_agg, sm_area_sq_m, ap_vol_cu_m_per_sq_m_spoil_mound,
                             total_invasive_volume_cu_yd)

# Table
target_table %>%
  kable("latex", booktabs = TRUE) %>%
  kable_styling(latex_options = "striped", "scale_down")
```

b. Estimate area corresponding to 25 cubic yards of fill in treatment ditch
c. Estimate depth of remaining mulch spread onto ridges
d. Propose scenarios for removal

## Assess adequacy of proposed vegetation inventory elements:

1. Element 1: plot size
  * Impact on biomass estimation error
  * Impact on seedling diversity estimation error

2. Element 2: plot distribution per treatment
  * Impact on removal / mulch treatment effect estimation error


Can't remember.  I'll remove.


what are these asserts for, given the if() check above that will exclude them?


Move to outer contract to simplify migration process


Looks good


@Yash-Garg


are these changes needed, give above if(... && memory_type != MemoryType::LockedCache) check excludes LockedCache?


this exercise solution is missing


And the first thing the people with problem will do is google for the thing and go to the internet indexed MD file in github. I doubt most people open the doc folder to read that files there.


we should not be changing original debugs...


same here on original debugs...


whoa, is this a thing now?


nicce


nice


vatta nice error handling


Yes, sorry! Thought it was a minor fix and didn't run the full test suite m(_ _)m

It was actually more involved and you sample has surfaced other problems. Hopefully latest commit fixes applications... until you find the next issue ;)


Hi! This is the friendly automated conda-forge-webservice.

I updated the Github team because of this commit.

- @christopherhogan were added to this feedstock maintenance team.
  You should get push access to this feedstock and CI services.

Feel free to join the community [chat room](https://gitter.im/conda-forge/conda-forge.github.io).

NOTE: Please make sure to not push to the repository directly.
      Use branches in your fork for any changes and send a PR.
      More details [here](https://conda-forge.org/docs/conda-forge_gotchas.html#using-a-fork-vs-a-branch-when-updating-a-recipe)


is it safe to remove this assert?

better by adding else if (LockedCache) section, instead of changing Posix behavior


missing `|` ?


same here on debugs....


good to go!


check format spacing...looks like off by 1 space


what a GOD


Delete it


can we not just revert the changes....rather then change and then unchanged?


I think the implementation here should just be `crtFuncs = return $ runIdentity crtFuncs`. Don't duplicate code; use the other instance.


Maybe do it public


a


__API Description file syntax error on line 1__: expected API name, e.g. '# <API Name>' (Autogenerated message from apiary.io)


same here on reverting...


Can you move the `CRTrans mon r` superclass constraint forward, and remove `Ring r` (which is now redundant with the former)?


No newlines


isSupport?


not static is ok?


Good stuff!!


- Reformat the config file.
- [Add] Letter count limit in text mode to avoid miss paste (can be configured in config file).
- [Add] key stroke interval time (can be configured in config file).
- [Mod] change the shortcut key from F-keys to any key.


Udacity Pixel Art Maker Project


Indeed.


spaces at end...


This is certainly a much nicer constraint synonym!


This is great guys, I have been meaning to do something like this for a while! I wonder if there is a way of testing for the health of internal components, particularly the job handlers.


Please contact the maintainer


mutex here will not work if there is a collision, as all threads will get this entry and get suspended on update - but will eventually update to true - and think it got the same LockedCache buffer


Created multidev environment [gk-8#pr-depsupda](https://dashboard.pantheon.io/sites/5cbd78f8-3a96-492a-beb0-f892421708d8#pr-depsupda).

[![Visit Site](https://raw.githubusercontent.com/pantheon-systems/ci-drops-8/0.1.0/data/img/visit-site-36.png)](https://pr-depsupda-gk-8.pantheonsite.io/)


Don't remove it


这里是将你之前错误的部分全部去除，你之前为了项目的正确，找了许多乱七八糟的东西，导致问题越来越难解决的


保持最简单的东西是正确的，在正确的道路上前进


# Specs execution successful
:scroll: [View logs](http://bamboo.comnull)
### Plans updated

Bamboo specs have been successfully imported and the following plans have been updated.

Project | Plan | Build
---|---|---
[Test](http://bamboo.com/browse/TEST) | [Comment test](http://bamboo.com/browse/TEST-CTEST)  | :white_check_mark: [\#1](http://bamboo.com/browse/TEST-CTEST-1)
[New project](http://bamboo.com/browse/NEW) | [Disabled plan](http://bamboo.com/browse/NEW-DISABLED) **disabled** | :white_check_mark: [\#1](http://bamboo.com/browse/NEW-DISABLED-1)

### Deployments updated

Bamboo specs have been successfully imported and the following deployment projects have been updated.

|Deployment project |
----|
[Deployment test](http://bamboo.com/deploy/viewDeploymentProjectVersions.action?id=2162689)|


Created multidev environment [dgreat#pr-tandem4](https://dashboard.pantheon.io/sites/41cad7fe-472d-43a9-a470-d391b9622376#pr-tandem4).

[![Visit Site](https://raw.githubusercontent.com/pantheon-systems/ci-drops-8/0.1.0/data/img/visit-site-36.png)](https://pr-tandem4-dgreat.pantheonsite.io/)


can this optional error handling to retry allocation of LockedCache made optional? This could cause problem if the freed LockedCache is still needed


`deserialize`


![](https://github.trello.services/images/mini-trello-icon.png) [Main game screen](https://trello.com/c/fPdKHMDm/16-main-game-screen)


same issue with location of this mutex locking as above...


aggiunta


(Or is it me who is wrong…? https://github.com/paritytech/parity/pull/8654#pullrequestreview-127880365)


aggiunta 2


到这里项目终于在我的本地运行成功了


Softtek MMVM 20180625 Solución correcta con IIFE


这是产生加密参数的js文件


this should only be done on last engine for this app, otherwise may free lockedCache pool prematurely


Follow this link for more details
https://www.youtube.com/watch?v=GOpeBbfyb6s
I follow it and very good to follow


are these needed here?


Created multidev environment [sfgov#ci-541](https://dashboard.pantheon.io/sites/91d50373-c4cf-40e4-a646-cb73e16a140c#ci-541).

[![Visit Site](https://raw.githubusercontent.com/pantheon-systems/ci-drops-8/0.1.0/data/img/visit-site-36.png)](https://ci-541-sfgov.pantheonsite.io/)


Yes? Can we refeesh that info periodically at a lesser interval? Might be better than Doing this on every login since that information should not change often @vincent99


i'll answer this in two sep parts (and backwards), re: smrt/archiver:

- this may have been an oversight, but since generally speaking smrt will handle less records it hasn't come up as an issue (eg: when cif-hunters explode out more records, cif-router generally has to process more of them making performance an issue there).

- there's a `self.archiver.begin()` stmt in front of the create: https://github.com/csirtgadgets/csirtg-smrt-py/blob/master/csirtg_smrt/smrt.py#L284 which, without digging into the debug output may be working to our advantage (and the code just needs some re-factoring).

archiver was sort of a tag team effort with @JustinAzoff so it's possible we overlooked a few things batting it back and forth too. eg: the `def create` code doesn't really need the `commit` because it's technically happening within a higher level `commit`. would have to turn on more debugging to verify... then again; technically it's loading up less records vs what `cif-hunter` can produce, so that's why it might not have popped up on the radar too..

either way- something to make note of, fiddle and at-worst refactor a bit for sure.


大変申しわけありません、今さっき気づきました...


Thanks for clarifying, Krock.


@lserwatka Can you elaborate on the issues?


Créditos a Sebastián M.


On se fiche de ce que le client envoie lorsqu'il se connecte : on sait qu'il a besoin des infos des lobbies.


:smile:


Created multidev environment [pakmail-franchising#ci-24](https://dashboard.pantheon.io/sites/8a4447b4-69fe-419a-b0ba-20c6317d8b0c#ci-24).

[![Visit Site](https://raw.githubusercontent.com/pantheon-systems/ci-drops-8/0.1.0/data/img/visit-site-36.png)](https://ci-24-pakmail-franchising.pantheonsite.io/)


I'm confused -- it looks like you removed "readonly" but my system isn't generating "readonly".


:tada: Thanks!


Cool. Is the other syntax alright?


re: i think we're all agree'ing that the default behavior should be;

- batch insert first
- if fails, walk through and return (and log) the result

that said- go a-head and submit the PR and i'll get it merged and play with it on my end with my branch and we'll see if we can't accomplish both, make sense? don't wanna hold you up while i'm working through some of the logic.. :)


Yeah, the rest is OK


Ta wersja zadania przeszła pomyślnie wszelkie testy na SPOJu.

Błędy jakie występowały w pierwotnej wersji:

- Liczba wczytywana była jako string przez co ograniczenia spowodowane typem zmiennoprzecinkowym float (zapis) nie były brane pod uwagę. Zamiast tego, liczba wczytywana jest jako typ float, a następnie konwertowana na stringa.

- Zapis heksadecymalny nie był odpowiedni. Przykład, przy liczbie 5.5

Zapis który uzyskiwaliśmy:
41 0c cc cd

Zapis który powinniśmy uzyskać:
41 c cc cd

Funkcja toHex() usuwa teraz nieparzysty znak z zapisu, jeśli ten jest zerem.


The following doc(s) have been deployed to the [sgwpbacku](https://sgwpbacku-static-docs.pantheonsite.io/docs) Multidev environment:
- [/docs/modules-plugins-known-issues](https://sgwpbacku-static-docs.pantheonsite.io/docs/modules-plugins-known-issues)


##This is a markdown file


Yes.
We have a 500 channel limit on Discord. To prevent a single user from flooding the server with useless channels, we can assure this way that creating channels isn't abused.

8 doesn't seem like much, but it is a maximum of 8 you CREATED. In practice, most active people create five or six cc's with some buddies, and then create one or two conspiracy channels later on.
We can allow users to create more channels by creating a Game Master command that allows users to create an extra (given) amount of cc's. This will most likely not be necessary, however.


1. For consistency, use the same argument set like `az vm encryption enable`, and also add validations, say `kek` is provided but no `disk encryption vault` is provided.
2. A question, do we have to do this at `vm create`?


Tip planner?


maybe we should allow archiving CCs OTF, which frees up one of a player's CC slots


удобно управлять с помощью rxjs или не совсем понятно, для чего такой интерфейс используется?


The following doc(s) have been deployed to the [3807truste](https://3807truste-static-docs.pantheonsite.io/docs) Multidev environment:
- [/docs/settings-php](https://3807truste-static-docs.pantheonsite.io/docs/settings-php)


C# SelfHost


You can suppress the warning


randomPunctuation function was for another project


Like this with NoWarn on the PackageReference:

https://github.com/onovotny/SignService/blob/master/src/SignService/SignService.csproj#L46


Fixed. Thanks :P


I'm tempted to flash 4.14; have you noticed any difference between SFE and Offloading?


quite intresting whats status of it


this is ok.


Sounds good, though that is a Vyryn-task.

_(Which are tasks that are good ideas, but would not be approved by Vyryn as they're not really necessary to create a functional Werewolf Bot)_


if this is a protection issue, it's the `RObject` that needs to stay protected, e.g. :

```
RObject small_obj(wrap(small)) ;
...
LogicalVector::create( as<double>(small_obj) == (double)small, ...);
```


This is `payable` but I don't see you doing anything with `msg.value`. What's going on?


huh


Prueba, pasos para hacer un repositorio.


@ekg Hopefully this function produces the graph you're interested in


Do we want to create a special diagonal matrix storage type for the matrix that are multiple of the identity? Then matrix0 would just contain the unique value


Вобщем поиграл я в мод Echo of Misery (запускаю с HDD, не стал заливать на SSD). Мод построен на основе Call of Misery, но больше нагружен графической и скриптовой составляющими. Всплыли все "прелести" со звуком...
Самый яркий пример: переход с Армейских складов на Бар. При подходе к заставе Долга (в этот момент начинают прогружаться торговцы - несколько фризов подряд, продолжительностью по несколько секунд - HDD же), с матюгальником на их базе что то невообразимое начинает вытворяться... Предыдущее содержимое буферов начинает накладываться на более новое, последовательность буферов меняется местами, и т.д. и т.п. Это нужно слышать...
Вобщем самый беспроблемный функционал даёт старая, без всех этих фиксов, xrSound.dll + старый добрый soft_oal.dll 1.17.2, инициализирующийся через DS3D.
Со свежими же билдами (xrSound [пробовал эту правку, и другие из разных веток] и soft_oal [собирал из мастер-ветки, в разные моменты времени]) ситуация такая: чем свежее билд, тем больше артефактов/непотребностей при выводе звука, в совершенно разных местах игры :(

Забил я короче пытаться "впихнуть невпихуемое"... Надоело уже.


It seems to be an error, email is never given (also on a verified account email)
oAuth header seems to be sent uncorrectly, only the clientID hence the request so it still giving displayname, countviews etc but doesnt' return the email in the response
The url https://id.twitch.tv/oauth2/authorize?response_type=code&client_id=ikp9amliqu9d23wysppu6eahqu1w6l&redirect_uri=xxx&scope=user_read&state=xxxx
contains the v5 scope not the helix scope


Updated README.md


I'll change it to `time(NULL)` to keep the consistency.


Fixing the error with the wrong pointer to the receiving vector for single-process cases and rework boundary conditions.


Great to be reviving the Fluent adapter! I was just scrolling through and I noticed some `makelog` files. Maybe these are not needed?


![](https://github.trello.services/images/mini-trello-icon.png) [2018.06.25 XaviCodina EA_RSI](https://trello.com/c/xjx7qwcN/3-20180625-xavicodina-earsi)


OPN2 has much stronger logarithmic scale than OPL chips are has. It's needed more than just multiple to 2 to correctly adapt volumes designed for OPL3 into OPN2. Volume models are was available long time in libOPNMIDI's API and wasn't used in any software that uses it.


You have violated the order in which the repository should function:

Master and dev should not be touched, You must created a branch such as: bufix/xxx and feature/xxx and create a pull request to dev.

This commit shall be reverted.


This should be `require()`. Have a look over here for an explanation of the subtle difference. https://ethereum.stackexchange.com/questions/15166/difference-between-require-and-assert-and-the-difference-between-revert-and-thro/24185#24185

> it shouldn't be possible for the condition to evaluate to false.


Бинарные файлы никто в репозиторий не выкладывает. Они только занимают историю git. Обычно они собираются на CI, и если нужно только потом выкладываются.


LGTM


This also reverts 18b6a40.


Why this change?


We'll iterate a few times to explore some things. Let's start here.

Consider

```
constructor(address bobAddr, address carolAddr) public {
  bob = bobAddr;
  carol = carolAddr;
}
```

Now, you don't need the below setter functions.


Filtered committed binary files out of this repository with BFG repo-cleaner today


Refer to commit 84d7c1e for details.


What happens if the `credit` is an odd number?


Refer to commit d7fc705 for details.


CapsCase, because these are like constructors, so `LogAccountDebit`


I really like these commits . Really brings life to the world. Good job @ZenoX92


This also reverts fce638d.


3982683-EIRFormulatedWWHP (Myoldmopar) - i386-Windows-7-VisualStudio-14: OK (2931 of 2931 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.png) ![Test Badge](http://img.shields.io/badge/tests%20passed-100.0%25-green.png)


Сейчас большинство пакетов ставятся нормально, поэтому можно просто не стаивть крыжики и pakcage-lock не коммитить.


You're not handling actual money yet. Consider a more descriptive name and handling actual funds instead of just data passed in.
```
function splitFunds() public payable returns(bool success) {
  uint amount = msg.value / 2;
 ...
}
```


Refer to commit 0a097f7 for details.


This could be dangerous when there is money on deposit in the contract.


@davisagli Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.contentrules/48/violations
```
plone/app/contentrules/handlers.py:80:12: P002 found "hasattr", consider replacing it
plone/app/contentrules/handlers.py:82:12: P002 found "hasattr", consider replacing it
plone/app/contentrules/handlers.py:89:8: P002 found "hasattr", consider replacing it
plone/app/contentrules/handlers.py:92:8: P002 found "hasattr", consider replacing it
plone/app/contentrules/conditions/role.py:28:76: C812 missing trailing comma
plone/app/contentrules/conditions/role.py:46:59: C812 missing trailing comma
plone/app/contentrules/conditions/role.py:84:51: C812 missing trailing comma
plone/app/contentrules/conditions/role.py:105:51: C812 missing trailing comma
plone/app/contentrules/conditions/wftransition.py:28:68: C812 missing trailing comma
plone/app/contentrules/conditions/wftransition.py:29:10: C812 missing trailing comma
plone/app/contentrules/conditions/wfstate.py:28:63: C812 missing trailing comma
plone/app/contentrules/conditions/wfstate.py:29:10: C812 missing trailing comma
plone/app/contentrules/conditions/wfstate.py:46:59: C812 missing trailing comma
plone/app/contentrules/conditions/portaltype.py:33:72: C812 missing trailing comma
plone/app/contentrules/conditions/portaltype.py:34:10: C812 missing trailing comma
plone/app/contentrules/conditions/portaltype.py:60:50: C812 missing trailing comma
plone/app/contentrules/conditions/portaltype.py:79:16: P002 found "hasattr", consider replacing it
plone/app/contentrules/conditions/portaltype.py:98:34: C812 missing trailing comma
plone/app/contentrules/conditions/portaltype.py:119:26: C812 missing trailing comma
plone/app/contentrules/conditions/fileextension.py:31:22: C812 missing trailing comma
plone/app/contentrules/conditions/fileextension.py:49:50: C812 missing trailing comma
plone/app/contentrules/conditions/fileextension.py:90:78: C812 missing trailing comma
plone/app/contentrules/conditions/fileextension.py:113:78: C812 missing trailing comma
plone/app/contentrules/conditions/group.py:27:77: C812 missing trailing comma
plone/app/contentrules/conditions/group.py:45:60: C812 missing trailing comma
plone/app/contentrules/conditions/group.py:84:70: C812 missing trailing comma
plone/app/contentrules/conditions/group.py:105:70: C812 missing trailing comma
plone/app/contentrules/browser/elements.py:29:5: C901 'ManageElements.__call__' is too complex (12)
plone/app/contentrules/browser/elements.py:77:45: C812 missing trailing comma
plone/app/contentrules/browser/controlpanel.py:83:18: C812 missing trailing comma
plone/app/contentrules/browser/assignments.py:24:5: C901 'ManageAssignments.__call__' is too complex (14)
plone/app/contentrules/browser/assignments.py:154:54: C812 missing trailing comma
plone/app/contentrules/exportimport/rules.py:30:1: I004 isort found an unexpected blank line in imports
plone/app/contentrules/exportimport/rules.py:138:11: T000 Todo note found.
plone/app/contentrules/exportimport/rules.py:201:5: C901 'RulesXMLAdapter._initRules' is too complex (21)
plone/app/contentrules/tests/test_browser.py:2:80: E501 line too long (84 > 79 characters)
plone/app/contentrules/tests/test_action_logger.py:6:1: F401 'plone.app.testing.TEST_USER_ID' imported but unused
plone/app/contentrules/tests/test_rule_assignment_mapping.py:7:1: F401 'plone.app.contentrules.tests.base.ContentRulesTestCase' imported but unused
plone/app/contentrules/tests/test_cascading_rule.py:3:80: E501 line too long (84 > 79 characters)
plone/app/contentrules/tests/test_traversal.py:4:1: I001 isort found an import in the wrong position
plone/app/contentrules/tests/test_traversal.py:5:1: I001 isort found an import in the wrong position
plone/app/contentrules/tests/test_action_mail.py:91:14: C812 missing trailing comma
plone/app/contentrules/tests/test_action_mail.py:240:73: C812 missing trailing comma
plone/app/contentrules/tests/test_events.py:8:11: T000 Todo note found.
plone/app/contentrules/tests/test_events.py:12:11: T000 Todo note found.
plone/app/contentrules/tests/test_condition_wftransition.py:68:18: C812 missing trailing comma
plone/app/contentrules/tests/test_condition_wftransition.py:83:18: C812 missing trailing comma
plone/app/contentrules/tests/test_condition_wftransition.py:98:18: C812 missing trailing comma
plone/app/contentrules/tests/test_action_delete.py:12:1: F401 'plone.app.testing.login' imported but unused
plone/app/contentrules/tests/test_action_delete.py:12:1: I001 isort found an import in the wrong position
plone/app/contentrules/tests/test_action_delete.py:13:1: F401 'plone.app.testing.TEST_USER_ID' imported but unused
plone/app/contentrules/tests/test_action_delete.py:13:1: I001 isort found an import in the wrong position
plone/app/contentrules/tests/test_action_delete.py:14:1: F401 'plone.app.testing.TEST_USER_NAME' imported but unused
plone/app/contentrules/tests/test_action_delete.py:14:1: I001 isort found an import in the wrong position
plone/app/contentrules/tests/test_action_delete.py:15:1: F401 'plone.app.testing.setRoles' imported but unused
plone/app/contentrules/tests/test_action_delete.py:15:1: I001 isort found an import in the wrong position
plone/app/contentrules/tests/test_configuration.py:90:80: E501 line too long (85 > 79 characters)
plone/app/contentrules/tests/test_configuration.py:210:80: E501 line too long (92 > 79 characters)
plone/app/contentrules/tests/test_action_workflow.py:70:14: C812 missing trailing comma
plone/app/contentrules/tests/test_action_workflow.py:89:14: C812 missing trailing comma
plone/app/contentrules/actions/copy.py:85:45: C812 missing trailing comma
plone/app/contentrules/actions/copy.py:86:18: C812 missing trailing comma
plone/app/contentrules/actions/copy.py:126:56: C812 missing trailing comma
plone/app/contentrules/actions/move.py:54:52: C812 missing trailing comma
plone/app/contentrules/actions/move.py:91:18: C812 missing trailing comma
plone/app/contentrules/actions/move.py:144:56: C812 missing trailing comma
plone/app/contentrules/actions/logger.py:22:60: C812 missing trailing comma
plone/app/contentrules/actions/logger.py:50:10: C812 missing trailing comma
plone/app/contentrules/actions/logger.py:94:18: C812 missing trailing comma
plone/app/contentrules/actions/mail.py:39:22: C812 missing trailing comma
plone/app/contentrules/actions/mail.py:45:57: C812 missing trailing comma
plone/app/contentrules/actions/mail.py:47:23: C812 missing trailing comma
plone/app/contentrules/actions/mail.py:53:67: C812 missing trailing comma
plone/app/contentrules/actions/mail.py:55:22: C812 missing trailing comma
plone/app/contentrules/actions/mail.py:59:80: C812 missing trailing comma
plone/app/contentrules/actions/mail.py:64:22: C812 missing trailing comma
plone/app/contentrules/actions/mail.py:102:5: C901 'MailActionExecutor.__call__' is too complex (13)
plone/app/contentrules/actions/mail.py:106:74: C812 missing trailing comma
plone/app/contentrules/actions/mail.py:129:78: C812 missing trailing comma
plone/app/contentrules/actions/mail.py:152:19: C812 missing trailing comma
plone/app/contentrules/actions/mail.py:165:19: T000 Todo note found.
plone/app/contentrules/actions/mail.py:176:78: C812 missing trailing comma
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


LaserDriver::changeIntensity(LASER_PWM_MAX);

sets it on, and

LaserDriver::changeIntensity(0);

Turns it off. Our default implementation has no working intensity, you need to write own laser driver to be able to set intensity.

Problem with full intensity is that you can not use it really well to set laser focus. And you need at least very good protection for your eyes.


FYI, @jiro412j

See commit message.


this is ok.


unnecessary for the purposes of this website


Unhandled Failure


what about using `request.op.expectsResponse` to decide? Notably, if I understand the issue correctly, you'd also lock for `GetMore` if you changed it in this way.


They were only templates, the validator gives an error if there is no oob


TeamCity Architecture Team :: Java Platform :: otj-logging :: otj-logging [Build 142](https://teamcity.otenv.com/viewLog.html?buildId=8798697&buildTypeId=ArchitectureTeam_JavaPlatform_OtjLogging_OtjLogging) is now running


sample small DBpedia file for PowerIterationClustering


TeamCity Architecture Team :: Java Platform :: otj-logging :: otj-logging [Build 142](https://teamcity.otenv.com/viewLog.html?buildId=8798697&buildTypeId=ArchitectureTeam_JavaPlatform_OtjLogging_OtjLogging) outcome was **SUCCESS**
Summary: Tests passed: 15 Build time: 00:01:10


@tomjebo Any clarification on that? Still nothing on NuGet yet.


+Live Project : https://shubham0794x.github.io/Udacity-pixel-art-maker/
 +
  # Pixel Art Maker Project

  ## Build

![screenshot 21](https://user-images.githubusercontent.com/40573618/41864276-491860d0-78a1-11e8-9f23-3822a277f43c.png)


@jtjeferreira as I understand the wire protocol, all other commands are not responded to and the user is expected to call `getLastError` to know the results.


Вот если написать "private": true, то можно половину полей не писать - они по большей части нужны, если в npm нужно выкладывать пакет.


typo: `exclusive`


TeamCity Architecture Team :: Java Platform :: otj-kafka :: BuildTest [Build 188](https://teamcity.otenv.com/viewLog.html?buildId=8798707&buildTypeId=ArchitectureTeam_JavaPlatform_OtjKafka_BuildTest) is now running


After some testing, I thought this was an unnecessary, redundant check. I revert this change and retain it for the time being because I believe it is contributing to a new error when grazing is on:

ERROR: PGMR: Indiv Count out of sync in _delete()


No matter how hard I try, I can't reproduce it here. I pulled and rebuilt several times, tried different resolutions and settings to no avail.


Thinking about the serialization/deserialization and mapping issues, I'm thinking it'd be good for this manager to return its own ScheduledActivityModel. This would keep ActivityManager better encapsulated in case we do something like move to a /v4/activities API


3982683-EIRFormulatedWWHP (Myoldmopar) - x86_64-Linux-Ubuntu-14.04-cppcheck-1.61: OK (0 of 0 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.png)


TeamCity Architecture Team :: Java Platform :: otj-kafka :: BuildTest [Build 188](https://teamcity.otenv.com/viewLog.html?buildId=8798707&buildTypeId=ArchitectureTeam_JavaPlatform_OtjKafka_BuildTest) outcome was **SUCCESS**
Summary: Tests passed: 9 Build time: 00:01:11


TeamCity Architecture Team :: Java Platform :: otj-filterorder :: BuildTest [Build 39](https://teamcity.otenv.com/viewLog.html?buildId=8798716&buildTypeId=ArchitectureTeam_JavaPlatform_OtjFilterorder_BuildTest) is now running


TeamCity Architecture Team :: Java Platform :: otj-filterorder :: BuildTest [Build 39](https://teamcity.otenv.com/viewLog.html?buildId=8798716&buildTypeId=ArchitectureTeam_JavaPlatform_OtjFilterorder_BuildTest) outcome was **SUCCESS**
Summary: Tests passed: 7 Build time: 00:00:20


Which means its pointless to keep


but if my my write operation takes a lot of time, I want that channel to be locked so that read operations are not queued there...


Кошмаааар))) Не br, так класс br)


/u/octokit's fix


Вот эти крыжики можно не ставить.


TeamCity Architecture Team :: Java Platform :: otj-metrics :: BuildTest [Build 220](https://teamcity.otenv.com/viewLog.html?buildId=8798728&buildTypeId=ArchitectureTeam_JavaPlatform_OtjMetrics_BuildTest) is now running


Created multidev environment [online-orientation#ci-101](https://dashboard.pantheon.io/sites/714bd05e-1a33-4f35-93a2-e9d6add67063#ci-101).

[![Visit Site](https://raw.githubusercontent.com/pantheon-systems/ci-drops-8/0.1.0/data/img/visit-site-36.png)](https://ci-101-online-orientation.pantheonsite.io/)


738, 739. Why the script to tie to github? Through the channel, you can safely upload the replaced script without the user's knowledge


TeamCity Architecture Team :: Java Platform :: otj-metrics :: BuildTest [Build 220](https://teamcity.otenv.com/viewLog.html?buildId=8798728&buildTypeId=ArchitectureTeam_JavaPlatform_OtjMetrics_BuildTest) outcome was **SUCCESS**
Summary: Tests passed: 34 Build time: 00:01:33


Better than committing provaCommit.txt


😩 They're slowly implementing the AdminToolbox plugin into the game itslef


Where do you see save to disk? This only checks github content to get hash and print a message.


fixws #16


fixes #16


But it's a (correct!) hack that should have a FIXME added to it.


The only issue I can think of with this approach is that we are attaching promise value handlers on what might be a user-created promise without going through the indirection of calling "then" on that promise object.

In the following scenario:

```js
async function f() {
  let promise = Promise.resolve(1);
  promise.then = function(...args) {
    console.log('then called');
    return Promise.prototype.then.apply(this, args);
  };
  await promise;
}
```

Would expect the overridden "then" method to be called?


line 1672 of sql/scriptdev2/scriptdev2.sql requires changing **;** to a **,** to accommodate added lines to end of existing INSERT.


@isonil  Greetings. In the current version (1.0.1941) the tags you generated do not work. I applied the RimTrans and generated these that work. I just put this as proof. Do you know what is due?


Wie ich eben leider feststellen musste hat der xg Tag doch eine Bedeutung. Er verhindert die Verlinkung.

Z. B. um  zu verhindern, dass man wenn man Stark ist, nicht die Inspiration Stark verlinkt wird.


### Задача
![
f_1 (x,y)=0.2(x-70)^2+0.8(y-20)^2→min;
f_2 (x,y)=0.2(x-10)^2+0.8(y-70)^2→min;
(0≤x≤79 and 0≤y≤79)
](https://user-images.githubusercontent.com/31689842/41864397-8bdf9256-78b2-11e8-85c5-182dc979733d.png)

### Этапы решения задачи

1. Выбираем длину хромосомы
2. Выбираем размер популяции
3. Выбираем метод кодирования генетической информации (выбран бинарный код Грея)
4. Выбираем тип кроссовера (выбран многоточечный кроссовер)
5. Выбираем тип и вероятность мутации (выбран многоточечная мутация с вероятностью 2%)
6. Запускаем репродуктивный план Холланда

### Начальные условия реализации

Длина хромосомы – 200;
Размер популяции – 80 особей;
Метод кодирования – бинарный код Грея;
Тип кроссовера – многоточечный кроссовер;
Тип мутации – многоточечная мутация;
Вероятность мутации – 0.02;

### Начальные условия программы
```
epoch = 30                             — кол-во циклов
rarity_mutation = 50                   — редкость мутации
population_size = 80                   — размер популяции
chromosome_size = 200                  — длина хромосомы
chromosome_min_value = 0               — минимальный порог значения хромосомы
chromosome_max_value = 79              — максимальный порог значения хромосомы

Популяция заданная в бинарном коде Грея (БКГ)
population = np.random.randint(2, size=(population_size, chromosome_size))

Функция 1 и функция 2
f1 = lambda x, y: 0.2 * (x - 70) ** 2 + 0.8 * (y - 20) ** 2
f2 = lambda x, y: 0.2 * (x - 10) ** 2 + 0.8 * (y - 70) ** 2
```
### Результат работы программы
![default](https://user-images.githubusercontent.com/31689842/41864066-5428d440-78b1-11e8-8b37-231731439be1.png)


Perfect
fixed an issue with final crafts checking removing some ingredients

Now its good. Thank you!


Integrated config is the de facto standard at this point; docs recommending individual config files are most likely out of date at this point. Significant work on a major upgrade + update to the docs was undertaken relatively recently so we are still working on getting everything consistent. Thanks for following up :)


Ah, right. Sorry to bother you.


1. alt точно не нужен, он только будет мешать.
2. width, height - пишут в CSS-классах.
3. img обладает рядом косяков - проще сделать div с background-image.


Este commit se hizo hasta el día Viernes 22 de Junio, 2 días después de la fecha de entrega de los ejercicios 👎


Created multidev environment [online-orientation#pr-12](https://dashboard.pantheon.io/sites/714bd05e-1a33-4f35-93a2-e9d6add67063#pr-12).

[![Visit Site](https://raw.githubusercontent.com/pantheon-systems/ci-drops-8/0.1.0/data/img/visit-site-36.png)](https://pr-12-online-orientation.pantheonsite.io/)


Aha, gut, dass das dokumentiert ist … Überraschungen enthält das Textsystem, kannst dir gar nicht ausdenken …


у тебя вроде в колоде есть эти две константы, зачем дублировать ?


@UrielCh Your commit **breaks** at least passport-local. It is not possible to have multiple constructors with same parameter count and different types in JavaScript and TypeScript. The last one wins.

What you can do is `constructor(options: IStrategyOptions | IStrategyOptionsWithRequest, verify: VerifyFunction);`

https://github.com/DefinitelyTyped/DefinitelyTyped/commit/78c6283deb68095e714e3dd394c4027644ba2ee2#diff-8e6532094729e93dacd230e3977cc7c0

With your constant true/false types you'll get an error if you'd like to set passReqToCallback property...
```
Argument of type 'IStrategyOptionsWithRequest' is not assignable to parameter of type 'IStrategyOptions'.
  Types of property 'passReqToCallback' are incompatible.
    Type 'true' is not assignable to type 'false'.
```

**As it was before your commit it is not correct in the sense of typing, because of constructors.
IStrategyOptionsWithRequest is always "casted" to an IStrategyOptions.
But it works, because you can set the property and the tests are also for undefined property. So it doesn't matter if false or undefined.**

With your patch passReqToCallback is required on IStrategyOptionsWithRequest but you have to set it to true.
And the internal cast to IStrategyOptions doesn't work because of properties 'passReqToCallback' are incompatible.


Oh neat thanks!~


This is a catchall.
IOException will never be thrown as expressed in the method signature.


лучше все же инстанс-переменую
колода же новая на каждую игру, вполне логично, что это каждый раз новый инстанс класса колода


This is the error

GrammarResolver failed to resolve a text (rootKeyword: r_seed)
Includes:
  SeedGenerator

0 ->[r_seed] UNRESOLVABLE: Cannot resolve subsymbol 'r_seed'
Verse.Log:Error(String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:78)
Verse.Log:ErrorOnce(String, Int32, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:105)
Verse.Grammar.GrammarResolver:Resolve(String, GrammarRequest, String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Grammar\GrammarResolver.cs:321)
Verse.Grammar.GrammarResolver:Resolve(String, GrammarRequest, String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Grammar\GrammarResolver.cs:305)
Verse.GenText:RandomSeedString() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Gen\Text\GenText.cs:231)
RimWorld.Page_CreateWorldParams:Reset() (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\Entry\Page_CreateWorldParams.cs:53)
RimWorld.Page_CreateWorldParams:PreOpen() (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\Entry\Page_CreateWorldParams.cs:40)
Verse.WindowStack:Add(Window) (at C:\Dev\RimWorld\Assets\Scripts\Verse\UI\Windows\WindowStack.cs:339)
RimWorld.Page:DoNext() (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\Entry\Page.cs:114)
RimWorld.Page:DoBottomButtons(Rect, String, String, Action, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\Entry\Page.cs:86)
RimWorld.Page_SelectStoryteller:DoWindowContents(Rect) (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\Entry\Page_SelectStoryteller.cs:36)
Verse.<WindowOnGUI>cAnonStorey0:<>m0(Int32) (at C:\Dev\RimWorld\Assets\Scripts\Verse\UI\Windows\Window.cs:202)
UnityEngine.GUI:CallWindowDelegate(WindowFunction, Int32, Int32, GUISkin, Int32, Single, Single, GUIStyle) (at C:\buildslave\unity\build\Runtime\IMGUI\Managed\GUI.cs:1817)


создание правильней из инишиалайза вытащить в приватный метод, который из инишиалайза вызвать


3982683-EIRFormulatedWWHP (Myoldmopar) - x86_64-MacOS-10.9-clang: OK (2929 of 2931 tests passed, 9 test warnings)

Messages:

 * 8 tests had: AUD diffs.
 * 2 tests had: BND diffs.
 * 2 tests had: MDD diffs.
 * 2 tests had: MTD diffs.
 * 1 test had: MTR small diffs.
 * 2 tests had: RDD diffs.
 * 2 tests had: Table big diffs.
 * 1 test had: ERR diffs.

Failures:

regression Test Summary
 * Passed: 621
 * Failed: 2

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.png) ![Test Badge](http://img.shields.io/badge/tests%20passed-99.93%25-yellow.png)


Can you also update the NPM repo please?


So what's desirable is that the `^. equat` performs what the hack does, correct?


И col-xs-12 тогда уж


Yep, your system isn't generate this attribute.
I added it in [this commit](https://github.com/AtomicKotlin/AtomicKotlin-hugo/pull/1/commits/5c40f6be1d104bad34fc22f57c73c73e57facc0f)