Unable to connect a Subnet (that has previously been connected to a deleted App Service and App Service Plan) to a newly created App Service using VNET Integration (Preview)

Azure Technology:  App Service (on Windows) - New VNET Integration (Preview)
Published Documentation Article: https://docs.microsoft.com/en-gb/azure/app-service/web-sites-integrate-with-vnet#new-vnet-integration
Feedback:
Hi everyone,
We are unable to add VNET integration to our new App Service and App Service plan, as the subnet is already occupied by a previous app service plan it was integrated with, (that we've since deleted).
We've submitted a Support Request to Microsoft, but as the VNET Integration feature is still in preview, we're wondering if anyone else has experienced similar issues?
Additional steps we've taken so far:

We've even tried deleting the resource group the old app service and app service plan was in, but still have no success.

Next, we tried deleting the subnet with the intention of recreating it, then adding VNET integration to our app service. However, we've had no success with deleting the subnet either, experiencing the same issue as described in November 2018, in this post:

https://social.msdn.microsoft.com/Forums/officeocs/en-US/6979fdac-e20b-4801-beb8-b09ce846ec54/unable-to-delete-vnet-or-subnet?forum=WAVirtualMachinesVirtualNetwork
To recreate this issue:

Create a VNET and add a new subnet
Create an App Service Plan and App Service
3)Under networking on the App Service, add it to the subnet you created, using VNET Integration (Preview)
Delete the App Service and App Service Plan
Wait for both to delete, then repeat step 2 and 3. It’ll fail, saying that the subnet is already occupied by the old App Service and plan.

Document details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: a7a98803-1438-b1b5-f543-7dd88bc4294e
Version Independent ID: 37ff1d0f-ed8e-5e4d-1f4c-1b9f6cffb938
Content: Integrate app with Azure Virtual Network - Azure App Service
Content Source: articles/app-service/web-sites-integrate-with-vnet.md
Service: app-service
GitHub Login: @ccompy
Microsoft Alias: ccompy

This issue belongs here: https://github.com/MicrosoftDocs/azure-docs/issues?q="37ff1d0f-ed8e-5e4d-1f4c-1b9f6cffb938"+is%3Aopen

Thanks for the feedback and bringing this to our notice . At this time we are reviewing the feedback and will update the document as appropriate .

@AidanTfL Have you been able to reproduce this issue, or is it a specific issue with one of your Virtual Networks?

@AidanTfL Have you been able to reproduce this issue, or is it a specific issue with one of your Virtual Networks?

I believe the issue occurred due to a bug in Azure, where the App Service and App Service Plan hadn't been 100% deleted.
This issue is a known issue with the 'New VNET Integration (Preview)' feature to the App Service Engineer team.
By making a support request within the portal, we were able to get this fixed within our subscriptions.
If anyone has a similar issue, you can raise a support request via Portal or<EMAIL_ADDRESS>to be granted a one-time free Technical support request.


Join Backfill Kapacitor Issues

https://docs.influxdata.com/kapacitor/v1.3/guides/join_backfill/
Some things I had trouble with while going through the example:

There are scripts to generate example data but they are only linked to at the bottom. They should be at the top so that users can follow along with their own
The script to generate data are horribly out of date and do not work on influxdb 1.3.x. the influx_stress command is out of date and even when you update to use the -config option, it segfaults
We should mention in the groupBy part of the description how join handles tags. I had issues with tag values not matching exactly and my join was not working.

I've rewritten this document and have replaced the data generation with a python script.  However, this was done in a branch from kapa-1.4.  I was waiting for the 1.5 release before merging.  Which will be done in the next day or so.
https://github.com/influxdata/docs.influxdata.com/tree/issue1314


Updating travis provisioner

Travis will now be more resilient to composer self-update failures

bump

Tests are failing, yo!

Unrelated @assertchris

ping @assertchris :)

Please rebase - I've fixed the tests.

ping @assertchris


simplify fetching of unstable github archives (python modules)

Instead of using the custom python3-whl.bbclass, we can simply use existing infrastructure and point bitbake at the git repository.

Looks good and seems to run fine. Thanks.


Error loading script: Script error for "vega-embed" http://requirejs.org/docs/errors.html#scripterror in visualize.ipynb

I ran all the cells from visualize.ipynb, on the last cell it's giving me an error
Last cell: -
chart = visualize(df, history, title=test_stock)
chart

error: -
Error loading script: Script error for "vega-embed" http://requirejs.org/docs/errors.html#scripterror

Something to do with vega-embed, I can't find what is causing the problem. I also tried the URL
http://requirejs.org/docs/errors.html#scripterror it showing something related to javascript. I don't know how to debug this error.
SCRIPT ERROR
§ 7
This occurs when the script.onerror function is triggered in a browser. This usually means there is a JavaScript syntax error or other execution problem running the script. To fix it, examine the script that generated the error in a script debugger.

This error may not show up in IE, just other browsers, and instead, in IE you may see the No define call for ... error when you see "Script error". This is due to IE's quirks in detecting script errors.

It is now working, I don't know what caused the problem thanks anyways. I will close the issue


Double scan on iOS

Hi, great job.
CameraView_OnDetected is fired two times (sometimes even more than two) on iOS (android works fine).
You can reproduce it in the Sample App.
If I may, I'll suggest to fire CameraView_OnDetected in the Main Thread.
Thank you,
Dottor Pagliaccius

@DottorPagliaccius
Thank you. I moved the event action part to UIThread now.
  InvokeOnMainThread(() => {
                    CaptureSession.StopRunning();
                    this.OnDetected?.Invoke(list);
                });

Previously
this.OnDetected?.Invoke(list);
CaptureSession.StopRunning();

For the bugs, I made below change and tested the situation is not occurring in my iPhone 11.
I am not sure about the case is solved not or.

My device is an iPhone 7 with iOS 13.3, sadly I've no chance to test it with other device at the moment. I will try the new version and let you know.
I think it should fired in the Main Thread in Android too.
Thank you.

nope, just tried the new version, in the sample app scan fires multiple events :/

@DottorPagliaccius
Updated the onDetected event will run on UIThread for both platform now.
Do you have any hints about what is the step of firing multiple event?
The situation is not happening on my side and I cannot debug it

Finally I note that it is because DidOutputSampleBuffer is calling very often.
Hopefully I can try to solve it

Added 1 second interval on DidOutputSampleBuffer
Hopefully it solves the bug.
Available on <IP_ADDRESS>


[R] LightGBM uses a lot of RAM when #feature and #leaves are both large

I ran LightGBM on a very big dataset. It is twice faster than xgboost. But for comparing both, I am building from all the dataset and using all the features, in contrary to LightGBM default behavior.
Dataset properties:

2,250,000 observations
23,636 features

(Committed) RAM usage:

LightGBM: 164GB (173GB when building from 100000 observations using bin_construct_sample_cnt only)
xgboost fast histogram: 63GB
xgboost exact: 25GB (not sure, but it didn't use a lot)

Time per iteration (seems a big dataset fixes issue #542, but this one is really big...):

LightGBM: 8-12 seconds
xgboost fast histogram: 16-20 seconds
xgboost exact: 90 seconds (gave up)

I think with MinGW, the dataset must be really large for LightGBM to scale well. Otherwise, we see the overhead issue with multithreading (and LightGBM ends up with the same speed of xgboost or is worse).
Now the issue is LightGBM using so much RAM... it uses 54GB RAM, swaps, and commits a total of approx 170,000,000 bytes. In the case of xgboost, as I capped to 54GB RAM it swaps but it's unnoticeable at all thanks to RAID 0 2Gbps NVMe drives (adding more RAM just made the histogram faster, the training was not faster).
I can provide you the building scripts for the dataset if you need to reproduce it. It takes about 30 minutes to prepare them.
I am using:

255 bins (intentional)
depth of 10
number of leaves of 1023
8 threads

@Laurae2 try the parameter histogram_pool_size

@Laurae2
Can you save the dataset to binary format, and give me its size?
I think the memory consuming here is used for the histogram cache. it needs about   num_leaves * 20Bytes * num_features * num_bins.
You also can try to reduce the num_leaves, and see how much it costs.

@guolinke
binary dataset: 1,499,944 KB
with histogram_pool_size = 16384 it manages to keep under 54GB RAM.
When num_leaves decreases, the RAM required decreases exponentially. I think I'll drop some of my tests on this big dataset.
With num_leaves = 255, drops to 65GB RAM required.

@Laurae2
So the dataset only caused 1GB memory.
And the histogram cache is 1.6GB when set histogram_pool_size=16384.
I am not sure what cause these 50GB+ memories...
Did you run it by R-package? can you try it with the CLI version(you can use the binary dataset) ?

@Laurae2 can you give me the reproduce dataset ?

@guolinke Do you have an email address where I can send you a link to the file?

send it to<EMAIL_ADDRESS>

@guolinke I think 10GB is caused by the data in memory, but the rest I am not sure what it is.
Do you know if it is possible to do this in R?:

Remove the original dataset while being able to train (like training from a binary file, but directly in memory)
Predict from lgb.Dataset instead of using the original dataset

@Laurae2
can you give the memory usage before calling lgb.train ?
BTW, we cannot predict from lgb.Dataset .

@Laurae2
I debugged on your dataset, some information:

Cost of Dataset: about 7GB.
Cost of other data structure: about 2GB
Cost of histogram cache: set by histogram_pool_size.

I run it on visual studio and mingw, parameter: data=train.bin app=binary histogram_pool_size=1024 .
they both cost about 8GB memory.
Another thing is: The binary dataset you build seems is by V2.0 version, not the master version.
Can you delete all local code, and re-build for the master branch version?

I'll recompile with master branch and come back in 2 days when server is free (no idea why it keeps using old LightGBM, I think the dll didn't get freed as I encounter this issue a lot - going to wipe the folder instead of trusting the reinstall for it from now).

can you give the memory usage before calling lgb.train ?

Approximately 8GB if I remember (+2GB of Windows).

@Laurae2
can you share your R script for the reproducing?

@guolinke Check here: https://github.com/Laurae2/gbt_benchmarks/tree/master/zzz_new
It is the "reput" dataset. You can run the Creator scripts manually if you want to recreate the dataset, then you can manually run the "code" script to run benchmark.
I can try to provide you easier script when I finish work for training model if needed.

@guolinke Download data from here: http://www.sysnet.ucsd.edu/projects/url/ (200MB)
R script for creating dataset:
# SET YOUR WORKING DIRECTORY
# setwd("C:/")

# Libraries
library(sparsity) # devtools::install_github("Laurae2/sparsity")
library(Matrix)
library(tcltk)
library(R.utils)

data <- read.svmlight(paste0("../data/reput/Day0.svm"))
data$matrix@Dim[2] <- 3231962L
data$matrix@p[length(data$matrix@p):3231963] <- data$matrix@p[length(data$matrix@p)]
data$matrix <- data$matrix[1:(data$matrix@Dim[1] - 1), ]
label <- (data$labels[1:(data$matrix@Dim[1])] + 1) / 2
data <- data$matrix

new_data <- list()

for (i in 1:120) {
  indexed <- (i %% 10) + (10 * ((i %% 10) == 0))
  new_data[[indexed]] <- read.svmlight(paste0("../data/reput/Day", i, ".svm"))
  new_data[[indexed]]$matrix@Dim[2] <- 3231962L
  new_data[[indexed]]$matrix@p[length(new_data[[indexed]]$matrix@p):3231963] <- new_data[[indexed]]$matrix@p[length(new_data[[indexed]]$matrix@p)]
  new_data[[indexed]]$matrix <- new_data[[indexed]]$matrix[1:(new_data[[indexed]]$matrix@Dim[1] - 1), ]
  label <- c(label, (new_data[[indexed]]$labels[1:(new_data[[indexed]]$matrix@Dim[1])] + 1) / 2)

  if ((i %% 10) == 0) {

    data <- rbind(data, new_data[[1]]$matrix, new_data[[2]]$matrix, new_data[[3]]$matrix, new_data[[4]]$matrix, new_data[[5]]$matrix, new_data[[6]]$matrix, new_data[[7]]$matrix, new_data[[8]]$matrix, new_data[[9]]$matrix, new_data[[10]]$matrix)
    gc(verbose = FALSE)

    cat("Parsed element 'Day", i, ".svm'. Sparsity: ", sprintf("%05.0f", as.numeric(data@Dim[1]) * as.numeric(data@Dim[2]) / length(data@i)), ":1. Balance: ", sprintf("%04.02f", length(label) / sum(label)), ":1.\n", sep = "")

  }

}

# Save to RDS
gc()
saveRDS(data, file = "../data/reput_sparse.rds", compress = TRUE)

# Save labels
saveRDS(label, file = "../data/reput_label.rds", compress = TRUE)

# Clean up stuff
rm(list = ls())
gc()

# Select 29006 columns most dense
new_data <- data[1:2396130, (data@p[2:3231963] - data@p[1:3231962]) >= 100]

# Select 23636 columns least dense
new_data <- new_data[1:2396130, (new_data@p[2:29007] - new_data@p[1:29006]) <= 1000]

# Denegative
long_bar <- tkProgressBar(title = "Denegative Parsing", label = "Denegative Parsing: 00000 / 23636\nETA: unknown\n0,000,000 / 6,843,679 elements", min = 0, max = 23636, initial = 0, width = 500)
old_many <- 1
sparse_i <- numeric(6843679)
sparse_j <- numeric(6843679)
sparse_x <- numeric(6843679)
current_time <- System$currentTimeMillis()
for (i in 1:23636) {
  which_zeroes <- (which(new_data[, i] != 0))
  new_many <- old_many + length(which_zeroes)
  which_data <- new_data[which_zeroes, i]
  sparse_i[old_many:(new_many - 1)] <- which_zeroes
  sparse_j[old_many:(new_many - 1)] <- i
  set.seed(i)
  sparse_x[old_many:(new_many - 1)] <- runif(length(which_zeroes), min = 1.5, max = 2.5)
  old_many <- new_many
  new_time <- System$currentTimeMillis()
  setTkProgressBar(pb = long_bar, value = i, label = paste0("Denegative Parsing: ", sprintf("%05d", i), " / 23636\nETA: ", sprintf("%05.03f", (new_time - current_time) / 1000), "s / ", sprintf("%05.03f", ((new_time - current_time) / i) * 23636 / 1000), "s\n", formatC(old_many - 1, big.mark = ",", digits = 6, flag = 0, format = "d"), " / 6,843,679 elements"))
}
close(long_bar)
gc()

# Save data
saveRDS(new_data, file = "../data/reput_sparse_23636.rds", compress = TRUE)
saveRDS(sparse_i, file = "../data/reput_sparse_i.rds", compress = TRUE)
saveRDS(sparse_j, file = "../data/reput_sparse_j.rds", compress = TRUE)
saveRDS(sparse_x, file = "../data/reput_sparse_x.rds", compress = TRUE)

# Clean up stuff
rm(list = ls())
gc()

data <- readRDS(file = "../data/reput_sparse_23636.rds")
sparse_i <- readRDS(file = "../data/reput_sparse_i.rds")
sparse_j <- readRDS(file = "../data/reput_sparse_j.rds")
sparse_x <- readRDS(file = "../data/reput_sparse_x.rds")
label <- readRDS(file = "../data/reput_label.rds")

# Signal Destruction
long_bar <- tkProgressBar(title = "Signal Destruction", label = "Signal Destruction: 00000 / 23636\nETA: unknown\n000,000,000 / 761,966,607 elements", min = 0, max = 23636, initial = 0, width = 500)
old_many <- 6843680
new_sparse_i <- numeric(6843679 + 31948 * 23636)
new_sparse_j <- numeric(6843679 + 31948 * 23636)
new_sparse_x <- numeric(6843679 + 31948 * 23636)
new_sparse_i[1:6843679] <- sparse_i
new_sparse_j[1:6843679] <- sparse_j
new_sparse_x[1:6843679] <- sparse_x
instanced <- 1:2396130
current_time <- System$currentTimeMillis()
for (i in 1:23636) {
  set.seed(i)
  which_zeroes <- sample((1:2396130)[-sparse_i[(data@p[i] + 1):(data@p[i + 1])]], 31948, replace = FALSE)
  new_many <- old_many + 31948
  which_data <- runif(31948, min = 1, max = 3)
  new_sparse_i[old_many:(new_many - 1)] <- which_zeroes
  new_sparse_j[old_many:(new_many - 1)] <- i
  set.seed(i)
  new_sparse_x[old_many:(new_many - 1)] <- which_data
  old_many <- new_many
  new_time <- System$currentTimeMillis()
  setTkProgressBar(pb = long_bar, value = i, label = paste0("Signal Destruction: ", sprintf("%05d", i), " / 23636\nETA: ", sprintf("%05.03f", (new_time - current_time) / 1000), "s / ", sprintf("%05.03f", ((new_time - current_time) / i) * 23636 / 1000), "s\n", formatC(old_many - 1, big.mark = ",", digits = 8, flag = 0, format = "d"), " / 761,966,607 elements"))
}
close(long_bar)
gc()

# Clean up stuff
rm(data, sparse_i, sparse_j, sparse_x, label, instanced, long_bar, old_many, new_many, current_time, new_time, which_data, which_zeroes, i)
gc()

# Lower memory usage
new_sparse_i <- as.integer(new_sparse_i)
new_sparse_j <- as.integer(new_sparse_j)
gc()

# Generate real matrix
real_data <- sparseMatrix(i = new_sparse_i, j = new_sparse_j, x = new_sparse_x, dims = c(2396130L, 23636L))

# Save data
saveRDS(real_data, file = "../data/reput_sparse_final.rds", compress = TRUE)

Model training:
library(lightgbm)
library(Matrix)

setwd("E:/benchmark_lot/data")
my_data <- readRDS("reput_sparse_final.rds")
label <- readRDS("reput_label.rds")

my_train <- my_data[1:2250000, ]
my_train_label <- label[1:2250000]
my_test <- my_data[2250001:2396130, ]
my_test_label <- label[2250001:2396130]

train <- lgb.Dataset(data = my_train, label = my_train_label)
test <- lgb.Dataset(data = my_test, label = my_test_label)

gc()
set.seed(11111)
model <- lgb.train(params = list(num_threads = 8,
                                 learning_rate = 0.25,
                                 max_depth = -1,
                                 num_leaves = 1023,
                                 max_bin = 255,
                                 min_gain_to_split = 1,
                                 min_sum_hessian_in_leaf = 1,
                                 bagging_fraction = 1,
                                 bagging_freq = 1,
                                 bagging_seed = 1,
                                 feature_fraction = 1,
                                 min_data_in_leaf = 1,
                                 bin_construct_sample_cnt = 2250000L,
                                 early_stopping_round = 25,
                                 metric = "auc",
                                 histogram_pool_size = 16384),
                   train,
                   5,
                   list(test = test),
                   verbose = 2,
                   objective = "binary")

@Laurae2
Thanks, I will test it when my server is free.
BTW, Did you have the number of memory cost when set bin_construct_sample_cnt to a smaller number?

@guolinke Yes, with original dataset in memory (around 18GB), it was taking about 50+ GB.
You can use this if you want to work with binary datasets (should take 16+ GB less):
# SET YOUR WORKING DIRECTORY
# setwd("C:/")

# Libraries
library(data.table)
library(Matrix)
library(lightgbm)

# Do xgboost / LightGBM
train_sparse <- readRDS(file = "reput_sparse_final.rds")
label <- readRDS(file = "reput_label.rds")

# Split
train_1 <- train_sparse[1:2250000, ]
train_2 <- label[1:2250000]
test_1 <- train_sparse[2250001:2396130, ]
test_2 <- label[2250001:2396130]

# For LightGBM
lgb_train <- lgb.Dataset(data = train_1, label = train_2)
lgb_test <- lgb.Dataset(data = test_1, label = test_2)

# Train fake LightGBM model to use 2.25 million observations' columns
lgb.train(params = list(objective = "regression",
                        metric = "l2",
                        bin_construct_sample_cnt = 2250000L),
          lgb_train,
          1,
          list(train = lgb_train,
               test = lgb_test),
          verbose = 1)
lgb.Dataset.save(lgb_train, fname = "reput_train_lgb.data")
lgb.Dataset.save(lgb_test, fname = "reput_test_lgb.data")

And this for training with binary dataset:
# SET YOUR WORKING DIRECTORY
# setwd("C:/")

library(lightgbm)
library(Matrix)

train <- lgb.Dataset("reput_train_lgb.data")
test <- lgb.Dataset("reput_test_lgb.data")

gc()
set.seed(11111)
model <- lgb.train(params = list(num_threads = 8,
                                 learning_rate = 0.25,
                                 max_depth = -1,
                                 num_leaves = 1023,
                                 max_bin = 255,
                                 min_gain_to_split = 1,
                                 min_sum_hessian_in_leaf = 1,
                                 bagging_fraction = 1,
                                 bagging_freq = 1,
                                 bagging_seed = 1,
                                 feature_fraction = 1,
                                 min_data_in_leaf = 1,
                                 bin_construct_sample_cnt = 2250000L,
                                 early_stopping_round = 25,
                                 metric = "auc",
                                 histogram_pool_size = 16384),
                   train,
                   5,
                   list(test = test),
                   verbose = 2,
                   objective = "binary")

BTW, Did you have the number of memory cost when set bin_construct_sample_cnt to a smaller number?

No, it increased to 173GB instead of 164GB. Might be the fault of histogram (?)

@Laurae2 173GB is the result with 16384 histogram pool size?

@guolinke

164GB: 2.25M bin_construct_sample_cnt, no histogram_pool_size
173GB: 100K bin_construct_sample_cnt, no histogram_pool_size
approx 50GB: 2.25M bin_construct_sample_cnt, 16384 histogram_pool_size

Assumes loading from RDS, so you may have a difference of minus 8 to 20 GB.

@Laurae2
I met error when generate the dataset:
> new_data <- data[1:2396130, (data@p[2:3231963] - data@p[1:3231962]) >= 100]
Error: trying to get slot "p" from an object of a basic class ("function") with
no slots

Can you send me these two files?
train_sparse <- readRDS(file = "reput_sparse_final.rds")
label <- readRDS(file = "reput_label.rds")

@Laurae2 my result when set histogram_pool_size to 16384.

This is very similar to what I have. Did you try with CLI to check the RAM difference?

@Laurae2
CLI version:

It seems R's version has about 15GB overhead.

With R, with my default script (the one with RDS), you have the sparse dataset 2 times while having the binary dataset. Original dataset is about 8GB, so it matches the 15GB difference you have.

@Laurae2
using following also cost about 24GB:
library(lightgbm)
library(Matrix)

train <- lgb.Dataset("reput_train_lgb.data")
test <- lgb.Dataset("reput_test_lgb.data")

gc()
set.seed(11111)
model <- lgb.train(params = list(num_threads = 8,
                                 learning_rate = 0.25,
                                 max_depth = -1,
                                 num_leaves = 1023,
                                 max_bin = 255,
                                 min_gain_to_split = 1,
                                 min_sum_hessian_in_leaf = 1,
                                 bagging_fraction = 1,
                                 bagging_freq = 1,
                                 bagging_seed = 1,
                                 feature_fraction = 1,
                                 min_data_in_leaf = 1,
                                 bin_construct_sample_cnt = 2250000L,
                                 early_stopping_round = 25,
                                 metric = "auc",
                                 histogram_pool_size = 16384),
                   train,
                   5,
                   list(test = test),
                   verbose = 2,
                   objective = "binary")

But it still cost 38GB even after I free all data:
library(lightgbm)
library(Matrix)

my_data <- readRDS("reput_sparse_final.rds")
label <- readRDS("reput_label.rds")

my_train <- my_data[1:2250000, ]
my_train_label <- label[1:2250000]
my_test <- my_data[2250001:2396130, ]
my_test_label <- label[2250001:2396130]
rm(my_data)
rm(label)

train <- lgb.Dataset(data = my_train, label = my_train_label, free_raw_data=TRUE)
test <- lgb.Dataset(data = my_test, label = my_test_label, reference=train, free_raw_data=TRUE)
train$construct()
test$construct()
rm(my_train)
rm(my_train_label)
rm(my_test)
rm(my_test_label)

gc()
set.seed(11111)
model <- lgb.train(params = list(num_threads = 16,
                                 learning_rate = 0.25,
                                 max_depth = -1,
                                 num_leaves = 1023,
                                 max_bin = 255,
                                 min_gain_to_split = 1,
                                 min_sum_hessian_in_leaf = 1,
                                 bagging_fraction = 1,
                                 bagging_freq = 1,
                                 bagging_seed = 1,
                                 feature_fraction = 1,
                                 min_data_in_leaf = 1,
                                 early_stopping_round = 25,
                                 metric = "auc",
                                 histogram_pool_size = 16384),
                   train,
                   0,
                   list(test = test),
                   verbose = 2,
                   objective = "binary")

Not sure how R manage its memories, But it seems have some problems.

BTW, The auc result is very low in this dataset. Did you check the feature ?
Though this data is very sparse, I find many rows are dense ...

@guolinke does free_raw_data actually takes the dataset and builds the binary dataset?
I think it goes like this:

Data original created
lgb.Dataset created
lgb.Dataset constructed, but original data is not removed (RAM usage different from here)
rm original data
lgb.train builds something from the lgb.Dataset (probably binary dataset) which makes it sit twice in memory

But not sure about that as I don't know how memory evolves at each step. As you said, it may due to not freeing original data, but might also be due to training.

@Laurae2
After the dataset is built, the original data will be set to NULL : https://github.com/Microsoft/LightGBM/blob/master/R-package/R/lgb.Dataset.R#L255-L257 .
And there are not other reference to the this raw data.
And the original data is not used any more after consturct() .

AUC is very low intentionally (learning from 100-1000 elements per feature where there is about 1:100 signal (1) to noise (100) ratio), with nearly all best features removed (otherwise 0.9999+ AUC is meaningless to compare).
Objective is to check if it learns from 95% sparse noisy signals. Max AUC should be around 0.65.

@Laurae2
I think there are some other problems in this dataset. I am trying to fix it .

@Laurae2
After some investigates, I find this dataset strike the weakness (in sparse optimization) of LightGBM.
So, there are not other problems here.
And I think the speed result on this dataset will not be so good.

BTW, I think we can add a FAQ, for the users that meet the large memory consuming.

For the FAQ, yes.
About speed, in my quick tests it was 2x faster than xgboost, which was surprising. But I didn't test yet for AUC yet, and I will test only until depth 7 / 127 leaves due to RAM explosion.
Also, xgboost has crashes with binary dataset, while LightGBM doesn't. This dataset is a real toll on xgboost and LightGBM, probably one of the worst scenario for both of them.


Create modernized scrollbar

Task

Create modernized scrollbar as discussed at the meeting

Deliverables

New and improved scrollbar for the dashboard

From PR by @blankss:

Modernized scrollbar.


Sending to port other then 8009

Hey i have another script connecting to one of my google homes on port 8009
is it possible to send audio to all my google homes? and or can i send the data throuugh another unused port to my other google home in my room

@Dontmindmes what about making a speaker group to send audio to multiple devices? That should work, not?


nixUnstable: pre5943_52c777a7 -> pre5947_d26b71fd

Motivation for this change
Fixes the test failures on darwin.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[x] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Success on aarch64-linux (full log)
Partial log (click to expand)
running test tests/fetchGit.sh... [SKIP]
running test tests/fetchMercurial.sh... [SKIP]
running test tests/signing.sh... [PASS]
running test tests/run.sh... [PASS]
running test tests/brotli.sh... [PASS]
running test tests/pure-eval.sh... [PASS]
running test tests/check.sh... [PASS]
running test tests/plugins.sh... [PASS]
All tests succeeded
/nix/store/gsngsmwygg6kkcnqc2yx7qprajyf9k6r-nix-2.0pre5947_d26b71fd

Success on x86_64-darwin (full log)
Partial log (click to expand)
running test tests/fetchGit.sh... [SKIP]
running test tests/fetchMercurial.sh... [SKIP]
running test tests/signing.sh... [PASS]
running test tests/run.sh... [PASS]
running test tests/brotli.sh... [PASS]
running test tests/pure-eval.sh... [PASS]
running test tests/check.sh... [PASS]
running test tests/plugins.sh... [PASS]
All tests succeeded
/nix/store/a6xyq71kw1240v99cs69s2v8xyhs297c-nix-2.0pre5947_d26b71fd

Success on x86_64-linux (full log)
Partial log (click to expand)
running test tests/fetchGit.sh... [SKIP]
running test tests/fetchMercurial.sh... [SKIP]
running test tests/signing.sh... [PASS]
running test tests/run.sh... [PASS]
running test tests/brotli.sh... [PASS]
running test tests/pure-eval.sh... [PASS]
running test tests/check.sh... [PASS]
running test tests/plugins.sh... [PASS]
All tests succeeded
/nix/store/757w9561ckshc4f9hc03bdclncbpaimb-nix-2.0pre5947_d26b71fd

Superseded by ce35114ee4c2b52a107971e9d2284481a7fba1a5


python3Packages.pyprosegur: init at 0.0.5

Motivation for this change
Python module to communicate with Prosegur Residential Alarms
https://github.com/dgomes/pyprosegur
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Relase notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 132823 run on x86_64-linux 1

2 packages built:

python38Packages.pyprosegur
python39Packages.pyprosegur

Result of nixpkgs-review pr 132823 at 37eaf713 run on aarch64-linux 1

2 packages built successfully:

python38Packages.pyprosegur
python39Packages.pyprosegur


#37239 add relaxation to conditions in the joystick check routine for…

This closes https://github.com/godotengine/godot/issues/37239.

This code is pretty difficult to parse (even before your changes), I wonder if it could be improved somewhat?
BTW regarding the commit log, you can use "Fixes #37239" or "Closes #37239" in the body of the message so that it closes automatically on merge. Similarly, the first line (commit title) should be kept relatively short, e.g.:
Linux: Relax conditions to validate detected joysticks

Fixes #37251.

@akien-mga: Thank you for the advices, and regarding ...

This code is pretty difficult to parse (even before your changes),

I agree, it is hardly readable, even before the changes, but I tried to be as less invasive as possible. Furthermore, I did not try to normalize every bit of the condition which would imho reduce readability.

I wonder if it could be improved somewhat?

I think there is a trade-off between readability, logical normalization, and code formatting. In that regard, the changes are imho well belanced.

Thanks!

Cherry-picked for 3.2.2.


Pace ify the template

Hi @pace-gene, I see you mainly deleted files. Did you create this PR by accident?

Yes, apologies, this PR is targeting the wrong repo.
On Wed, 22 Mar 2023 at 17:20, Florian Maas @.***> wrote:

Hi @pace-gene https://github.com/pace-gene, I see you mainly deleted
files. Did you create this PR by accident?
—
Reply to this email directly, view it on GitHub
https://github.com/fpgmaas/cookiecutter-poetry/pull/87#issuecomment-1479877776,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A5RXEEGCR3YRNQT4CTVNRKDW5MRGNANCNFSM6AAAAAAWEBHFJI
.
You are receiving this because you were mentioned.Message ID:
@.***>


The latest tag is 24.7.1 but crates.io has 24.9.0: did you forget to tag it?

https://crates.io/api/v1/crates/cargo-mutants/24.9.0/download

Thanks, fixed
https://github.com/sourcefrog/cargo-mutants/releases/tag/v24.9.0


gremlin & colstats parser

colstats parser is similar to compared parser but with a couple of differences as the prediction file has;
-confidence levels in the data matrix separated by a space not a tab;
-lines of additional data at the top of the data file

If the only difference between ccmpred and colstats is the separator, you can make the current CCMPredParser compatible with both formats by using line = line.lstrip().split(). By default, split() will split the line using whitespaces, tabs or new lines, so if we don't specify any separator on CCMPredParser, that parser will be compatible with both. Replace  line = line.lstrip().split('\t') with  line = line.lstrip().split() on CCMPredParser and remove the new ColstatsParser. Also make sure to add a test to CCMPredParserTests where the input is colstats (so whitespaces between numbers) to check that everything works ok.


fix for using --package with openshift and setting up the correct roles on fabric8 service account

[merge]


Slow and excess load on the UI thread

Hello . I used WaveView inside the RecyclerView and found it to be extremely slow and adds extra load on the UI thread.
Please fix this problem. Thank .
setData :
   if (itemView.wave_voice.scaledData.isEmpty()) {
            Observable.fromCallable { fileHelper.getFileByte(voice.file) }
                    .newThread()
                    .subscribe {
                        itemView.wave_voice.scaledData = it
                        itemView.wave_voice.setRawData(it)
                    }
        }

func :
 fun getFileByte(filename: String): ByteArray {
        val file = getFilePath(filename)
        return if (file.exists())
            file.readBytes()
        else byteArrayOf(0)
    }

You're doing it wrong, take a closer look to the readme and l check out sample app
In short, you have to turn off the the expansion animation of the wave(it's in the readme).
And also consider not reading the whole file every time you bind your item, it also produces ridiculously high amount of redundant work, to avoid it, you can store a collection of scaled byte arrays(using Sampler.downSampleAsync or Sampler.downSample which fits perfectly in your Rx pipeline BTW) and bind them synchronously, which is way more efficient

You might as well consider using another library, since this one produces waves that are not very accurate


[Feature] Rate Us Feature

Description
Adding rate us feature will help us know about our clients emotions
Screenshots
No response
Checklist

[X] I have checked the existing issues.
[X] I have read the Code Of Conduct
[X] The changes don't break the code
[X] Please attach the screenshots and video of the development work once it is done

Kindly mark it as level 3:)


💡 [FEATURE] - Add "Competitions" Section to Data Science Resources

Idea Contribution

[X] I have read all the feature request issues.
[X] I'm interested in working on this issue
[X] I'm part of GSSOC organization

Explain feature request
The current Data Science resources page lacks a section for competitions. Competitions are valuable for practicing and showcasing data science skills, but there's no dedicated place for users to find these opportunities.
Explain your solution
Add a new section titled "Competitions" to the Data Science resources page. This section should include a table with the names, descriptions, and links to platforms that host data science competitions.
Any alternative approaches/features
No response
Additional Context
No response

Instead of Competitions, maybe you can add Challenges instead. Assigned to you

Thanks for the suggestion, I will do it.


Solve #191, Refactor SSM code under the conception of 'Smart'

not smata or smada？

and scala code?


[Feature Request] Options for borderless or minimal windows

Hi
On Windows, I was able to make borderless Sokol window by "only" modifying line 6785 of sokol_app.h with one of the following options;
DWORD win_style = WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_POPUP | WS_CAPTION | WS_SIZEBOX;
DWORD win_style = WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_POPUP | WS_SIZEBOX;
DWORD win_style = WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_POPUP ;

The first one will create a window with only the border to resize and the top caption to move the window.
The second will have only the resizing border.
The third will have none of those.
It would be great to be able to pass a parameter to _sapp_win32_create_window to choose one of those options.
Of course, it means that the programmer must take the responsibility to provide a way to close the window - such as a button or key command. Still this would enable to make application having top bars such as:

Btw, I know there are similar or related issues:

soft fullscreen mode on macos https://github.com/floooh/sokol/pull/314
Borderless Window : https://github.com/floooh/sokol/issues/313

Screenshot of the border less version:

Create a PR 660
To test it just modify the sample cube-sapp.c with:
sapp_desc sokol_main(int argc, char* argv[]) {
    (void)argc;
    (void)argv;
    return (sapp_desc){
        .init_cb = init,
        .frame_cb = frame,
        .cleanup_cb = cleanup,
        .event_cb = __dbgui_event,
        .width = 800,
        .height = 600,
        .sample_count = 4,
        .gl_force_gles2 = true,
        .window_title = "Cube (sokol-app)",
        .icon.sokol_default = true,
        .wbs = WBS_BORDERLESS,    // <--------  WBS_FULL or WBS_RESIZE_AND_CAPTION or WBS_RESIZE
    };
}

In the (stale) multiwindow branch I had a simple 'no_decoration' flag in sapp_desc:
https://github.com/floooh/sokol/blob/57688eb0c5d09f6149ae6a612c5b53a56e94c328/sokol_app.h#L1401
...would this be enough? Maybe combined with an additional no_resize.
I don't want to introduce a too detailed control over window behaviour and look because this might be hard to 'emulate' on different platforms.

Your branch seems good. It should be able to satisfy and requirements I imagined with my proposal.   :)

Would be fantastic to see you push your branch on in @floooh. Would be very helpful.

I will only start merging bits and pieces from the multiwindow branch, I've been digging myself into a massive hole with the multiwindow stuff on macOS which required too many changes both to the sokol_app.h internals and sokol_gfx.h that I'm not happy with.


Fix Rails/TimeZone should not report offense on String#to_time with timezone specifier

As Time.parse("2012-03-02T16:05:37Z") is allowed, "2012-03-02T16:05:37Z".to_time should also be allowed.

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[ ] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.
[ ] If this is a new cop, consider making a corresponding update to the Rails Style Guide.

Looks good to me. Can you squash your commits into one?

I'm going to merge this PR because the CI failure has been fixed in the master branch. Thank you!


Better polyfill

https://github.com/ungap/global-this/blob/master/index.js

That's an alternative, certainly (although, per its readme, it doesn't work in IE < 8, which makes it much worse to me). Either way, the polyfills in proposal repos aren't for production use - they're demonstrative, so their quality isn't that important.


Problem with nvm outputs when spawning

I am using nvm with some nvm-auto-use script in combination with zsh. Whenever a new shell spawns nvm prints something like 'Now using node v20.10.0 (npm v10.2.3)'. This seems to break every node call that meraki tries to do.
Here is my log output:

If I deactivate the nvm-auto-use and add something like nvm use 20 --silent to my zshrc which produces no output, everything works fine.

Thanks for reporting!

are you using Mac OS X or Linux? If Linux, which distro?
what's the nvm-auto-use script? https://github.com/Sparragus/zsh-auto-nvm-use?

I am using Ubuntu via WSL. For zsh I am using prezto with this nvm-auto-use plugin.

This is actually an interesting bug :).
So what happens is:

Meraki sources .zshrc to set the PATH and NVM stuff. This happens here  and here .
The nvm-auto-use module has in hook which echoes Reverting to nvm default version (here)
...but Meraki expects that which returns the path of npm in stdout. It returns Reverting to nvm default version first instead :).
As result, Meraki thinks that the path for npm is ``Reverting to nvm default version=>ENOENT`

@tandibar well, not when sourced but when the zsh hook is executed.
But yes, taking only the last line (which I think we can assume its' always from the which) should work.
Working on a fix.

Very nice how fast you fixed the issue and created a new release with the fix 🚀
Unfortunately the automatic update did not work for me, I think because the call to dpkg -i needs root privileges and has to be run with sudo.
But after updating manually everything works perfectly!


Notifications refactoring

Currently we use a service which generate notifications based on activities and match patterns. But this won't work with external apps. The easiest will be for apps to take care themselves of sending notifications.
Apps can listen to inbox and outbox activity. If at any time a notification is needed, simply send a Note to the user (as the application itself). The user will receive it as a message from the app in question, and it will generate an email (or, in the future, a web-push notification)
To avoid duplication of notifications (e.g. two event apps each sending a notification when an invitation is received), simply add the URI of the activity in the context. If two apps send a notification for the same context, the "priority" app for that type of resource (?) is selected, and the other ignored.
Possible format
{
  "type": "Note",
  "actor": "https://welcometomyplace.org/data/app",
  "name": "Alice invites you to an event: my birthday party !",
  "content": "You have received an invitation from Alice",
  "url": [
    {
      "type": "Link",
      "name": "View",
      "href": "https://welcometomyplace.org/Event/{eventUri}/show"
    },
    {
      "type": "Link",
      "name": "Ignore future Alice invitations",
      "href": "https://welcometomyplace.org/Event/{eventUri}/show?action=ignore"
    }
  ],
  "context": "https://mypod.store/alice/data/{uuid}"
}

Issues

Apps will have priority based on resources types. But activities don't indicate resources types. Should we put the object in the context instead ? Or in a object predicate ? Or should we read the activity and find the object from there ?
To solve #82, maybe apps could also put a geolocalisation to their messages ?

Apps will have priority based on resources types. But activities don't indicate resources types. Should we put the object in the context instead ? Or in a object predicate ? Or should we read the activity and find the object from there ?

Looking at the context predicate and Invite activity type, I'd say that the object predicate is the way to go, since the object there is the thing being invited to (in their case by an Invite activity, here with a Note).
Maybe I'm thinking in the wrong direction but is it even possible for a client to tell in advance, if the object is just an id reference or resolved? For performance-purposes, I'd argue it makes sense, to add the invite event to the object and not just the reference.

Why are you mentioning the Invite activity? Do you think Invite activities should be used for notifications ? For me, Invite activities have always been about "inviting for an event", like in the example provided in the AS spec. But maybe it could be extended for other purposes ?

I looked at the Invite activity since it matched the use case here. I'm not sure, if it is a good idea in general, to use it for notification but it seemed suitable in the case. I don't have much experience with ActivityStreams types though, by intution I would have probably chosen an activity and not an object type. In the ActivityStreams spec, the Announce is described like this:

Indicates that the actor is calling the target's attention the object. The origin typically has no defined meaning.  "

That sounded pretty much fitting the needs here, but the ActivityPub spec, the Announce activity is only mentioned in the server-server spec, it says:

Upon receipt of an Announce activity in an inbox, a server SHOULD increment the object's count of shares by adding the received activity to the shares collection if this collection is present.
NOTE: The Announce activity is effectively what is known as "sharing", "reposting", or "boosting" in other social networks.

So, maybe this could cause some unwanted side-effects?

Oh I understand! The example above is only meant to be an example, but the idea is to have a common language for all notifications, no matter what message is inside. Applications will listen to activities received on the Inbox (and this can include Invite activities) and convert them to Note. This way the Pod provider doesn't have to think about the type of activity being sent, it only sees it is a message from a registered application, and it converts it to an email.
In ActivityPub world, the simplest way to send a message is to send a Note. This is converted to the server as a Create activity. In my opinion, the simplest way for an Application to send a notification to a Person is thus to send him/her a Note.
(The Announce activity is only meant for "reposting", it is not meant for a general use case. All activities could be considered as announcements in some sense... We currently use it too much on ActivityPods. That's why I'm thinking about using a new new Authorize activity to notify that a resource has been shared with someone).

Ah ok, thanks for the clarification, that sounds like a decent and generic way to go!
How would the pod provider know, if the message is to be sent by email / is an application notification? Or does the pod provider just convert enverything to an email?

Notes are already used for direct messages between users. If the pod provider detects the sender is a registered application, the email will probably look differently


Enable ESLint stylistic typed linting in source code

This PR enables ESLint stylistic typed linting
It highlights opportunities to replace older JavaScript with new, but also uses TypeScript { "strict": true } to add warnings when our GOV.UK Frontend source code is too loose or unnecessarily defensive
As part of https://github.com/alphagov/govuk-frontend/pull/4323 we've already fixed:

Class fields with incorrect null default
Selector null return values not handled
Timeout and interval IDs cleared when null
Confg allows null as typeof value === 'object'

But this PR includes a few more:

Potentially null attribute NamedNodeMap values
Potentially null element .parentNode values
Potentially null element .textContent values

Whilst this is a bit pedantic for internal code, it's a huge safety net as we clarify our public API
Stylistic typed linting
This change lets ESLint use types to reduce unnecessary code with suggestions to use modern syntax

Strict mode checks (existing)
Here's a list of the compiler options we already enabled in the past:

strictBindCallApply – Function bind, call and apply must be checked (added in https://github.com/alphagov/govuk-frontend/commit/73a706a07b70bdf3c31b876dcb0fbfd6f1bc31e4)
strictFunctionTypes – Function parameters must be checked (added in https://github.com/alphagov/govuk-frontend/commit/73a706a07b70bdf3c31b876dcb0fbfd6f1bc31e4)
noImplicitThis – Context for this must be checked (added in https://github.com/alphagov/govuk-frontend/commit/8b3d6f35b1c202ecb1808788e84df93ed56596ed)

Strict mode checks (new)
Here's a list of the compiler options enabled in this PR:

alwaysStrict – Assume code has "use strict"
strictNullChecks – Possible null and undefined must be checked
strictPropertyInitialization – Class field values must be checked
noImplicitAny – All types must be added (e.g. in JSDoc)
noUncheckedIndexedAccess – Array and object key/values must be checked
useUnknownInCatchVariables – Assume errors are unknown until error instanceof

Cheers! Not sure it's one we'll merge straight away, but it's good to have the steps to enable it. I'm also wondering if us throwing (rather than returning early) during initialisation will not remove a couple of these "watch out it may be null" warnings, which would be nice and may make the list of things to fix less daunting 😊

Just rebasing to keep this branch up to date

Going to remove [SPIKE] from the title
Everything passes if https://github.com/alphagov/govuk-frontend/pull/4323 is merged

Following dev catch-up this week we agreed to get this PR merged to test things out
I've assumed we're undecided on ES2015+ syntax suggestions from https://github.com/alphagov/govuk-frontend/pull/4286 so they're turned off in https://github.com/alphagov/govuk-frontend/pull/4106/commits/331d7f0bd1718303d43a8823bbec54a4eff2ac9d
@domoscargin @romaricpascal Mind giving this the green tick please?
Thanks 🙌


Fix "only booleans are allowed" errors

Fixing more PHPStan errors, specifically ones related to "truthy" checks. There are still 130 of these to go, so I figured this time we could break it up into several PRs.

Coverage remained the same at 86.128% when pulling d6a3cf4c409369f4748f3c8d3df5cf528ef97591 on shmax:fix-only-booleans into 1f0ec2408010e01879b1f980afac65de2344c631 on webonyx:master.

@simPod @vladar Now we're cookin'. Thanks for reviewing/merging.


Document ipBlock option in NetworkPolicy

Problem:
ipBlock has been added as a new peer for Network Policy but no docs exist
Proposed Solution:
Examine the code comments for the ipBlock PR and add the necessary examples to the network-policy documentation
Page to Update:
https://kubernetes.io/docs/concepts/services-networking/network-policies/
Kubernetes Version: 1.8

cc @kennjason

Fixed by https://github.com/kubernetes/kubernetes.github.io/pull/5473#issuecomment-331616722


[Exploration] Simplify testing

Summary
This explores a simpler testing process. Comments welcome; nothing set in stone yet.

:warning:  After discussing with the team, this is probably not the best approach as:

We don't want to require projects to use tox
Testing actions should live in the projects' repositories so developers have more control over how their tests run.

The solution is probably to provide some support (e.g. a template action) to help developers test in a standardised way, and report back their test results to us (e.g. upload  artifacts we can read regularly).

Details and comments
The main changes are:

Remove support for projects with no tox.ini
Drop linting / coverage testing
All testing logic now lives in two GitHub Action files:
a. All testing logic lives in ecosystem-test-project.yml. Ecosystem developers and Qiskit maintainers should only need to look at this one file.
b. Another action (ecosystem-batch-test-projects.yml) runs tests on all Ecosystem projects.

See an example run and it's pull request.

I'm closing this as we've decided not to go down this route.


Wire up wing sensillum neurons to wing nerve and dorsal mesothoracic nerve [sf#12]

Reported by djs93 on 2013-08-02 17:02 UTC
Run query: neuron that overlaps some 'wing sensillum'
=> 22 sensory neurons that would be trivial to map to branches of the wing nerve and from there to the anterior dorsal mesothoracic nerve - recording fasciculates_with for all.  Potentially good ref for this is FBrf0032909 == Palka et al., 1979, Dev. Biol. 69: 549--575 - although also see refs on the neurons and the sensilla they innervate.
Update: have added fasciculates_with branches of the wing nerve (marginal, costal) to sensilla neurons that missed it. Still need to wire those up to the TAG nerves.

Updated by djs93 on 2013-08-02 17:02 UTC

assigned_to: Robbie Court
request type: New_term_request --> Correction
Milestone: FB_2013_04 --> FB_2013_06

Commented by mmc46 on 2013-10-15 18:15 UTC

Description has changed:

Diff:

--- old
+++ new
@@ -1,2 +1,4 @@
 Run query: neuron that overlaps some 'wing sensillum'
 => 22 sensory neurons that would be trivial to map to branches of the wing nerve and from there to the anterior dorsal mesothoracic nerve - recording fasciculates_with for all.  Potentially good ref for this is FBrf0032909 == Palka et al., 1979, Dev. Biol. 69: 549--575 - although also see refs on the neurons and the sensilla they innervate.
+
+Update: have added fasciculates_with branches of the wing nerve (marginal, costal) to sensilla neurons that missed it. Still need to wire those up to the TAG nerves.


Update to_parquet/pyarrow tests

This issue will have a bit of trickiness on setting up locally the latest (master branch) version of arrow/pyarrow, but should be easy other than that:
https://github.com/pandas-dev/pandas/issues/27955
Please add a comment to the original issue (also here) to claim it if you plan to work on it.

I'd like to work on this

@datapythonista Since there are two things that need to be done (update the tests and docs), should these be done in two separate branches or just one?

@datapythonista also, I've setup the latest version of arrow/pyarrow in my local, however I'm having trouble telling my conda environment to use the latest version of pyarrow. I've been searching for docs/tutorials that might help me with this but to no avail. Do you have any pointers regarding this? Thank you!

@galuhsahid Try giving the pyarrow documentation a read. It has information regarding the development settings via conda.

@TanyaaCJain Did you mean this doc? I've followed through & built pyarrow in its own environment successfully. I should've been clearer - I meant I had trouble telling my pandas-dev conda environment to refer to the pyarrow I've just built, so that my tests in pandas would pass.

@galuhsahid, if I'm understanding correctly what you mean, I think using the PYTHONPATH environment variable is a good option. In the terminal run:
$ PYTHONPATH=/path/where/pyarrow/module/is/ python

And your python interpreter should be able to import your pyarrow from master. You can also have: PYTHONPATH=/path/to/pyarrow:/path/to/pandas
Let me know if this is not what you needed.

Since there are two things that need to be done (update the tests and docs), should these be done in two separate branches or just one?

It's fine to do it in a single branch/PR (since they are related)

I've followed through & built pyarrow in its own environment successfully

You will need to install pandas and pyarrow in the same environment (technically it might be possible to point to an install in a different environment, but it is not something I would recommend).
What I did locally is install pandas master also in my arrow-dev environment (for the arrow/parquet tests, you don't need all optional dependencies that are installed in the pandas-dev environment)

@galuhsahid What about trying code from this doc? Somehow, the html version does not have the same code as that in the "Developing with conda - Environment Setup and Build" topic in the pdf version. The code in here does what @jorisvandenbossche is talking about.

@datapythonista @jorisvandenbossche @TanyaaCJain I ended up following @jorisvandenbossche's approach which works for me. Thanks a lot for the help everyone! I'll make sure to add this to our learning points as well.

@jorisvandenbossche Sure, I'd like to fix that as well. I'll ask you if I get stuck on something (if you don't mind)

Great ;)  Don't hesitate to ask any questions! (I am no C++ expert, but I start to be a bit familiar with the Arrow codebase)


Class diagram

shouldn't this be done in CD so that we don't forget to update it? If not in CD, at least in the Makefile targets you need to pass before creating the PR

shouldn't this be done in CD so that we don't forget to update it? If not in CD, at least in the Makefile targets you need to pass before creating the PR

yup, we need to figure out how to do it automagically. now I don't know the tricks.


Basic strategy. Keep output of command

I'm trying to setup vim-test and almost everything works pretty good, except one thing.
If I execute following command :! echo 123
I'm getting
123

Press ENTER or type command to continue

But in basic strategy vim is not paused and wait for pressing enter and immediately return to code.
Even if I implement custom strategy with following code:
function! EchoStrategy(cmd)
   execute '!echo ' . a:cmd
endfunction

let g:test#custom_strategies = {'echo': function('EchoStrategy')}
let g:test#strategy = 'echo'

It didn't stop after command execution.
Version:
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Oct  2 2017 08:19:22)
MacOS X (unix) version
Included patches: 1-1171

Could you please help me to figure out how to make vim stop and wait for Enter to be pressed?

Figured it out.
I removed comments from key bindings and it now works as expected.
From:
nmap <silent> <leader>tn :TestNearest<CR>    " Some comment
nmap <silent> <leader>tf :TestFile<CR>       " Some comment

To:
nmap <silent> <leader>tn :TestNearest<CR>
nmap <silent> <leader>tf :TestFile<CR>

Sorry for disturb.


TST: add unit tests for timebase conversions

Make sure that timebases get addressed properly, based on question posted as python-control issue #203.

Coverage remained the same at 78.914% when pulling 03d6e05b52e7894c6c5dd367e41959585ea38e30 on murrayrm:test_timebase into 11bf14c627a80e944f57fda79de3c2ae615c42c2 on python-control:master.


Fix openMP linking and add Github Actions

Adds a github actions ci that looks like https://github.com/1480c1/cineform-sdk/actions/runs/90468228
Also fixes an issue with poor openmp "detection" by actually using one of cmake's provided cmake file that fixes clang on ubuntu builds (clang needs some additional stuff to use regular openmp, like libomp-dev)
Also, I can't find the page for cla signing, the cla gopro page doesn't load.

Thank you. CLA signing page is down temporarily.  As these were only build environment changes, CLA is optional.

Thank you. CLA signing page is down temporarily. As these were only build environment changes, CLA is optional.

Okay, do you want me to instead use the signoff option when commiting for now?

Yes, please.


Time complexity of HashSet.member is O(log(n))?

The time complexity of member is stated to be O(min(n,W)) but its implementation is identical to HashMap.member whose time complexity is stated as O(log n). Is the documentation incorrect or is there something I'm missing?

That's a bug. It should be O(log n). This is a left-over from the previous implementation.


String Support in Aggregate Function

At present the logic of AggregateExprFunction is forcing the input tuple to be deserialized.
The constructor of AggregateExprFunction:
https://github.com/iidb/wing/blob/4da101bb2e1e18e3d3d487833b2c81958cda10b6/src/execution/exprdata.cpp#L509-L526
It changes the input schema at Line 518 of execution/exprdata.cpp
It will lead to bad support for raw tuple input, and make the string (varchar) support impossible.

Sorry in L523 we can see that it still uses the original input_schema, so the only change is that we need to use a deserialized tuple in AggregateExprFunction::LastEvaluate no matter whether input_schema is raw.


Add ENV for disable cleaning the output folder

Hi!
I'm trying to run this image to export some certificates from my traefik instance.
I want those certificates to be exported into a folder that contains also other configurations, so it will be useful to have (like with ldez's image some kind of flag that disables the cleaning of the output folder.
Also, maybe an ENV to configure the output folder would be a plus.
Thank you

Hi,

I'm trying to run this image to export some certificates from my traefik instance.
I want those certificates to be exported into a folder that contains also other configurations, so it will be useful to have (like with ldez's image some kind of flag that disables the cleaning of the output folder.

Is that a flag that can be set for ldez's traefik-certs-dumper?

Also, maybe an ENV to configure the output folder would be a plus.

Is there any specific reason why you need to change the output folder inside the container? You can change the output folder on the host system via container mount.
Cheers!

Hi @aleritty,
it seems like this issue is stale. If my suggestion did not work out and the feature you requested is still needed, please feel free to re-open this issue. :)


pylint will run

This issue has been moved from a ticket on Developer Community.

Have installed the default 32-bit Python using the VS Installer. Checked that Path includes c:\Program Files(x86)\Microsoft Visual Studio\Shared\Python36_86\ and  c:\Program Files(x86)\Microsoft Visual Studio\Shared\Python36_86\Scripts. The VS Python Envitonment points to the right place (same as Path). When I try to run Pylint, I get:
C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_86\python.exe: No module named pylint.lint.main; 'pylint.lint' is a package and cannot be directly executed

Original Comments
Feedback Bot on 3/22/2021, 07:26 PM:
We have directed your feedback to the appropriate engineering team for further evaluation. The team will review the feedback and notify you about the next steps.

Original Solutions
(no solutions)

Can you please run
print(pylint.lint.__file__)

And tell us what it says?


Invalidate table ID and table route cache in the same broadcast

What type of enhancement is this?
Refactor
What does the enhancement do?
We should invalidate table ID and table route cache in the same broadcast for consistency reasons
Implementation challenges
No response

Looks like the same cause with https://github.com/GreptimeTeam/greptimedb/issues/2510


wrong redirection after changing language

i've configured gogs with an apache2 proxy, it works fine, but in a folder:

https://domain:443/git/

and when i change the language to Français
it goes to:

https://domain/git/?lang=fr-CA

(it should be fr-FR and not fr-CA by the way)
and then to:

https://domain/

the response header is:

Location: /

but it should be: /git/ or ./ to redirect to the original page or path

What is your version of Gogs?

(it should be fr-FR and not fr-CA by the way)

Thanks, I've fixed this locally, will push soon.

sorry, i should have precised the version,
I've installed the ubuntu 14.04 package from packager.io :

Version: <IP_ADDRESS>8 Beta
Go Version: Go1.4.1

No worries, what is your setting for your Application URL when you are in /git/install page?

in https://domain/git/admin/config

Application URL: https://domain/git/

if i change the language from this url, it redirects to:

https://domain/admin/config

I've installed it from the local machine using the localhost:6000/install and set it to https://domain/git/ validate and then done the redirection in apache2

Your setting looks right, let me test locally with Nginx see if I can reproduce it. Thanks for the quick response!

Hi @aksh3ll , I've did some tests.
My ROOT_URL is http://mydomain.com/git/
My Nginx config:
     server {
         listen 8080;
         server_name mydomain.com;

         location /git/ {
             proxy_pass http://localhost:3000/;
         }
     }

And change language works properly.
Not sure how to translate to Apache2 format, but should be pretty same on the values.

@aksh3ll any updates on this?

yes: but on the locale name. sorry :-)
version: 0.6.0-1427291357.c5c5aac.trusty
in web-1.log:

2015/03/25 20:34:49 [T] Custom path: /opt/gogs/custom
2015/03/25 20:34:49 [T] Log path: /opt/gogs/log
2015/03/25 20:34:49 [I] Gogs: Go Git Service <IP_ADDRESS>5 Beta
2015/03/25 20:34:49 [I] Log Mode: File(Info)
2015/03/25 20:34:49 [I] Cache Service Enabled
2015/03/25 20:34:49 [I] Session Service Enabled
2015/03/25 20:34:49 [I] Mail Service Enabled
2015/03/25 20:34:49 [I] Register Mail Service Enabled
2015/03/25 20:34:49 [I] Notify Mail Service Enabled
2015/03/25 20:34:50 [I] Run Mode: Production
panic: fail to set message file(fr-CA): open conf/locale/locale_fr-CA.ini: no such file or directory

i've copied /opt/gogs/conf/locale/locale_fr-FR.ini to locale_fr-CA.ini as a temporary fix and it works.
and now i can change the local and keep my relative path, thank you :-)
maybe i should open a new bug for the locale ?
and for apache2 conf mine is:
<VirtualHost *:443>
...
    <Proxy *>
             Order allow,deny
             Allow from all
    </Proxy>

    ProxyPass /git http://<IP_ADDRESS>:6000
    ProxyPassReverse /git http://<IP_ADDRESS>:6000

i'm not sure if the ProxyPassReverse is needed, but it works with, so...

panic: fail to set message file(fr-CA): open conf/locale/locale_fr-CA.ini: no such file or directory

You should update all dependencies, all locale files put into binary since 0.6.0.

i'm using the package from packager.io, it's probably missing from it, but since you change fr-CA to fr-FR, why it is still required ?

Maybe your custom/conf/app.ini has [i18n] section which still uses old name fr-CA.

right !
so everything fixed, thanks a lot.


Add option to not disable project paths that do not exist.

project-manager seems to check on start whether a project path exists and, if it does not, it disables the project. This is inconvenient for sshfs mounted projects, as one needs to restart Atom after mounting the ssh disk to be able to use that project. The initial check should be an option in the configuration.

+1 here. Ideally there would be a way to have this silently ignored.

I'd like to extend this request to ask that when if a project is still disabled, that the paths would still be displayed like they are for enabled projects. Right now I have to go to "edit projects" to view the CSON to see the paths if I can't remember where a project lives off the top of my head in order for me to re-connect those mounts


GH-377: Improve Cloud JDBC auto-configuration

Fixes spring-cloud/spring-cloud-gcp#377

Since any SQL can't leave without DataSource, make sure we have it
on classpath
Since GcpCloudSqlAutoConfiguration triggers DataSourceProperties
creating, make sure we have EmbeddedDatabaseType.class
on the classpath as well
Move all the *JdbcInfoProviderAutoConfiguration classes to the
inner classes of the GcpCloudSqlAutoConfiguration.
They depend on the same classpath and properties rules.
Therefore it would be easier to avoid @Conditional copy/paste
Add spring-boot-starter-jdbc to the spring-cloud-gcp-autoconfigure
POM to avoid extra dependencies.
Plus we will have required spring-jdbc classes we need to compile
GcpCloudSqlAutoConfiguration
Add logback-test.xml to the spring-cloud-gcp-autoconfigure
to avoid DEBUG noise during testing
Add testNoJdbc() to ensure that we don't trigger Cloud JDBC
auto-configuration when we don't have particular JDBC classes on the
classpath

Is this fixing #371 as well?

No, that's not.
The starter subject is not related.

Users don't need an EmbeddedDatabaseType to use our starter, it doesn't make much sense to require it.

??? With the GcpCloudSqlAutoConfiguration you trigger @EnableConfigurationProperties({ GcpCloudSqlProperties.class, DataSourceProperties.class }), where the last one depends on the EmbeddedDatabaseConnection which, in turn, on the EmbeddedDatabaseType. So, you can't trigger new DataSourceProperties() without those classes on the classpath. That's exactly what you see in your logs - no spring-jdbc on CP, wrong attempt to instantiate the DataSourceProperties.
And again: we fully blow up the JDBC stuff here, so we really should follow the approach we have in the Spring Boot for the mentioned DataSourceAutoConfiguration.

We want to avoid enabling SQL support when we don't want it. That includes not enabling DataSourceProperties.
We can already do that using spring.cloud.gcp.sql.enabled=false, but I agree we want to avoid relying on the flag only (and having to ask users to set enabled to true if they want the feature).
That's why I'm suggesting depending on DataSource. If it's in the classpath, it's because the user probably wants it autoconfigured.
I've always thought the SQL support would end with providing a customised DataSourceProperties. And we don't really need JDBC for that (we weren't depending on it), DataSourceProperties is in spring-boot-autoconfigure.

Again: you have @EnableConfigurationProperties(DataSourceProperties.class). That triggers a bean instantiation, but if you don't have spring-jdbc, you can't do that, therefore your exception.
And that's already doesn't matter what is the choice from end-user to the spring.cloud.gcp.sql.enabled. That's his/her own trap to enable it, but don't have spring-jdbc in the classpath. So, the way DataSourceAutoConfiguration works we are not going to have even DataSourceProperties bean when you don't have spring-jdbc on the classpath. The EmbeddedDatabaseType is a part of spring-jdbc and we need this class to instantiate DataSourceProperties class.
I'm not sure what you else to tell you...
Just try to call new DataSourceProperties() when you don't have spring-jdbc on classpath.

I agree that a starter in that module feels wrong. Can you please reconsider it?

@snicoll , @meltsufin,
WDYT now about dependencies in our autoconfigure ?
Thanks


Add resource details panel

Fixes https://github.com/dotnet/aspire/issues/1208
Fixes https://github.com/dotnet/aspire/issues/1489
Playing around adding a resource panel. The resource grid is trying to display too much information and a panel allows less used content to be accessed there and removed from the grid.

Add details button to resources grid
Remove environment variables button from resources grid
Move logs button from resources grid to details panel
Add high-level resource values to panel
Add resource endpoints/services to panel
Refactor resources panel to use an accordion like span panel
Remove various bits of detail from the resources grid

Container ID
Container ports
Container command/args
Process ID

UI oddities/todos:

Show all and unmask all buttons are in the top toolbar rather than being next to the env var values. Problem?
I really don't like how replica sets show two endpoint URLs in the resource grid. There is no UI indication what the difference between the two URLs are and why some resources show two URLs and others don't. Now that the proxy URL is available in the resource panel, can the grid be simplified to only show one URL?
Display the resource panel by clicking the row instead of a details button. Will do in a follow up PR.

Demo:

Note: The design is ready to review. Code is rough/unfinished in places. Will improve after design feedback.
Microsoft Reviewers: Open in CodeFlow

cc @leslierichardson95 @davidfowl

I like the resources panel!  +1 on Adam's comment about there being duplicate info though.  While there may be some use cases for having duplicate fields, I worry that that may result in taking up more real estate on screen than needed.

Now that the resource refactor has happened, I think the way this UI works could be changed a bit. Each resource has a raw list of properties. To properly handle custom resources with unknown properties, this UI should display a list of properties.
I think by default the UI:

Displays known properties for known resource types (e.g. container ID for containers, source path for projects, etc) or all properties if the resource type is unknown
Clicking show all then shows all properties

If you want to give any of the properties custom treatment, we can model the required metadata for that in the ResourceType messages we send to the client.

What's this change waiting on?

I made large refactors yesterday. Me finishing that work. Then moving hardcoded UI text to resource files.

This is now ready for final review.

Just pulled this down to take it for a spin. It's the end of my day so I'll look more tomorrow.
Initial impression is that it's a bit tricky to parse the grouping between sections. For example:

Adding some indentation here might help:

Another idea is to add a background to the expander headers.

I like the background idea.

The new details panel is looking great. Approved.
I have gone ahead and added another issue for tracking the visibility on the expanded headers in lieu of not further increasing the size and scope of this PR : #1612
@adamint  please do an accessibility pass after merge and add another issue if additional work needs to be done there. Thanks!

The accordion originally had a lot more stuff to separate sections. Different background colors for headers, borders, etc. I turned it off because it didn't look good.
I've slightly increased the gap between each section to help highlight them:

From offline: Will merge after @drewnoakes takes a look at the code.


Added /i endpoint to request the status

Respond with the implementation, version and vendor on request for easier integration / checking whether the service is running and up to date.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Allow for bypass of expiry format

Some credit card processors require the expiry date to be in MMYY format.
This script forces the value to be MM/YY format. I realize that I could strip the slash before sending the value to the processor, but doing this is inconvenient.
Would it make sense to utilize a bypass option for this value's format?

I'm closing this issue as it's been stale for a while and I don't think the addition is in scope for Card's use case. Card should only be used a visual aid, if you'd like the data in a different form, you should access the individual inputs and format as necessary when you submit the form.
Thanks for reporting!


Storybook 3.0 release

#why
This is a big release in the new org and we should make sure it gets done properly and is simple to repeat for future major and minor releases.
what

[x] npm release alphas to get the product tested by the community @ndelangen
[x] code write codemods @aaronmcadam (#1049)
[ ] pr video on codemods @aaronmcadam
[x] npm release rcs to get last validation everything works as expected @ndelangen
[x] doc update all documentation to reflect 3.0.0 @ndelangen
[ ] code write script to extract CHANGELOG from git history @shilman
[ ] doc write release notes https://github.com/storybooks/storybook/pull/1047 @shilman
[ ] doc update roadmap @shilman
[ ] git add github release
[ ] npm release 3.0.0 as latest
[ ] pr blog posts TBD

[ ] mark PR/issues related to v3.0 release with a label

We use milestones to signify which release is planned.

I'm just awaiting final sign off on #1049 🎉

@ndelangen @tmeasday Proposed release workflow:
The publisher (one of us) should:

Update version number in package.json
Run some tool (TBD) and/or manually update the CHANGELOG e.g. #1047
Run npmpub which:

runs tests, make sure we are in the right branch, etc.
pushes to NPM
grabs the CHANGELOG contents and creates a github tag & release using the right release notes

NOTE1: for pre-releases we should only tag the release and should not actually generate a github release, which means we should use the --no-release option to npmpub.
NOTE2: this is also compatible with a manual CHANGELOG strategy if we end up falling back to that.
Thoughts/feedback welcome!

Seems like a good start. I think as long as we keep a document somewhere with the instructions up to date with what we are actually doing on releases it'll be good. The details of the process are less important than documenting it so people are consistent.

@tmeasday thanks. have updated the proposal and added it to the end of CONTRIBUTING.md. Will update it again with the final before this is merged 🍡

Great job guys! Will this make Storybook work with Webpack 2?

yes, you can try out the release condidate right now:
npm i @storybook/cli@alpha -g
If you already have a project you want to migrate, we're working on a migration guide, but the gist of it is:

webpack 2, so if you're providing a custom webpack.config.js it needs to be compatible.
renamed packages:
@kadira/storybook ➩ @storybook/react
@kadira/storybook-addon-actions ➩ @storybook/addon-actions
@kadira/react-native-storybook ➩ @storybook/react-native
storyshots ➩ @storybook/addon-storyshots

Hope everything works for you. Please let us know if things are broken.

Amazing @ndelangen - I didn't know I could start using the alpha. I have downloaded and migrated our few stories (we literally started using Storybook last week so it hasn't been dramatic. I admit we are not heavy users yet but as far as I can see, the webpack integration finally worked for me.
However, I have experienced a new issue for me - Every time I open a new story I get an error message saying "No Preview Available" (see screenshot below). If I refresh the page, I can then see my story. Got any idea of why?

Thanks again for your great job!

Are you sure everything is migrated?
Are you seeing errors in the console?
Can you post your configs?

My project is a fork of react-redux-starter-kit - They have recently upgraded to webpack 2 so did I - That is why my Storybook stopped working and I am here now :)
Here are the files that I am using to run Storybook:
.storybook/config.js
import { configure } from '@storybook/react';

const req = require.context('../src/components', true, /\.stories\.js$/)
console.log(req)
function loadStories() {
  require('../stories');
  req.keys().forEach((filename) => req(filename))
}

configure(loadStories, module);

.storybook/webpack.config.js
const path = require('path')
const webpack = require('webpack')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const ExtractTextPlugin = require('extract-text-webpack-plugin')
const project = require('../project.config')

const inProject = path.resolve.bind(path, project.basePath)
const inProjectSrc = (file) => inProject(project.srcDir, file)

const __DEV__ = project.env === 'development'
const __TEST__ = project.env === 'test'
const __PROD__ = project.env === 'production'

let fontLoaders = new Array();

;[
  ['woff', 'application/font-woff'],
  ['woff2', 'application/font-woff2'],
  ['otf', 'font/opentype'],
  ['ttf', 'application/octet-stream'],
  ['eot', 'application/vnd.ms-fontobject'],
  ['svg', 'image/svg+xml'],
].forEach((font) => {
  const extension = font[0]
  const mimetype = font[1]

  fontLoaders.push({
    test    : new RegExp(`\\.${extension}$`),
    loader  : 'url-loader',
    options : {
      name  : 'fonts/[name].[ext]',
      limit : 10000,
      mimetype,
    },
  })
})

const extractStyles = new ExtractTextPlugin({
  filename: 'styles/[name].[contenthash].css',
  allChunks: true,
  disable: __DEV__,
})

module.exports = {
  plugins: [
    // your custom plugins
    extractStyles
  ],
  module: {
    rules: [
      // add your custom loaders.
      ...fontLoaders,
      {
        test: /\.(sass|scss|css)$/,
        loader: extractStyles.extract({
          fallback: 'style-loader',
          use: [
            {
              loader: 'css-loader',
              options: {
                sourceMap: project.sourcemaps,
                minimize: {
                  autoprefixer: {
                    add: true,
                    remove: true,
                    browsers: ['last 2 versions'],
                  },
                  discardComments: {
                    removeAll : true,
                  },
                  discardUnused: false,
                  mergeIdents: false,
                  reduceIdents: false,
                  safe: true,
                  sourcemap: project.sourcemaps,
                },
              },
            },
            {
              loader: 'sass-loader',
              options: {
                sourceMap: project.sourcemaps,
                includePaths: [
                  inProjectSrc('styles'),
                ],
              },
            }
          ],
        })
      }
    ],
  },
};

stories/index.js
import React from 'react';

import { storiesOf } from '@storybook/react';
import { action } from '@storybook/addon-actions';
import { linkTo } from '@storybook/addon-links';

import Button from './Button';
import Welcome from './Welcome';

storiesOf('Welcome', module).add('to Storybook', () => <Welcome showApp={linkTo('Button')} />);

storiesOf('Button', module)
  .add('with text', () => <Button onClick={action('clicked')}>Hello Button</Button>)
  .add('with some emoji', () => <Button onClick={action('clicked')}>😀 😎 👍 💯</Button>);

src/components/RouteCircleButton/RouteCircleButton.stories.js
import React from 'react';
import { storiesOf } from '@storybook/react';
import { action } from '@storybook/addon-actions';
import { linkTo } from '@storybook/addon-links';

import RouteCircleButton from './RouteCircleButton'

const Story = ({ name, icon }) => (
  <RouteCircleButton name='Test' icon='user' />
);

Story.propTypes = {
  name: React.PropTypes.string.isRequired,
  icon: React.PropTypes.string.isRequired
};

storiesOf('RouteCircleButton', module)
  .add('Incomplete', () => (
    <RouteCircleButton name="Profile Information" icon="user" status='0' />
  ))
  .add('Started', () => (
    <RouteCircleButton name="Profile Information" icon="user" status='50' />
  ))
  .add('Next', () => (
    <RouteCircleButton name="Profile Information" icon="user" status='0' isNext />
  ))
  .add('Completed', () => (
    <RouteCircleButton name="Profile Information" icon="user" status={100} />
  ))
  .add('Disabled', () => (
    <RouteCircleButton name="Profile Information" icon="user" disabled={true} />
  ));

Am I doing something wrong?

I think in your case it's best to use the 'full control mode' for your webpack configuration:
https://storybook.js.org/configurations/custom-webpack-config/#full-control-mode

I have changed the .storybook/webpack.config.js using the full control mode but still having the issue. I have noticed that removing the dynamic loading of the stories, I don't have the issue - at the same time my stories are not there so I am not entirely sure the issue is with the dynamic loading of the stories. Maybe not?

I have an update, I have successfully integrated the full control mode (thanks for the hint) but I am still facing the "no preview available" issue. The update is that I have tested moving my story to /stories/index.js instead of loading it dynamically and now works. It's not ideal as I'd like to keep the story within the component folder but it's clear to me that something is wrong when loading dynamically the stories. Have you got any clue of what could be the cause?
Working config.js
import { configure } from '@storybook/react';

function loadStories() {
  require('../stories');
}

configure(loadStories, module);

Non-Working config.js
import { configure } from '@storybook/react';

const req = require.context('../src/components', true, /\.stories\.js$/)

function loadStories() {
  require('../stories');
  req.keys().forEach((filename) => req(filename))
}

configure(loadStories, module);

stories/index.js (working)
import React from 'react';

import { storiesOf } from '@storybook/react';
import { action } from '@storybook/addon-actions';
import { linkTo } from '@storybook/addon-links';

import Button from './Button';
import Welcome from './Welcome';
import RouteCircleButton from '../src/components/RouteCircleButton';

storiesOf('Welcome', module).add('to Storybook', () => <Welcome showApp={linkTo('Button')} />);

storiesOf('Button', module)
  .add('with text', () => <Button onClick={action('clicked')}>Hello Button</Button>)
  .add('with some emoji', () => <Button onClick={action('clicked')}>😀 😎 👍 💯</Button>);

storiesOf('RouteCircleButton', module).add('to Storybook', () => <RouteCircleButton name="Profile Information" icon="user" status='0' />);

Story inside the component (not working)
import React from 'react';
import { storiesOf } from '@storybook/react';
import { action } from '@storybook/addon-actions';
import { linkTo } from '@storybook/addon-links';

import RouteCircleButton from './RouteCircleButton'

const Story = ({ name, icon }) => (
  <RouteCircleButton name='Test' icon='user' />
);

Story.propTypes = {
  name: React.PropTypes.string.isRequired,
  icon: React.PropTypes.string.isRequired
};

storiesOf('RouteCircleButton', module)
  .add('Incomplete', () => (
    <RouteCircleButton name="Profile Information" icon="user" status='0' />
  ))
  .add('Started', () => (
    <RouteCircleButton name="Profile Information" icon="user" status='50' />
  ))
  .add('Next', () => (
    <RouteCircleButton name="Profile Information" icon="user" status='0' isNext />
  ))
  .add('Completed', () => (
    <RouteCircleButton name="Profile Information" icon="user" status={100} />
  ))
  .add('Disabled', () => (
    <RouteCircleButton name="Profile Information" icon="user" disabled={true} />
  ));

Sorry for spamming with so many comments but I have just realised I had a component still requiring the old version of storybook. Thanks a lot for your work.

Haha, thanks for posting the solution, you never know others might find this page, and have the same problem. I'm super happy it works for you. 🎉


Milia gem doesn't uploaded

Please help me if you can, this is my last attempt on Rails, like all other former Rails programmer I'll have no choice to leave Rails.
I use Rails 6
my gemfile
gem 'pg', '>= 0.18', '< 2.0'
gem 'devise'
gem 'milia'
ApplicationController.rb
class ApplicationController < ActionController::Base
before_action :authenticate_tenant!
end
Error generate
/home/kash/.rvm/gems/ruby-2.7.0/gems/activerecord-<IP_ADDRESS>/lib/active_record/type.rb:27:
warning: Using the last argument as keyword parameters is deprecated; maybe ** should be
added to the call
/home/kash/.rvm/gems/ruby-2.7.0/gems/activerecord-
<IP_ADDRESS>/lib/active_record/type/adapter_specific_registry.rb:9: warning: The called method
add_modifier' is defined here   /home/kash/.rvm/gems/ruby-2.7.0/gems/milia-    0.3.30/app/controllers/registrations_controller.rb:5:in class:RegistrationsController':
undefined method skip_before_filter' for Milia::RegistrationsController:Class   Did you mean?  skip_before_action (NoMethodError)      from /home/kash/.rvm/gems/ruby-2.7.0/gems/milia-    0.3.30/app/controllers/registrations_controller.rb:3:in module:Milia'
from /home/kash/.rvm/gems/ruby-2.7.0/gems/milia-

gem milia POST MORTEM
So, the gem has not been maintained by the "owner" for 3 years now. Pull requests are even reviewed.
Face it, Milia was never a good multi-tenanting gem. On the top of my head - too much magic in the installation, and anyways sessions is not the best way to track current_tenant. It can get "stuck" when logging in/out and switching tenants.
Unfortunately I fell for it some years ago and wasted dozens of hours as a consequence. I should have gone with something else.
Why milia? 95% of the popularity of this gem came from this amateur-level course on udemy
what now?

A few users have forked the gem and customized it for their personal needs. You can check out the forks and find something interesting

We don't need 5 gems that do the same thing. Better to put all effort into one gem that does the job well (think devise).

In case of multitenancy, we have 2 good options:
https://github.com/ErwinM/acts_as_tenant - all tenants in one database
https://github.com/influitive/apartment - separate database for each tenant
summary: don't rely on low-quality third-party code, like gem milia
Originally posted by @yshmarov in https://github.com/jekuno/milia/issues/88#issuecomment-629719532

@yshmarov Thanks for bringing the mainitenance topic back to my attention. Please see https://github.com/jekuno/milia/issues/90 for more details.


Adding clear instructions on how to update a loco app

Description
I saw the recent release of loco v0.11, and was wondering what does it mean to update my loco app from 0.10 to 0.11. For example, what are the steps that I should take as a user of loco to update my app? Is it just a matter of updating the loco cli? Or are there other steps that I have to take as well?
Additional Context
I just started my first loco app, and have been trying to explore around because I wish to build actual applications with loco. As a new user, when I saw the new update, I'm at a loss for what to do though. At the moment, I have nothing developed yet, so I can easily start from scratch again, but I can imagine for someone deeper into development such information could be useful, especially if there are breaking changes across versions too.

Hi,
Thanks - I agree. There needs to be some instruction regarding the CLI.
Usually it just requires updating the version, and following the CHANGELOG to see if there's any code migration:
https://github.com/loco-rs/loco/blob/master/CHANGELOG.md#v0110


loggerd: Initialize atomic variables to zero

std::atomic does not automatically initialize its value to zero. This pr ensures atomic variables in LoggerdState start at zero, improving the reliability and predictability of the code.

trigger-jenkins


Add Velocity Support

Because of how the haptic command gain seems to work, this will not be possible, or at least wouldn't sound that good. It would also interfere with the leveled notes and the gain deltas.