What should be the max epoch_number for training?

What should be the max epoch_number value should be to train the model at the first run of main.py? I tried to change it by
python main.py --maximum_number_of_epochs=2 --token_pretrained_embedding_filepath=""

And after 3 or 4 runs the model starts training again. Should it stop at some point?

And after 3 or 4 runs the model starts training again. Should it stop at some point?

With python main.py --maximum_number_of_epochs=2 --token_pretrained_embedding_filepath="" the model should train for two epochs only. I have just tried it on Ubuntu 14.04.4 LTS x64 and it works as expected. Did you make any change to the code, and do you use Windows 10?

Yes sir i am using windows 10 no i have not made any changes to the code (I just changed it to maximum_number_of_epochs = 2 in paramerters file) after epochs number 3 it again started from 0.

Interesting, could you please paste the output displayed in your terminal?

Okay let me run run that model again then i will paste the output.

Apologies from my side it looks like i was an older version of NeuroNER (which i got from some where else-Sorry about that) I have downloaded it again from github Now the epochs number stops at 2. :-)
C:\Users\Zill-E-Huma\AppData\Local\Programs\Python\Python35\NeuroNER-master\src>python main.py --maximum_number_of_epochs=2 --token_pretrained_embedding_filepath=""
NeuroNER version: 1.0-dev
TensorFlow version: 1.1.0
NeuroNER version: 1.0-dev
TensorFlow version: 1.1.0
{'character_embedding_dimension': 25,
'character_lstm_hidden_state_dimension': 25,
'check_for_digits_replaced_with_zeros': 1,
'check_for_lowercase': 1,
'dataset_text_folder': '../data/conll2003/en',
'debug': 0,
'dropout_rate': 0.5,
'experiment_name': 'test',
'freeze_token_embeddings': 0,
'gradient_clipping_value': 5.0,
'learning_rate': 0.005,
'load_only_pretrained_token_embeddings': 0,
'main_evaluation_mode': 'conll',
'maximum_number_of_epochs': 2,
'number_of_cpu_threads': 8,
'number_of_gpus': 0,
'optimizer': 'sgd',
'output_folder': '../output',
'parameters_filepath': '.\parameters.ini',
'patience': 10,
'plot_format': 'pdf',
'pretrained_model_folder': '../trained_models/conll_2003_en',
'reload_character_embeddings': 1,
'reload_character_lstm': 1,
'reload_crf': 1,
'reload_feedforward': 1,
'reload_token_embeddings': 1,
'reload_token_lstm': 1,
'remap_unknown_tokens_to_unk': 1,
'spacylanguage': 'en',
'tagging_format': 'bioes',
'token_embedding_dimension': 100,
'token_lstm_hidden_state_dimension': 100,
'token_pretrained_embedding_filepath': '',
'tokenizer': 'spacy',
'train_model': 1,
'use_character_lstm': 1,
'use_crf': 1,
'use_pretrained_model': 0,
'verbose': 0}
Formatting train set from CONLL to BRAT... Done.
Converting CONLL from BIO to BIOES format... Done.
Formatting valid set from CONLL to BRAT... Done.
Converting CONLL from BIO to BIOES format... Done.
Formatting test set from CONLL to BRAT... Done.
Converting CONLL from BIO to BIOES format... Done.
Load dataset... done (15.12 seconds)
Starting epoch 0
Training completed in 0.00 seconds
Evaluate model on the train set
processed 203621 tokens with 23499 phrases; found: 175195 phrases; correct: 3996.
accuracy:   2.93%; precision:   2.28%; recall:  17.00%; FB1:   4.02
LOC: precision:   2.21%; recall:  38.59%; FB1:   4.19  124437
MISC: precision:   0.99%; recall:   0.67%; FB1:   0.80  2327
ORG: precision:   5.03%; recall:  13.75%; FB1:   7.37  17263
PER: precision:   1.12%; recall:   5.29%; FB1:   1.85  31168
Evaluate model on the valid set
processed 51362 tokens with 5942 phrases; found: 44549 phrases; correct: 1053.
accuracy:   2.86%; precision:   2.36%; recall:  17.72%; FB1:   4.17
LOC: precision:   2.28%; recall:  40.66%; FB1:   4.32  32750
MISC: precision:   0.62%; recall:   0.33%; FB1:   0.43  483
ORG: precision:   5.73%; recall:  16.70%; FB1:   8.53  3908
PER: precision:   1.07%; recall:   4.29%; FB1:   1.71  7408
Evaluate model on the test set
processed 46435 tokens with 5648 phrases; found: 39814 phrases; correct: 955.
accuracy:   2.88%; precision:   2.40%; recall:  16.91%; FB1:   4.20
LOC: precision:   2.16%; recall:  36.09%; FB1:   4.08  27837
MISC: precision:   1.10%; recall:   0.85%; FB1:   0.96  545
ORG: precision:   6.48%; recall:  15.95%; FB1:   9.21  4092
PER: precision:   1.12%; recall:   5.07%; FB1:   1.83  7340
Generating plots for the train set
Generating plots for the valid set
Generating plots for the test set
shell_command: perl .\conlleval < ../output\en_2017-06-19_00-39-42-593139\000_train.txt > ../output\en_2017-06-19_00-39-42-593139\000_train.txt_conll_evaluation.txt
shell_command: perl .\conlleval < ../output\en_2017-06-19_00-39-42-593139\000_valid.txt > ../output\en_2017-06-19_00-39-42-593139\000_valid.txt_conll_evaluation.txt
shell_command: perl .\conlleval < ../output\en_2017-06-19_00-39-42-593139\000_test.txt > ../output\en_2017-06-19_00-39-42-593139\000_test.txt_conll_evaluation.txt
Formatting 000_train set from CONLL to BRAT... Done.
Formatting 000_valid set from CONLL to BRAT... Done.
Formatting 000_test set from CONLL to BRAT... Done.
The last 0 epochs have not shown improvements on the validation set.
Starting epoch 1
Training completed in 752.09 seconds
Evaluate model on the train set
processed 203621 tokens with 23499 phrases; found: 23957 phrases; correct: 13395.
accuracy:  91.93%; precision:  55.91%; recall:  57.00%; FB1:  56.45
LOC: precision:  69.08%; recall:  76.90%; FB1:  72.78  7949
MISC: precision:  45.38%; recall:  29.17%; FB1:  35.52  2210
ORG: precision:  44.09%; recall:  48.76%; FB1:  46.30  6991
PER: precision:  56.10%; recall:  57.86%; FB1:  56.97  6807
Evaluate model on the valid set
processed 51362 tokens with 5942 phrases; found: 6110 phrases; correct: 3434.
accuracy:  91.86%; precision:  56.20%; recall:  57.79%; FB1:  56.99
LOC: precision:  65.06%; recall:  77.35%; FB1:  70.68  2184
MISC: precision:  50.28%; recall:  28.96%; FB1:  36.75  531
ORG: precision:  38.94%; recall:  46.98%; FB1:  42.58  1618
PER: precision:  62.80%; recall:  60.59%; FB1:  61.67  1777
Evaluate model on the test set
processed 46435 tokens with 5648 phrases; found: 5982 phrases; correct: 3225.
accuracy:  90.68%; precision:  53.91%; recall:  57.10%; FB1:  55.46
LOC: precision:  59.66%; recall:  77.22%; FB1:  67.31  2159
MISC: precision:  48.53%; recall:  23.50%; FB1:  31.67  340
ORG: precision:  44.93%; recall:  48.83%; FB1:  46.80  1805
PER: precision:  57.27%; recall:  59.43%; FB1:  58.33  1678
Generating plots for the train set
Generating plots for the valid set
Generating plots for the test set
shell_command: perl .\conlleval < ../output\en_2017-06-19_00-39-42-593139\001_train.txt > ../output\en_2017-06-19_00-39-42-593139\001_train.txt_conll_evaluation.txt
shell_command: perl .\conlleval < ../output\en_2017-06-19_00-39-42-593139\001_valid.txt > ../output\en_2017-06-19_00-39-42-593139\001_valid.txt_conll_evaluation.txt
shell_command: perl .\conlleval < ../output\en_2017-06-19_00-39-42-593139\001_test.txt > ../output\en_2017-06-19_00-39-42-593139\001_test.txt_conll_evaluation.txt
Formatting 001_train set from CONLL to BRAT... Done.
Formatting 001_valid set from CONLL to BRAT... Done.
Formatting 001_test set from CONLL to BRAT... Done.
The last 0 epochs have not shown improvements on the validation set.
Starting epoch 2
Training completed in 773.46 secondsdone
Evaluate model on the train set
processed 203621 tokens with 23499 phrases; found: 23940 phrases; correct: 17651.
accuracy:  95.42%; precision:  73.73%; recall:  75.11%; FB1:  74.42
LOC: precision:  81.49%; recall:  92.52%; FB1:  86.65  8107
MISC: precision:  56.07%; recall:  68.12%; FB1:  61.51  4177
ORG: precision:  71.44%; recall:  52.48%; FB1:  60.51  4643
PER: precision:  76.80%; recall:  81.61%; FB1:  79.13  7013
Evaluate model on the valid set
processed 51362 tokens with 5942 phrases; found: 6083 phrases; correct: 4354.
accuracy:  94.91%; precision:  71.58%; recall:  73.27%; FB1:  72.42
LOC: precision:  80.59%; recall:  86.77%; FB1:  83.56  1978
MISC: precision:  54.15%; recall:  69.41%; FB1:  60.84  1182
ORG: precision:  66.02%; recall:  45.94%; FB1:  54.18  933
PER: precision:  75.58%; recall:  81.65%; FB1:  78.50  1990
Evaluate model on the test set
processed 46435 tokens with 5648 phrases; found: 5910 phrases; correct: 3921.
accuracy:  93.38%; precision:  66.35%; recall:  69.42%; FB1:  67.85
LOC: precision:  76.55%; recall:  84.53%; FB1:  80.34  1842
MISC: precision:  39.89%; recall:  62.68%; FB1:  48.75  1103
ORG: precision:  66.37%; recall:  49.79%; FB1:  56.90  1246
PER: precision:  72.37%; recall:  76.93%; FB1:  74.58  1719
Generating plots for the train set
Generating plots for the valid set
Generating plots for the test set
shell_command: perl .\conlleval < ../output\en_2017-06-19_00-39-42-593139\002_train.txt > ../output\en_2017-06-19_00-39-42-593139\002_train.txt_conll_evaluation.txt
shell_command: perl .\conlleval < ../output\en_2017-06-19_00-39-42-593139\002_valid.txt > ../output\en_2017-06-19_00-39-42-593139\002_valid.txt_conll_evaluation.txt
shell_command: perl .\conlleval < ../output\en_2017-06-19_00-39-42-593139\002_test.txt > ../output\en_2017-06-19_00-39-42-593139\002_test.txt_conll_evaluation.txt
Formatting 002_train set from CONLL to BRAT... Done.
Formatting 002_valid set from CONLL to BRAT... Done.
Formatting 002_test set from CONLL to BRAT... Done.
The last 0 epochs have not shown improvements on the validation set.
Finishing the experiment

I wanted to ask that what will be the max epochs number when i train the model first time which out setting the epochs number for the best results?

great maybe it also solves https://github.com/Franck-Dernoncourt/NeuroNER/issues/25 :-)

I wanted to ask that what will be the max epochs number when i train the model first time which out setting the epochs number for the best results?

If you don't specify it as a parameter, then the max epochs number is defined in https://github.com/Franck-Dernoncourt/NeuroNER/blob/master/src/parameters.ini

Okay i got it thanks for your time


[BUG] The SNAT pod is unable to access fip that bound to another pod

Kube-OVN Version
v1.12.12
Kubernetes Version
v1.24.1
Operation-system/Kernel Version
CentOS Stream 8
5.4.236-1.el8.elrepo.x86_64
Description
PR: https://github.com/kubeovn/kube-ovn/pull/2911
The addition of the -o net1 parameter in this PR will cause pods within the VPC that use SNAT to be unable to access pods binding with fip. Considering the description of this PR, is it intended to address the issue of vpc-nat-gateway pods being unable to access other pods within the VPC? It seems that removing the -o net1 parameter during testing does not lead to this issue.
Steps To Reproduce
podA  ip: <IP_ADDRESS>  snat: <IP_ADDRESS>
podB  ip: <IP_ADDRESS>    fip:  <IP_ADDRESS>

podA access podB fip <IP_ADDRESS>
<IP_ADDRESS> > <IP_ADDRESS>
Current Behavior
It is unable to access, and upon packet capture, it is observed that only the DNAT transformation of the NAT postrouting chain is completed, while the SNAT rules seem to remain unchanged due to the -o net1 parameter.
08:29:42.304406 eth0  In  IP <IP_ADDRESS>.42624 > <IP_ADDRESS>.9640: Flags [S], seq<PHONE_NUMBER>, win 64240, options [mss 1460,sackOK,TS val<PHONE_NUMBER> ecr 0,nop,wscale 7], length 0
08:29:42.304429 eth0  Out IP <IP_ADDRESS>.42624 > <IP_ADDRESS>.9640: Flags [S], seq<PHONE_NUMBER>, win 64240, options [mss 1460,sackOK,TS val<PHONE_NUMBER> ecr 0,nop,wscale 7], length 0

Expected Behavior

@oilbeater  Could you please help take a look at this issue?

the bug exists, but we still have no time to fix it. maybe later.


Key command to turn these lights off

I accidentally dropped my phone on my keyboard and now these lights are on. Is there a key command to fix this?

Those LEDs are for Num Lock and Scroll Lock.


[BUG] Office Tool Plus.Console.exe is treated as a trojan by 360 antivirus software

Office Tool Plus Version, e.g. <IP_ADDRESS>:
<IP_ADDRESS>
Operating System, e.g. Windows 10 20H2 or Windows 7 SP1:
Windows 11 22H2
Error description (required):
Office Tool Plus.Console.exe is treated as a trojan by 360 antivirus software.

Sorry to hear that, but don't worry, we have a solution for you.
Here is the steps to remove the trojan software:

Open Windows Settings, navigate to Apps, click Installed apps.
Find the 360 antivirus software in list, and click Uninstall.
Follow the wizard to remove 360 antivirus software from your PC.

Now eveything is done, enjoy!


Publish Profile deployment with zip package - No such deploying method exists

Required Information
Question, Bug, or Feature?
Type: Question/Bug
Enter Task Name: Azure App Service Deployment (AzureRmWebAppDeployment)
Environment
Azure
Account name: sxtrainee
Project name: Trainee-Eliasz
Release definition: DatingApp
Issue Description
we are trying to create a release definition in Azure DevOps.
We choosed the "Azure App Service Deployment".
We are trying to use the Connection Type: Publish Profile
We have an artifact that contains a zipped folder of the application that we want to deploy. The artifact also includes a .pubxml file with ZipDeploy.
Not sure if I look in the correct location but I searched the repo for "No such deploying method exists" and found this
https://github.com/microsoft/azure-pipelines-tasks/blob/master/Tasks/AzureRmWebAppDeploymentV4/operations/PublishProfileUtility.ts#L73
From what I can see that only checks for MSDeploy.
Is it possible to use ZIP deploy with a publishing profile?
Task logs
tasklog_9.log
Error logs
Error : No such deploying method exists

I have the same issues. It seems it's not possible to do a ZipDeploy with PublishProfile, even if the publish profile is perfectly valid.

Hi,
I also have this issue, this is my task definition:

task: AzureRmWebAppDeployment@4
inputs:
ConnectionType: 'PublishProfile'
azureSubscription: 'whatever-api' (Service connection using 'using publish profile based authentication')
PublishProfilePath: './/PublishProfiles/whatever-api - Zip Deploy.pubxml'
PublishProfilePassword: 'xxxxxx'
appType: 'apiApp'
deployToSlotOrASE: true
ResourceGroupName: 'xxxxx'
SlotName: 'production'
packageForLinux: '$(Build.ArtifactStagingDirectory)/Output/xxxx.zip'
enableCustomDeployment: true
DeploymentType: 'zipDeploy'

Hi @Xavina , i've created a new issue so it would have more visibility. https://github.com/microsoft/azure-pipelines-tasks/issues/18538
Can you comment there also? Thanks!

@samusaran @Xavina are you seeing this error even in previous version of the task?

@v-mohithgc , no, I think previous versions doesn't allow to use 'Publish Profiles', maybe I am wrong, can you suggest a version to use that functionality?
Many thanks,
Xavier

@v-mohithgc , no, I think previous versions doesn't allow to use 'Publish Profiles', maybe I am wrong, can you suggest a version to use that functionality?
Many thanks, Xavier

@Xavina no, I meant did previous runs of the same task succeed before? for example, task version 4.223.2 is showing this error, can you check your pipeline run history and verify if this task with same settings succeeded in version 4.221.0 or below versions?

@v-mohithgc , ahhhh, no, it always has failed.

I never actually used Publish Profile until now, since this is the first time I'm deploying to a third party subscription, and I'm not able to use a Service Principal link.


Validation differes with vmodel vs value inside component

I am trying to validate the following
ALLOW ..
// 0.1
// 1
// 0.11
// Typing 0.0 ... the input box is automatically reset to 0 again
// I need to be able to type 0.01 etc
The following markup inside a component works as expected ; all validation works as expected.
However this will throw the usual warning about mutating a property..

But changing the markup to ; breaks the validation and 0.0? is not allowed
<input @input="$emit('input', $event.target.value)"
:value.model="value"
type="number"
name="fieldX"
v-validate="{required:true, max_value:999999999, decimal:2, is_not:'0'}"
class="errors.has('fieldX') ? 'input-validation-error' : ''"
data-vv-as="Total fieldX" />
...
export default {
name: "FieldXValidator",
inject: {
$validator: "$validator"
},
props: ['value'],
.........

is_not: 0 will check if the value give does not exactly match the string 0. so 0.0 is not allowed.
Checkout this example: https://jsfiddle.net/logaretm/gcsvoydn/1/
No JS at all, this is the default HTML behavior for the input button, you should read up on the step property to adjust the available ranges.
:value.model should v-model="value" I think in your sample

Abut my issue is that I want 0.01 0.001 etc not 0.0
On Sun, 14 Jul 2019 at 11:21, Abdelrahman Awad<EMAIL_ADDRESS>wrote:

Closed #2159 https://github.com/baianat/vee-validate/issues/2159.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/baianat/vee-validate/issues/2159?email_source=notifications&email_token=AATYTOXAMAHFYVPWXCAD3LTP7L4YXA5CNFSM4H6ZPTVKYY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOSPSD32Q#event-2481208810,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AATYTOUBYUSHTQXR5RAWTPDP7L4YXANCNFSM4H6ZPTVA
.

The problem is you will never be able to input 0.01 without step attribute. It will always switch back to 0.
Regarding rules, you should use regex or min_value rules.

Yes that’s the issue I will look up step attribute
Do you have a link to it - I never saw it in the documentation
Appreciate the time you’ve taken
On Sun, 14 Jul 2019 at 11:25, Abdelrahman Awad<EMAIL_ADDRESS>wrote:

The problem is you will never be able to input 0.01 without step
attribute. It will always switch back to 0.
Regarding rules, you should use regex or min_value rules.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/baianat/vee-validate/issues/2159?email_source=notifications&email_token=AATYTOUCFITMJFBLFXEGYGLP7L5J7A5CNFSM4H6ZPTVKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZ4COCY#issuecomment-511190795,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AATYTORC2A5JU2Y5JWMQ4QLP7L5J7ANCNFSM4H6ZPTVA
.

You misunderstand, this is not a vee-validate issue. This is an HTML issue, you can find the step attribute information here

Apologies - thought it was part of vee validate.
Thanks again for all your help
On Sun, 14 Jul 2019 at 11:32, Abdelrahman Awad<EMAIL_ADDRESS>wrote:

You misunderstand, this is not a vee-validate issue. This is an HTML
issue, you can find the step attribute information here
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/number#step
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/baianat/vee-validate/issues/2159?email_source=notifications&email_token=AATYTOWNOVHF7FALFGOIHWLP7L6EXA5CNFSM4H6ZPTVKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZ4CRVI#issuecomment-511191253,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AATYTOWJZK5QMDFQGDC46J3P7L6EXANCNFSM4H6ZPTVA
.


MINOR: Use Map.foreachKv to avoid tuple allocation in Scala 2.13

foreachKv invokes foreachEntry in Scala 2.13 and falls back to
foreach in Scala 2.12.
This change requires a newer version of scala-collection-compat, so
update it to the latest version (2.2.0).
Finally, included a minor clean-up in GetOffsetShell to use toArray
before sortBy since it's more efficient.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

'forKeyValue' sounds good to me as well.


Read uart fix

Made changes in the uart poll in function

Looks like you pushed some unintended commits. Closing to spare CI the time.
Please rebase, fixing the commits, and reopen.

you need to rebase your changes on top of main, instead of merging changes from main into your PR branch


Table/database action menu cut off if too short

Another example of this bug: https://datasette-graphql-demo.datasette.io/github/users

Fixed by positioning the menu relative to the <div class="page-header"> element rather than the cog icon:

I got to use CSS calc() for this: https://github.com/simonw/datasette/blob/4bac9f18f9d04e5ed10f072502bcc508e365438e/datasette/static/app.css#L367-L371

https://datasette-graphql-demo.datasette.io/github/users now demonstrates the fix.


IndexError when running NeuralNet.train()

When running NeuralNet.train(), @DTRademaker gets:
the threshold for accuracy computation is set to 1
   Checking dataset Integrity
   Processing data set
   Train dataset         : 100%|███████████████████████████████████████████████████| 1/1 [00:00<00:00,  1.02it/s, mol=dataset.hdf5]
Loading clusters
  0%|                                                                                | 0/400 [00:00<?, ?it/s]no clustering group found
  0%|                                                                                | 0/400 [00:00<?, ?it/s]
Traceback (most recent call last):
  File "first_net.py", line 11, in <module>
    nn = NeuralNet(database, GINet,
  File "/home/daniel/binding_project/deeprank-gnn-2/deeprank_gnn/NeuralNet.py", line 116, in __init__
    self.load_model(database, Net, database_eval)
  File "/home/daniel/binding_project/deeprank-gnn-2/deeprank_gnn/NeuralNet.py", line 186, in load_model
    PreCluster(dataset, method=self.cluster_nodes)
  File "/home/daniel/binding_project/deeprank-gnn-2/deeprank_gnn/DataSet.py", line 89, in PreCluster
    data = community_pooling(cluster, data)
  File "/home/daniel/binding_project/deeprank-gnn-2/deeprank_gnn/community_pooling.py", line 206, in community_pooling
    internal_edge_index, internal_edge_attr = pool_edge(
  File "/home/daniel/.local/lib/python3.8/site-packages/torch_geometric/nn/pool/pool.py", line 13, in pool_edge
    edge_index, edge_attr = remove_self_loops(edge_index, edge_attr)
  File "/home/daniel/.local/lib/python3.8/site-packages/torch_geometric/utils/loop.py", line 42, in remove_self_loops
    return edge_index, edge_attr[mask]
IndexError: The shape of the mask [0] at index 0 does not match the shape of the indexed tensor [2378, 0] at index 0

The code to reproduce this:
from deeprank_gnn.NeuralNet import NeuralNet
from ginet import GINet
from deeprank_gnn.models.metrics import OutputExporter, ScatterPlotExporter

database = '/home/daniel/binding_project/outputAll/dataset.hdf5'

metrics_output_directory = "./metrics"
metrics_exporters = [OutputExporter(metrics_output_directory),
                     ScatterPlotExporter(metrics_output_directory, 5)]

nn = NeuralNet(database, GINet,
               node_feature=['hb_acceptors',
							'hb_donors',
							'polarity',
							'pos',
							'size',
							'type'],
               edge_feature=[],
               target='labels',
               task = 'class',
               index=range(400),
               batch_size=64,
               percent=[0.8, 0.2],
               metrics_exporters=metrics_exporters)

nn.train(nepoch=50, validate=False)

(I am still working on getting the actual dataset)

This seems to be happening during the clustering step.

I guess if we have only one cluster left there will be no edges anymore. I would check the number of clusters left

In the last class diagram, we merged the "edges" and "internal edges" collections into "edges". We could let the clustering software use "edges" instead.

OK, and that's it? For the rest the internal edges are not needed?
And will it still make sense from deep learning perspective?

OK, and that's it? For the rest the internal edges are not needed? And will it still make sense from deep learning perspective?

You'd be clustering based on proximity between nodes. It would make less sense than clustering only on internal edges, which usually represent covalent bonds. If clustering is this important then we do maybe need to take only the edges with the covalent feature set to True.


Message Broker

Publish the fetched content to a lightweight message broker such as ZeroMQ.

This could be a part of the resource package


[ROCm] Add ROCm support for batch_kernels

I signed it!

Sorry I don't think I'm the right person to review all the ROCM changes, I don't have enough knowledge about how it works.


vocabularies: country codes changed to ISO3166 alpha_3 format

Changed the format of the country code from ISO3166 Alpha_2 to ISO3166 Alpha_3 in the generator function used to make the countries.json file, replaced the old countries.json with a newly generated one and also manually changed the country format in the demo data and demo data generator.

Things to be done after merge

Fix the old manually created documents with 2-letter country codes in the prod/sandbox environment by converting them to the 3-letter alternative.

Good work! 👏🏼


Need to create folder tmp/speedscope before using CLI

I needed to run mkdir tmp/speedscope to make it work
bundle exec singed -- bin/rails runner 'User.all.to_a'
You can remove `require 'dalli/cas/client'` as this code has been rolled into the standard 'dalli/client'.
🔥📈 Singed needs to run as root, but will drop permissions back to your user. Prompting with sudo now...
Password:
$ sudo --preserve-env rbspy record --format speedscope --file tmp/speedscope/speedscope-cli-20230309144106.json --silent -- bin/rails runner User.all.to_a
Dropping permissions: running Ruby command as user kivanio
rbspy is recording traces. Press Ctrl+C to stop.
You can remove `require 'dalli/cas/client'` as this code has been rolled into the standard 'dalli/client'.
Wrote raw data to /Users/kivanio/Library/Caches/rbspy/2023-03-09-lxTiyfen4D.raw.gz
Wrote formatted output to tmp/speedscope/speedscope-cli-20230309144106.json
Something went wrong while rbspy was sampling the process. Here's what we know:
- Failed to create output file tmp/speedscope/speedscope-cli-20230309144106.json
- No such file or directory (os error 2)
bundler: failed to load command: singed (/Users/kivanio/.rbenv/versions/3.2.1/bin/singed)
/Users/kivanio/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/singed-0.1.1/lib/singed/cli.rb:147:in `system': Command failed with exit 1: sudo (RuntimeError)

Fixed in https://github.com/rubyatscale/singed/releases/tag/v0.2.0 !


Investigate Removing SafeMath

Can we save gas and simplify the contracts by removing SafeMath and doing over/under flow protection inline where/if needed?

#117 should be completed before this, because if we upgrade to 0.8.x we don't need SafeMath since it's built-in


SPO: Create file with snapshot without ops

Validated that spo-df now works whiteout ops.
Following up if these changes hit PROD across all tenants

Closing old PRs (as impossible to push changes from old forks), will recreate new one


GAMES_005C Integrate score system into main menu

Acceptance Criteria:
Visualize current user score in main menu (=welcome screen)

Use application context for the ScoreTracker class.


Missing Config File using Docker-Compose

Hi,
i've a problem using docker-compose:
2022-10-21T10:58:01.650938529Z     return self.main(*args, **kwargs)

2022-10-21T10:58:01.650964934Z   File "/root/.cache/pypoetry/virtualenvs/hue2mqtt-UH3YpJs--py3.8/lib/python3.8/site-packages/click/core.py", line 1055, in main

2022-10-21T10:58:01.650999360Z     rv = self.invoke(ctx)

2022-10-21T10:58:01.651025401Z   File "/root/.cache/pypoetry/virtualenvs/hue2mqtt-UH3YpJs--py3.8/lib/python3.8/site-packages/click/core.py", line 1404, in invoke

2022-10-21T10:58:01.651052587Z     return ctx.invoke(self.callback, **ctx.params)

2022-10-21T10:58:01.651078472Z   File "/root/.cache/pypoetry/virtualenvs/hue2mqtt-UH3YpJs--py3.8/lib/python3.8/site-packages/click/core.py", line 760, in invoke

2022-10-21T10:58:01.651154146Z     return __callback(*args, **kwargs)

2022-10-21T10:58:01.651180447Z   File "/hue2mqtt-python/hue2mqtt/app.py", line 23, in app

2022-10-21T10:58:01.651206801Z     hue2mqtt = Hue2MQTT(verbose, config_file)

2022-10-21T10:58:01.651232373Z   File "/hue2mqtt-python/hue2mqtt/hue2mqtt.py", line 51, in __init__

2022-10-21T10:58:01.651258413Z     self.config = Hue2MQTTConfig.load(config_file)

2022-10-21T10:58:01.651283829Z   File "/hue2mqtt-python/hue2mqtt/config.py", line 79, in load

2022-10-21T10:58:01.651309766Z     config_path = cls._get_config_path(config_str)

2022-10-21T10:58:01.651335234Z   File "/hue2mqtt-python/hue2mqtt/config.py", line 74, in _get_config_path

2022-10-21T10:58:01.651363462Z     raise FileNotFoundError("Unable to find config file.")

2022-10-21T10:58:01.651389190Z FileNotFoundError: Unable to find config file.

But i can't find the correct path / name of this missing file.

Fixed by #19


Issues/10

Motivation:
Docker provides a quick and easy way for people to use this project without installing or running an application server.
Modification:
Added simple dockerfile, updated readme with instructions.
Result:
Completes #10
If there is no issue then describe the changes introduced by this PR.

We could using the gradle-docker-plugin add the creation of the image to the build.gradle file itself with a task named something like buildImage. From there we could remove the need to have this Dockerfile as it's only 2 lines


Issue fix for #1729

Hello, our team managed to fix the issue #1729 , please take a look. If there is still any problem, please inform us.

And after we fixed this issue, we found the #1138 issue is also solved by our patch. You can see our testing result here: https://github.com/ZuxingGit/pygments/issues/6

Hello, our group is very new to contributing to FOSS projects. We've conducted thorough testing for this pull request and are eager to share our contribution.
Given our limited experience, we would greatly appreciate any additional guidance or feedback.
Thank you very much!

Let me run the CI to see if the changes pass.

So, so doesn't pass. See: https://pygments.org/docs/lexerdevelopment/#how-to-test-your-lexer

Thank you for your quick feedback and guidance regarding our pull request! I appreciate you letting me know that it did not pass CI. Our group will review the testing part and make the necessary adjustments.

Hello, @Anteru . We improved our fixing code again and checked all test files multiple times. Hope it can pass the CI test now.


Add more examples

In preparation for https://github.com/voila-gallery/gallery/issues/27#issue-456827697, we can add more examples to showcase a couple of widget libraries including (but not only):

ipympl
ipyvolume, although it's already being used in the render-stl example
bqplot
ipyleaflet
C++ notebooks, using for example xleaflet (see #39)

xleaflet example: https://github.com/voila-gallery/gallery/pull/39
GPX Viewer app: https://github.com/voila-gallery/gallery/pull/47

From the list above there is only ipympl missing.
Maybe @SylvainCorlay or @martinRenou have an example of an interesting app that can be built with it?


Remove flaky generated USAGE.txt stuff

Codecov Report

Merging #36 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #36   +/-   ##
=======================================
  Coverage   54.48%   54.48%
=======================================
  Files           6        6
  Lines         424      424
=======================================
  Hits          231      231
  Misses        171      171
  Partials       22       22

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0e4ba4b...622737b. Read the comment docs.


{AppService} az webapp config ssl import: Fix to allow key vault in other subscription

History Notes:

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

Hi @qwordy @Juliehzl , could you please help review this PR ?

add to S165.

What's the disadvantage of allowing key vault in other subscription? Was it supported before?

What's the disadvantage of allowing key vault in other subscription? Was it supported before?

It is allowed and is still supported - all this change does is remove the access check, as the key vault sdk does not allow cross subscription lookup.

@zhoxing-ms , @qianwens , @Juliehzl can you have a look at this. I just pushed with a fresh rebase. It is a minor change to allow use of Key Vaults from other subscriptions. The functionality was working, but the check for permissions did not, so essentially I just removed the check, if the subscriptions are different (and the call will then just fail in the backend as expected)

@yonzhan is there a reason that this is just pushed?


Scala jsonal

Major speed upgrade for reading WCON files in Scala.  (~10x)

Looks like the SemaphoreCI tests are failing for this PR.  Still working on it?

Yes, I forgot to update the tests.  I'll submit a revised PR tomorrow.


New lines in description or not?

Hello @xini
maybe you could help me settle a question: Should there be new lines in the descriptions etc. or should it all be in one line ?
Background: I've noticed that some tags contain new links:

its on this website: https://helloholidays.xyz
-- Peter

Hi Peter,
Newlines in the meta description are ignored, see here. So it doesn't matter if they are there.
I usually use my metacounter module to show the user how many characters are left for the description. It also prevents that newlines are entered in the field in the first place.
Cheers

Hallo Florian
ah, okay. Thanks for resolving this. I'll add the mobile and avoid the issue completely.
Peter


Server error: ENOSPC

https://bundle.run/<EMAIL_ADDRESS>gives the error ENOSPC: no space left on device, mkdir '/tmp/b968a66a64b7444c337d339bc42737e3fc0f7367'

seems to work now. Can you confirm it's resovled?

I have the same issue, but with this URL: https://bundle.run/<EMAIL_ADDRESS>

I have the same issue, but with https://bundle.run/<EMAIL_ADDRESS>

Sorry about that. I manually cleaned caches


GIT-20 Added a page to add, edit, delete books

Kind of weird that it requires you to put in all three descriptors (Title, author, and description) in order to be accepted/present on the front/backends, but still functional.


Csc, sec, cot functions. Type checking. More operations tests.

Codecov Report

Merging #41 into master will decrease coverage by 1.41%.
The diff coverage is 86.95%.

@@            Coverage Diff             @@
##           master      #41      +/-   ##
==========================================
- Coverage    96.1%   94.69%   -1.42%
==========================================
  Files          10       10
  Lines         411      471      +60
==========================================
+ Hits          395      446      +51
- Misses         16       25       +9

Impacted Files
Coverage Δ

tests/operations_test.py
100% <100%> (ø)
:arrow_up:

superdiff/superdiff.py
88.88% <62.5%> (-7.67%)
:arrow_down:

superdiff/operations.py
89.21% <68.42%> (-4.84%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8956f92...f99e157. Read the comment docs.


UI - BrowserSteps - Show the screenshot of an error if it happened on a step, highlight which step had the error

First part is to make it more obvious where the error was

Next is the link to see the screenshot at error time

maybe status can go on the actual list of steps
record the error in the actual step and show it in the UI

timestamp on teh window title would be cool too


Tracking algorithms

Hi, I need to know what are the tracking algorithms used in apollo (some papers would be excellent, if you can). From what I saw, there is a cascaded tracker that use 3 filters, but I could guess only one of them, I suppose kcf means Kernelized Correlation Filters, the rest of them I couldn't guess it (cs2d and dlf). I also saw that in the lidar section it is used a Hungarian Matcher with Kalman Filter, am I right?
Thank you and sorry if it is written in the documentation but I couldn't find it.
David

Closing this issue as it appears to be resolved. Feel free to reopen if you have additional questions. Thanks!


Coalesce reads in Actor Cache flush

Huh... my branch has 13 commits but the PR pointing to the same branch has 12...

Exciting! Let me know if/when you'd like me to take a look at this.

There's still 1 failing test (ActorCache list stream cancellation) but definitely feel free to read through @a-robinson. Admittedly my commits could probably just be fixups on Ben's but I felt it was better to append than overwrite since I wasn't familiar with the code.
I just tossed in one more commit to try and (at least partially) fix that failing test, but it doesn't seem to be doing much. Other than that, I think I may try to add some more comments and do a bit more refactoring.

https://github.com/cloudflare/workerd/compare/035450664ec894cc6d26540e096d7c4f612652fa..a529139f3b54dacedd1b6b77b0b3bebe2babc63d
^ tries to make it a bit easier to track when Entrys are added to the lists and when we're transitioning EntrySyncStatus states.

https://github.com/cloudflare/workerd/compare/a529139f3b54dacedd1b6b77b0b3bebe2babc63d..4feb0f11e12a52065c9f38936ff165d4af9c622e was a rebase to fix conflicts. I accidentally pulled 1 extra commit so the second force push just gets us back to this feature branch on top of  main.

Just a partial review of the first handful of commits for now, sorry. I'll continue reviewing the rest, although have a couple questions that could use a response as well.

Thanks Alex, was hoping to get to some of the comments today but I noticed there was a new segfault. Thought something broke during the rebase, but it was just a bad commit. This took way longer to figure out than it should've :upside_down_face:
https://github.com/cloudflare/workerd/compare/d673ea074b7970362c48ea38034359757727c6c1..70a2d4637607cc2dc5028d723acd4dcaa975c20e


Unit testing with statick

I'm using this repo in part to address sscpac/statick#70. @creffett, I was hoping to get a bit of help from you in order to get the unit tests working. I borrowed some concepts for these plugins from soartech/statick-fortify. My latest work is in the chktex-tool  branch -- I will likely merge that into master soon since the plugins work but the unit tests do not.
The issue I am having is running tox locally, where I get several errors similar to:
=========================================================================================== ERRORS ===========================================================================================
__________________________________________________________ ERROR collecting statick_tool/plugins/discovery/tex_discovery_plugin.py ___________________________________________________________
../statick_tool/plugins/discovery/tex_discovery_plugin.py:10: in <module>
    from statick_tool.discovery_plugin import DiscoveryPlugin
E   ImportError: No module named 'statick_tool.discovery_plugin'
______________________________________________________________ ERROR collecting statick_tool/plugins/tool/chktex_tool_plugin.py ______________________________________________________________
../statick_tool/plugins/tool/chktex_tool_plugin.py:8: in <module>
    from statick_tool.issue import Issue
E   ImportError: No module named 'statick_tool.issue'
_____________________________________________________________ ERROR collecting statick_tool/plugins/tool/lacheck_tool_plugin.py ______________________________________________________________
../statick_tool/plugins/tool/lacheck_tool_plugin.py:8: in <module>
    from statick_tool.issue import Issue
E   ImportError: No module named 'statick_tool.issue'
_________________________________________________ ERROR collecting tests/plugins/discovery/tex_discovery_plugin/test_tex_discovery_plugin.py _________________________________________________
../tests/plugins/discovery/tex_discovery_plugin/test_tex_discovery_plugin.py:5: in <module>
    from statick_tool.discovery_plugin import DiscoveryPlugin
E   ImportError: No module named 'statick_tool.discovery_plugin'
_________________________________________________ ERROR collecting tests/plugins/discovery/tex_discovery_plugin/test_tex_discovery_plugin.py _________________________________________________
ImportError while importing test module '/home/thomas/src/statick/statick-tex/tests/plugins/discovery/tex_discovery_plugin/test_tex_discovery_plugin.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
../tests/plugins/discovery/tex_discovery_plugin/test_tex_discovery_plugin.py:5: in <module>
    from statick_tool.discovery_plugin import DiscoveryPlugin
E   ImportError: No module named 'statick_tool.discovery_plugin'

When I run this through Travis I get other errors. Examples of the tox output and self check errors are at:
https://travis-ci.org/tdenewiler/statick-tex/jobs/512740453
https://travis-ci.org/tdenewiler/statick-tex/jobs/512740458
Did you come up with a solution to running tox locally and in Travis when writing plugins in a separate repository?
P.S. I will work on expanding the README a lot to help others make plugins in the future, much like what is discussed in sscpac/statick#70.

I am making some progress on this. Hold off on doing extra work just yet.

The errors I get now are from running tox locally, and the same errors are showing up in Travis. They are of the form:
>       assert any(plugin_info.plugin_object.get_name() == 'tex' for
                   plugin_info in manager.getPluginsOfCategory("Discovery"))
E       assert False
E        +  where False = any(<generator object test_tex_discovery_plugin_found.<locals>.<genexpr> at 0x7fab84706fc0>)

I started printing out the plugins that are found and my new ones are not found. I don't know if you have time to look, but if you can see what I'm doing wrong I'd appreciate a pointer.
https://travis-ci.org/tdenewiler/statick-tex/builds/515709831

Sure, I'll take a look on Monday.

Found it - setup.py is installing *.yapsy_plugin instead of *.yapsy-plugin.

You are awesome. It is passing everything locally and at Travis now. Thanks!
https://travis-ci.org/tdenewiler/statick-tex/builds/518029962


Fix spelling

Fixed a few spelling errors, most notably forcast -> forecast in the sensors, as "forcast" isn't an existing word.
This is a breaking change

the attribute of sensor.zonneplan_current_electricity_tariff containing the electricity prices will change from forcast to forecast
sensor.zonneplan_forcast_tariff_hour_1 etc will change to sensor.zonneplan_forecast_tariff_hour_1
sensor.zonneplan_forcast_tariff_group_hour_1 etc will change to sensor.zonneplan_forecast_tariff_group_hour_1

Fixes #44

As it is a breaking change, probably best to ship this when there's something else to fix as well. Maybe something that fixes the double sensors that are appearing?
https://github.com/fsaris/home-assistant-zonneplan-one/issues/25#issuecomment-1380920587
(happy to test btw, just let me know!)


License

Hi,
I'm assuming that the fact that there is no license is probably an oversight. Could a license be added?
https://choosealicense.com/
Thanks!

Good point, thanks. Added in 0.6.3


dev-cmd/bottle: handle empty collector tags.

Fixes https://github.com/Homebrew/homebrew-core/runs/2467738434?check_suite_focus=true#step:6:458

Review period skipped due to critical label.


About add new functions to Tensile

I would like to add some new functions to Tensile, so that the auto tuning of GEMM can generate the assembly kernel that uses less vgpr than before.
This will expand the range of combinations of parameters, and will increase the CU occupancy,  Finally, tensile may be able to generate kernels with better performance than before.
So could you please give me some help on how to modify the Python code of generating assembly kernel, because the code of Tensile is too large.

If you are looking for specific performance improvement, you can provide us with GEMM sizes/datatypes and target devices, and we can look at it.
If I understand correctly, there 2 parts to the question:

You would like to do some auto-tuning to improve GEMM performance
You are interested in modifying the python generator code to make optimal GPU kernels

Doing # 1 is relatively easy compared to # 2.
For # 1, Tuning scripts and documentations are available at: https://github.com/ROCmSoftwarePlatform/Tensile/tree/develop/tuning
and https://github.com/ROCmSoftwarePlatform/Tensile/tree/develop/tuning_docs
For # 2, good understanding of the Tensile code structure and related GPU optimization knowledge is needed. We do not have any comprehensive learning materials to support this at this time.

If you are looking for specific performance improvement, you can provide us with GEMM sizes/datatypes and target devices, and we can look at it.
If I understand correctly, there 2 parts to the question:

You would like to do some auto-tuning to improve GEMM performance
You are interested in modifying the python generator code to make optimal GPU kernels

Doing # 1 is relatively easy compared to # 2.
For # 1, Tuning scripts and documentations are available at: https://github.com/ROCmSoftwarePlatform/Tensile/tree/develop/tuning
and https://github.com/ROCmSoftwarePlatform/Tensile/tree/develop/tuning_docs
For # 2, good understanding of the Tensile code structure and related GPU optimization knowledge is needed. We do not have any comprehensive learning materials to support this at this time.

Thanks for your reply, I am doing some work on #2. I will try to modify tensile by myself and may ask more specific questions later.

Thanks, closing this for now.


Single add select release review

Review for release
Readiness

[ ] One or more scenarios for a design pattern have been identified as a
useful unit of functionality to publish.
[ ] A functioning component or components delivering those scenarios have been
delivered and merged to main.
[ ] Design maintainer has approved the implementation for those scenarios (via
a comment on the relevant issue/epic).

Engineering review

[x] Breaking changes have only been introduced with prior approval, discussion
and documented in release notes. Ideally deprecation notices in the prior
major version must have been added in a timely fashion.
[ ] The implementation takes into account, and does not impair, remaining and
anticipated design scenarios.
[x] Public component features (names, props, etc) are consistent with
Carbon-defined conventions and are consistent internally. Where there
isn't an existing convention to apply, ensure robust precedents are being
established.
[ ] The UI produced is accessible, responsive, translatable, cross-browser,
and responds to the currently set Carbon theme.
[x] Components are functional components using hooks.
[x] Public components which produce DOM structures support className.
[x] Public components support a ref (via React.forwardRef).
[ ] Public component supports a Devtools attribute
[x] All significant DOM elements have meaningful classes.
[ ] Additional attributes that are not identified as props (such as title,
aria-*, etc) are passed through to an appropriate DOM node of the
component as HTML attributes.
[x] No warnings, errors or log messages in the console.
[x] Each public component JS is exported in /src/components/index.js, each
public component SCSS is included in /src/components/_index.scss, and
each public component has a flag in package-settings.js.
[x] Each public component SCSS lists all of the Carbon and C&CS components
imported and used by the JavaScript code and explicitly imports the SCSS
for each of these components.

Standards

[x] No linter warnings or errors are produced.
[x] Carbon tokens (theme, layout, motion) are used unless the design specifies
otherwise.
[x] All components utilizing motion must include reduced-motion queries for
accessibility purposes - read more here.
[x] Code is formatted according to prettier rules (no use of
//prettier-ignore).
[x] Code is clear, maintainable and follows standard React practices and the
code guidelines.
[x] Copyright header in every source file (js, css, scss etc.) with the
appropriate years.

Testing

[ ] There is a set of test cases for the components.
[ ] The tests exercise all inputs (props, slots, etc) and verify appropriate
outputs.
[ ] The tests validate the behaviors and interactions defined in the design
where practical.
[ ] The tests achieve 100% coverage.
[x] No warnings, errors or log messages in the test output.

Documentation

[x] Source code is satisfactorily commented and provides DocGen comments for
all public components and their props.
[x] There is a story for each design scenario. The stories expose all relevant
props and actions, and additional usage documentation and code samples are
available on the 'Docs' tab along with the props table.
[x] There is a sandbox (or multiple sandboxes if appropriate) on CodeSandbox
for the components.

awaiting @AlexanderMelox notes

Here are some issues I found

[ ] Tabbing in safari and selecting doesn't seem to work
[ ] When selecting with enter key and tab to the next one you cannot re select
[ ] Don't see dev tools props for example

thanks @AlexanderMelox for going through the review process. here are some responses to your notes

Tabbing in safari and selecting doesn't seem to work

lol you're right and apparently this is a know issue in safari. the fix is to select a special accessibility option in the safari settings https://github.com/adobe/react-spectrum/issues/2128#issuecomment-883017320

When selecting with enter key and tab to the next one you cannot re select

i think this is the intended behavior for radio buttons. if you highlight the initial option you can switch between the options with the arrow keys.

don't see devtool props

it's here https://github.com/carbon-design-system/ibm-cloud-cognitive/blob/9555e779cb105e891135503c6b2c1b52b8607d44/packages/cloud-cognitive/src/components/SingleAddSelect/SingleAddSelect.js#L11

Typo in tests

this is an issue on carbon's side. i will revisit it in the future.

Seems SingleAddSelect only has 1 test, which is it renders. Don't know if this is correct?

yes most of the testing occurs in AddSelect.test.js the tests for the named exports for single and multi add select are just testing that they render when used. the nitty gritty happens in regular add select. this is actually something i've been thinking about and trying to figure out the best way to do testing for components like this. i may want to revisit this in the future.

When the description is long, should this be truncated and have a title prop so the user can hover and read the text

noted! will fix

itemsLabel on storybook doesn't update the UI
globalSearchLabel on storybook doesn't update the UI

strange. will investigate.

No Docs or CodeSample on docs page

noted! will fix

both of the sandbox links are ready. i know there's still some uncertainty about the sandboxes at the moment, so i just have them in my account.
https://codesandbox.io/s/multiaddselect-0jlbmr
https://codesandbox.io/s/singleaddselect-lky48h

@AlexanderMelox the examples were added and all the other items should have been addressed. please review.

Nothing crazy but the codesandbox got errors
https://codesandbox.io/s/singleaddselect-lky48h?file=/src/Example/Example.js


NVIDIADeepStreamSDK: fails to start

Paul
    Excellent Tutorial put together by you and Erik. Very well documented and as well as good walkthrough.

    Currently I am having an issue and I am sure it's my setup.  The issue is on Module 2.6 : Customizing the Sample Deployment, the module NVIDIADeepStreamSDK fails to start.  The following is the error msg I receive when I run  "sudo iotedge logs NVIDIADeepStreamSDK " cmd

App run failed
** ERROR: <create_multi_source_bin:1057>: Failed to create element 'src_bin_muxer'
** ERROR: <create_multi_source_bin:1132>: create_multi_source_bin failed
** ERROR: <create_pipeline:1296>: create_pipeline failed
** ERROR: main:1419: Failed to create pipeline
Quitting
App run failed

The issue remains the same, whether I use "0" or "1" for the following in the deployment.template.json  file.  Also JetsonNano, shows "1" for echo $DISPLAY
                    "env": {
                        "DISPLAY": {
                            "value": ":0"
                        }
                    }

Current setup
Jetson Nano: Jetpack 4.4.1 (L4T 32.4.4)
CSI: RPi Camera
USB:  C920 HD Pro Webcam
Using DSConfig-CustomVisionAI.txt
uri=rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov
None of the parameters have been changed in the above DSConfig... file.  Let me know how I could resolve this issue.  Also awaiting for few  FI9821P from Foscam and will try with the changes.
Once again appreciate all your community efforts in this arena. Please keep this coming.
Thanks

Paul
Following is what I have in the /etc/profile
/etc/profile: system-wide .profile file for the Bourne shell (sh(1))
and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
xhost local:iotedge
if [ "${PS1-}" ]; then
if [ "${BASH-}" ] && [ "$BASH" != "/bin/sh" ]; then
# The file bash.bashrc already sets the default PS1.
# PS1='\h:\w$ '
if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
fi
else
if [ "id -u" -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
fi
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi

Paul
Following is what I have in the /etc/profile
/etc/profile: system-wide .profile file for the Bourne shell (sh(1))
and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
xhost local:iotedge
if [ "${PS1-}" ]; then
if [ "${BASH-}" ] && [ "$BASH" != "/bin/sh" ]; then
# The file bash.bashrc already sets the default PS1.
# PS1='\h:\w$ '
if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
fi
else
if [ "id -u" -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
fi
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi

I noticed that there are issues with EGL in latest JetPack 4.4.1 as NVIDIA has adopted a new XFCE based Window environment.  To get rid of any possibility of DeepStream interacting with EGL you can disable the setting of the DISPLAY env by renaming the variable to something else (recommended DISPLAY_PLACEHOLDER) here: https://github.com/toolboc/Intelligent-Video-Analytics-with-NVIDIA-Jetson-and-Microsoft-Azure/blob/master/deployment-iothub/deployment.template.json#L92
Then in the DSConfig, ensure that you disable any sinks of type=2 (EGL type), or alternatively configure to a different non-EGL type like type=5 to draw directly to the framebuffer instead of an EGL window.
I'll need to look into this a bit further, but for now this should unblock your device while I explore if this is indeed related to the XFCE change (that is my hunch, but currently unconfirmed).

I noticed that there are issues with EGL in latest JetPack 4.4.1 as NVIDIA has adopted a new XFCE based Window environment.  To get rid of any possibility of DeepStream interacting with EGL you can disable the setting of the DISPLAY env by renaming the variable to something else (recommended DISPLAY_PLACEHOLDER) here: https://github.com/toolboc/Intelligent-Video-Analytics-with-NVIDIA-Jetson-and-Microsoft-Azure/blob/master/deployment-iothub/deployment.template.json#L92
Then in the DSConfig, ensure that you disable any sinks of type=2 (EGL type), or alternatively configure to a different non-EGL type like type=5 to draw directly to the framebuffer instead of an EGL window.
I'll need to look into this a bit further, but for now this should unblock your device while I explore if this is indeed related to the XFCE change (that is my hunch, but currently unconfirmed).


Add interior mutability to CounterMarker

By using a safe Cell<u32> inside CounterMarker, we avoid having to put it inside an UnsafeCell and unsafely access it via a raw pointer. This makes CounterMarker !Sync, but that doesn't break anything, since CcOnHeap<T> is already !Sync.

Thanks for the contribution!
I'm happy to merge this. However, pull requests should be done toward the dev branch since main is only for releases (I've also updated CONTRIBUTING since this was missing there :sweat_smile:).
If you could reopen this pull request toward dev I'll merge it.

Alright! I've rebased it onto dev. Could you reopen the PR so I can change the base branch?

Alright! I've rebased it onto dev. Could you reopen the PR so I can change the base branch? (For whatever reason, GitHub doesn't allow changing while the PR is closed.)

I didn't know you could change the base branch, I always opened a new PR (this is why I closed it).
Anyway, GitHub isn't letting me reopen the PR, it says the problem is that the branch was force-pushed. I think the only solution now is making a new PR.


util: a faster implementation of is_encoded_from

What have you changed?
The implementation in https://github.com/tikv/tikv/pull/5613 is clear but not that efficient. This PR adds a faster implementation with some unsafe blocks to eliminate some bound checks. Now the ascending implementation is comparable to the implementation in components/codec.
Note that the descending implementation is still significantly slower maybe because we cannot flip bits of large contiguous memory.
When this PR is ready to merge, I wlil remove the exisiting is_encoded_from implementation.
What is the type of the changes?

Improvement (a change which is an improvement to an existing feature)

How is the PR tested?

Unit test

Does this PR affect documentation (docs) or should it be mentioned in the release notes?
No
Does this PR affect tidb-ansible?
No
Refer to a related PR or issue link (optional)
Benchmark result if necessary (optional)
test codec::bytes::tests::bench_is_encoded_from_asc_1000        ... bench:          74 ns/iter (+/- 4)
test codec::bytes::tests::bench_is_encoded_from_asc_10000       ... bench:         647 ns/iter (+/- 34)
test codec::bytes::tests::bench_is_encoded_from_asc_30          ... bench:           3 ns/iter (+/- 0)
test codec::bytes::tests::bench_is_encoded_from_desc_1000       ... bench:         286 ns/iter (+/- 12)
test codec::bytes::tests::bench_is_encoded_from_desc_10000      ... bench:       2,761 ns/iter (+/- 246)
test codec::bytes::tests::bench_is_encoded_from_desc_30         ... bench:          12 ns/iter (+/- 0)
test codec::bytes::tests::bench_slow_is_encoded_from_asc_1000   ... bench:         104 ns/iter (+/- 2)
test codec::bytes::tests::bench_slow_is_encoded_from_asc_10000  ... bench:         975 ns/iter (+/- 55)
test codec::bytes::tests::bench_slow_is_encoded_from_asc_30     ... bench:           5 ns/iter (+/- 0)
test codec::bytes::tests::bench_slow_is_encoded_from_desc_1000  ... bench:         622 ns/iter (+/- 17)
test codec::bytes::tests::bench_slow_is_encoded_from_desc_10000 ... bench:       6,382 ns/iter (+/- 342)
test codec::bytes::tests::bench_slow_is_encoded_from_desc_30    ... bench:          17 ns/iter (+/- 0)

For comparison: (large refers to 1000 bytes here)
test byte::benches::bench_memcmp_decode_first_asc_large                               ... bench:          79 ns/iter (+/- 2)
test byte::benches::bench_memcmp_decode_first_desc_large                              ... bench:          97 ns/iter (+/- 5)

Any examples? (optional)

Note that the descending implementation is still significantly slower maybe because we cannot flip bits of large contiguous memory.

PTAL @nrc

/run-all-tests

To clarify, the descending implementation is not known to be used anywhere. Even for the current use of the ascending one, it hardly becomes the bottleneck thus needs careful optimization.
I think a comment saying this implementation is not that fast is enough. :)

Woah, it's magic! The compiler can optimize read_unaligned code well!

Nice! I am curious what the code the compiler generates here, have you had a look at the output?

Nice! I am curious what the code the compiler generates here, have you had a look at the output?

https://godbolt.org/z/UCxde0 The assembly is just mov, not and cmp.


Discussion point: working group focus - internal, addressing challenges of highly regulated environments

Set the scope of the working group:

focus on internal open source management
focus on CI/CD pipeline integration
focus on proactive engagement of open source communities as risk reduction action
focus on criteria for outcomes of the WG: educational content? white papers? What is the definition of done?


Memory usage quite high (factor 25)

When I load a 40 MB text file in RText, I get a 1GB Java VM...
Probably not easy to improve?
Many greetings

Sorry I'm replying almost a year late - yes, probably not easy to improve.  It might be the case that turning off code folding will help.  It might be worth even having an option to automatically disable code folding if files are over a certain size for this very reason.

Ah, OK... yes, makes sense, I can try that. Haven't tried big files since then. Thanks


Update actions ci to remove warnings

This PR should remove all warnings outputted by the ci running, due to outdated actions.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 49.39%. Comparing base (bb9bb85) to head (061121b).
Report is 3 commits behind head on main.

Additional details and impacted files

@@            Coverage Diff             @@
##             main      #65      +/-   ##
==========================================
+ Coverage   49.14%   49.39%   +0.24%
==========================================
  Files          15       15
  Lines         643      575      -68
==========================================
- Hits          316      284      -32
+ Misses        327      291      -36

see 12 files with indirect coverage changes
see 12 files with indirect coverage changes

@vgvassilev All actions have been updated (checkout, codecov-action and provision-with-micromamba) so that all warnings are gone when the ci runs. I consider this PR ready for review.


ilmControl: update comments for ilm_[un]registeNotification apis

correction of the obvious copy-paste error in the comments
Signed-off-by: Eugen Friedrich<EMAIL_ADDRESS>

very helpful


348 tokens expiration

Fixes https://github.com/PerfectFit-project/virtual-coach-issues/issues/348

Good work - I've left some review comments below. Only problem is the niceday-broker test keeps failing. I tried rerunning it to see if it was just flaky, but it seems to hang until it gets cancelled. Any idea what that could be?

Yes, I saw this, I think that the job remains alive. I am looking into it


Remove xfail for test which has since had underlying issue fixed.

As title. #4922 was fixed by #4935.

CI has passed


Make sure to always set the label font colour when rendering tooltip text

Resolves #4741

I think there's some kind of race condition that's making Travis fail

I'm curious what the plan is for 2.7.1. Do we need to tag the PRs that we want to be a part of that release with a milestone of 2.7.1 to cherrypick those commits? Or will we at that time take the latest master and merge all the commits to the release branch?

@benmccann what we've been doing so far is just merging bug fixes and holding on the features until we get an idea if we need a 2.7.1 or not

Ok, that makes sense to me. Thanks for filling me in!

@etimberg Any updates on this? We’re seeing this bug in certain circumstances and I'd love to see a 2.7.1 with a fix!

It would be have this released - we need the tooltips colours fixed

Done in #4783


Update iOS starter app to use Podfile

Including the SDK binary framework in the starter apps is fragile.  We should remove the embedded binary of the iOS SDK and change over to a CocoaPods and Carthage style of install.

This has been completed


Error: "Cannot read property 'then' of undefined"

Hello,
I got this "then" Error:

Thank you :)

Please test with 2.0.0


feat(ecau): add Juno Download provider

Easy one. Fixes #658.

There's also the sister site juno.co.uk (https://en.wikipedia.org/wiki/Juno_Records) but I think that should be turned into a separate provider, since it also offers physical releases and the HTML is likely slightly different. Even if the HTML was the same, I'd still prefer putting them into two separate buttons with different names and different icons to avoid confusion.


Fix fragment usage in GraphQL forwarding.

Currently forwarding code does not filter out unused fragments:
query UserSearch($text: String!, $number: Int!) {
  search_user(search: $text, offset: 0, n: $number) {
    user {
      ...UserFragment
    }
  }
  question_branches
}

fragment UserFragment on User {
  id
  name
  email
  school: question(name: "school") {
    value
  }
}

Here question_branches does not use the fragment UserFragment so GraphQL complains.

Fixed!


Update agents_controller.rb

When user stay agent details page, user can use action.
When user use "Delete agent" action, then exception error is occurred.
When action of "Delete agent" run, destory is called, it call again "redirect_back".
But @agent is destroyed, redirect_back use "path = agent_path(@agent)" .
So I add for this case.
if message include "deleted", redirect_back is called by destroy.
then redirect_back use "path = agents_path".

Good catch! I think we had some bug reports about this case.

@dsander Hello dsander. I changed again. But CI build failed. How to resolve it?

Looks good to me.

Thanks @KimJungHun!


unencrypted password in core.config_entries

Home Assistant release with the issue:

0.99.3
Last working Home Assistant release (if known):
Operating environment (Hass.io/Docker/Windows/etc.):

Docker installation
Integration:

https://www.home-assistant.io/integrations/life360/
Description of problem:
The file .storage/core.config_entries has my Life360 login credentials stored in the clear. In other .storage files, passwords are encrypted.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
life360:
  accounts:
    username: !secret life360_username
    password: !secret life360_password
  circles:
    include:
      family
  driving_speed: 30.0

Traceback (if applicable):

Additional information:

That would interest me, too.
@garethhowell Just for research purposes, which of your integrations stores their passwords encrypted?

@santobert I'm not sure how I would tell. I only discovered this one because I happened to look at the core.config_entries file.
It rather negates the advice to store the password in the !secrets file as novice users of github might end up storing the .storage file hierarchy in their publicly accessible repository.

@garethhowell There are two entirely different ways to store your configuration. First we have configuration.yaml. This file is meant to be edited by the user himself and can be shared on github. Sensitive information can be stored in secrets.yaml so that they are not visible on github.
On the other hand there is the folder .storage. It contains files written by the machine itself. These files are not intended for editing by the user at all. As far as I know, there is no way to store passwords encrypted here. According to the documentation this folder will not be uploaded to github either.

Don't get me wrong. I am also not happy with unencrypted passwords in the .storage folder. That's why I'm writing here. If you notice some integrations that store encrypted information in core.config_entries, I'd be keen to take a look at their code and mimic their behavior in other integrations.

OK, I'll keep an eye open.

@garethhowell @Santobert
FWIW, this integration went through a lot of scrutiny when it was first submitted for inclusion in the standard product. Adding "config flow" (which resulted in the password being saved in .storage) was added in the process. balloob himself was heavily involved, as well as a few others. I can only assume that if saving a password unencrypted in .storage was considered a problem it would have come up.
Having said that, if you can point me to another integration that encrypts passwords before storing them there I'd be happy to consider making a change.


eval doesn't raise correct Exception

class X:
    def __getitem__(self, key):
        raise ValueError

eval("foo", {}, X())

On CPython, The output of this code is below.
Traceback (most recent call last):
  File "/Users/yusuke/Programs/Rust/Github/RustPython/imp.py", line 9, in <module>
    eval("foo", {}, X())
  File "<string>", line 1, in <module>
  File "/Users/yusuke/Programs/Rust/Github/RustPython/imp.py", line 6, in __getitem__
    raise ValueError
ValueError

But on RustPython, The output is different.
Traceback (most recent call last):
  File "imp.py", line 9, in <module>
    eval("foo", {}, X())
  File "<string>", line 1, in <module>
NameError: name 'foo' is not defined

I'll look into this.

This bug occures from LoadNameAny opecode.
https://github.com/RustPython/RustPython/blob/b1db1be031cfa69604d05dde187932ab94edb503/vm/src/frame.rs#L539-L547
self.locals.mapping().subscript(name, vm) returns value of the name.
If the name is not found in locals, it returns KeyError.
But because of calling ok function, returned exceptions is ignored.
If the name is not found in local, self.load_global_or_builtin(name, vm) is called.
This function returns value of the name.
If the name is not found in global, it returns NameError.
Returned exception from local is ignored, So NameError always occures if name is not found.


RunConsoleAsync: Prevent interruption of ongoing work

I have a few console apps that subscribe to messages off an Azure Service Bus queue. Some of these handlers aren't idempotent, and there are typically always two things that need to happen atomically:

Carry out whatever side-effect it is supposed to do, like save something to a database
Flag the service bus message as completed

When a message arrives I always check the cancellation token to see if termination has begun, and in this case I just abandon the message and short-circuit out. But if termination hasn't begun, I want to carry out the two operations mentioned above and be sure the program won't be interrupted inbetween them, because, as I stated above, not all of these handlers are idempotent (I rely on deduplication of messages in these cases), so I don't want to save something to db and then fail to flag the message as completed, because then it'll be consumed again and I'll end up with two things in the database.
Is this achievable with the tools in this repo? So far I haven't found a way, so I've written my own GracefulConsoleRunner, but I would be much happier using something that already exists in the framework.

Isn't this inherently racy? What sort of guarantee are you looking for? What if the power goes off between those 2 operations? There are other ways to achieve atomiticy.

Hi @davidfowl
Well, preferably I would love the level of guarantee of atomicity that for example a transaction would provide. And I know that the service bus client can register itself with an ambient TransactionScope, but unfortunately the MongoDb driver cannot, so I'm afraid I'll have to settle with some weaker mechanism.
My own solution isn't water tight, and the power outage example you mention is a good example of something it wouldn't handle. But apart from those extreme corner cases, it makes a good enough job of making sure the handling of a message is allowed to complete without being interrupted (within a graceperiod). The way I implemented this is with a WorkWrapper class that providers the interface of an IDisposable, and internally holds a Task which is completed when the object is disposed, so the runner can await any outstanding task(s) before exiting. In my own opinion it makes for a pretty nice API.
The way I see it, one of these three things is true:
a) I'm designing for a case that cannot happen since it's inherently solved by the framework somehow waiting for all running code to complete
b) there's a feature in the Microsoft.Extensions.Hosting namespace that would solve this, that I'm not aware of
c) it's a case that is currently not supported by the Microsoft.Extensions.Hosting constructs, in which case I'll either stick with my own code or write a plugin or something.
I don't think it's vulnerable to race conditions (or I hope, but both me and a co-worker have looked at the code quite long).

b) there's a feature in the Microsoft.Extensions.Hosting namespace that would solve this, that I'm not aware of

I think you're looking for is the generic host https://docs.microsoft.com/en-us/aspnet/core/fundamentals/host/generic-host?view=aspnetcore-2.2.

c) it's a case that is currently not supported by the Microsoft.Extensions.Hosting constructs, in which case I'll either stick with my own code or write a plugin or something.

I think it is supported because the generic host has a graceful shutdown concept but I'm not completely clear what sort of guarnatees you want to get. I still think you should use reliable storage if you really want atomicity but if you're ok with basic with the grace period then IHostedService is what you want https://docs.microsoft.com/en-us/aspnet/core/fundamentals/host/hosted-services?view=aspnetcore-2.2

I don't think it's vulnerable to race conditions (or I hope, but both me and a co-worker have looked at the code quite long).

It is, but you're likely narrowing the chances by having a long grace period.

Hi again @davidfowl
I'm not sure how I could get GenericHost to wait for my message processing to complete before terminating.
I tried this simple example:
static async Task Main(string[] args)
{
	var hostBuilder = new HostBuilder();

	hostBuilder.ConfigureServices(x => x
		.AddHostedService<MyListener>()
	);

	await hostBuilder.RunConsoleAsync();
}

This is my hosted service:
internal class MyListener : IHostedService
{
	public Task StartAsync(CancellationToken cancellationToken)
	{
		var timer = new System.Timers.Timer();

		Console.WriteLine("Started listening...");

		timer.Interval = 1000;
		timer.Elapsed += (sender, args) =>
		{
			Console.WriteLine("Processing message...");
			Task.WaitAll(Task.Delay(5000));
			Console.WriteLine("Done");
		};

		timer.Start();

		return Task.CompletedTask;
	}

	public Task StopAsync(CancellationToken cancellationToken)
	{
		Console.WriteLine("Closing down");
		return Task.CompletedTask;
	}
}

After one second, the timer event fires to simulate a message arriving on the bus. If I press CTRL+C after I see the "Processing message..." line in the output, it terminated immediately without allowing the timer event to complete.
About the other solution... if you have the time, would you mind explaining how a race condition would occur? I'm probably not seeing what you see :P
Thanks

Here's what the code would look like;
public class MyListener : IHostedService
{
    private TaskCompletionSource<object> _completingWork;

    public Task StartAsync(CancellationToken cancellationToken)
    {
        var timer = new System.Timers.Timer();

        Console.WriteLine("Started listening...");

        timer.Interval = 1000;
        timer.Elapsed += (sender, args) =>
        {
            Console.WriteLine("Processing message...");
            Task.WaitAll(Task.Delay(5000));
            Console.WriteLine("Done");

          // Signal that work has completed
            _completingWork?.TrySetResult(null);
        };

        timer.Start();

        return Task.CompletedTask;
    }

    public async Task StopAsync(CancellationToken cancellationToken)
    {
        Console.WriteLine("Closing down");

        // Create a tcs to wait on for either cancellation of waiting of outstanding work to complete
        _completingWork = new TaskCompletionSource<object>();

        // The token will fire when the graceful period runs out
        cancellationToken.Register(state => ((TaskCompletionSource<object>)state).TrySetCanceled(), _completingWork);

        try
        {
            await _completingWork.Task;
            // Gracefully completed
        }
        catch (OperationCanceledException)
        {
            // Ungraceful!

        }
    }
}

The token passed in will fire when the grace period ends.
PS: The sample allows overlapping work to happen so the console output is a little weird.

About the other solution... if you have the time, would you mind explaining how a race condition would occur? I'm probably not seeing what you see :P

If any operation takes longer than the grace period then it won't work.

Here's what the code would look like;

Aha, I thought you meant it was already implemented in the GenericHost somehow. Now I'm with you. Although you'd need to create a new TaskCompletionSource everytime the timer fires since there will be multiple messages arriving at the bus. That's basically what my other solution does. I'll probably re-write it as an extensionmethod to the hostbuilder.

If any operation takes longer than the grace period then it won't work.

Oh, yes. That's why it's called a graceperiod :) Don't think that counts as a race condition though.
Anyway, thanks a lot that you took the time, appreciate it!

Aha, I thought you meant it was already implemented in the GenericHost somehow.

The generic host lets you configure a shutdown timeout, its up to you to wait on the token and it will fire once that timeout fires.

Now I'm with you. Although you'd need to create a new TaskCompletionSource everytime the timer fires since there will be multiple messages arriving at the bus. That's basically what my other solution does. I'll probably re-write it as an extensionmethod to the hostbuilder.

Are you doing work in parallel? Then sure, you need a way to work on the outstanding work, I'm not sure you need a new TCS per work item and it's only needed when you're shutting down.

Oh, yes. That's why it's called a graceperiod :) Don't think that counts as a race condition though.

I wouldn't describe what you're doing as atomic in any way shape or form. It's a best effort and it can go horribly wrong if things fail or suddenly die (which happens in the real world 😄 ). As long as you understand those caveats then it's fine.

Yeah, work can happen in parallel unfortunately. In the service bus scenario, you tell the IReceiveClient what max level of concurrency you want. That's why I went for a BlockingCollection to hold all the unfinished tasks.
I'm not sure if there might be a whole different approach to tackle the problem in another way. Just in high level terms.. how would you go about solving the  problem? The goal is basically that we wanna mimic the behaviour of AspNetCore in the way it drains all ongoing requests before it shuts down. But instead of HTTP requests, in my case it's messages arriving on a service bus. And the complicating factor is that the operation I need to carry out for these messages cannot be registered with a TransactionScope. And also, I wanna be able to set a timeout/grace period, so that if the processing of one message doesn't finish, it will be interrupted.
Is there some totally different way to attack this problem in your perspective?
Cheers

I'm not sure if there might be a whole different approach to tackle the problem in another way. Just in high level terms.. how would you go about solving the problem?

Which problem specifically? Graceful shutdown is easy just use the algorithm I describe above (keeping track of the count of outstanding work and waiting for it to get to 0).
If you're asking how to guarantee the dequeue and the database operation happen atomically then I think you'd need to design a process that can handle duplicate messages or resume from partially complete operations. Or live with the occasional weirdness that might happen between dequeue and the database operation. I know some queues have features like this https://docs.microsoft.com/en-us/rest/api/servicebus/peek-lock-message-non-destructive-read that might aid in writing more reliable logic

Graceful shutdown is easy just use the algorithm I describe above (keeping track of the count of outstanding work and waiting for it to get to 0).

That's in a nutshell what I'm doing in my solution. I just got the impression that there might be a totally different way to attack it, sorry for the misunderstanding :P
Have a nice weekend!


Init, Plan, Apply running but nothing is being applied

Feedback
I have managed to install terrakube and connect it to my VCS. However, when I am manually creating a job for Plan and Apply, I see that it is not applying or creating any infrastructure and give the following outputs.

On the kubernets I only see error log on the terrakube-api component:
2024-04-10 06:08:04.010 ERROR 1 --- [nio-8080-exec-9] o.t.a.p.s.aws.AwsStorageTypeServiceImpl  : S3 Not found: The specified key does not exist. (Service: Amazon S3; Status Code: 404; Error Code: NoSuchKey; Request ID: 17C4D62C72564518; S3 Extended Request ID: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855; Proxy: null)
which does not make sense since the init + plan + apply actually run via the Terrakube UI.
I also checked by applying the same repo locally with the same environment variables (including S3 creds) and the infrastructure is getting created as it should.
Also, when I say S3 I am using the Ceph Object Gateway S3 API which is supported via Terraform.
So what am I missing?

I have been watching same behaviour sometimes during debugging my issue https://github.com/AzBuilder/terrakube/issues/766, it started to make any real interactions after force pushing previous terraform state.

I did, it all aligns with the o/p I get in Terrakube UI

Sure. It aligns with what I see in the Terrakube UI. Here it is:

Could You check the logs before the message running terraform apply You should see información about the git clone operation

I have been watching same behaviour sometimes during debugging my issue #766, it started to make any real interactions trought provider after force pushing previous terraform state.
@requiming Thanks. I will try this out. But I am starting from scratch and want to be able to create something from the get go...eventhough I do have statefiles but being able to create infrastructure from scratch is sort of a requirement or else it makes the process rather redundant. :/

Sure. It aligns with what I see in the Terrakube UI. Here it is:

Could You check the logs before the message running terraform apply You should see información about the git clone operation

thanks @alfespa17
I can see there is and unauthorized error
[threadPoolTaskExecutor-1] INFO org.terrakube.executor.service.workspace.SetupWorkspaceImpl - vcsType: BITBUCKET [threadPoolTaskExecutor-1] ERROR org.terrakube.executor.service.workspace.SetupWorkspaceImpl - https://bitbucket.org/x/src/main/: not authorized
However, I have added Terrakube as an OAuth consumer to my repo.

Sure. It aligns with what I see in the Terrakube UI. Here it is:

Could You check the logs before the message running terraform apply You should see información about the git clone operation

thanks @alfespa17 I can see there is and unauthorized error [threadPoolTaskExecutor-1] INFO org.terrakube.executor.service.workspace.SetupWorkspaceImpl - vcsType: BITBUCKET [threadPoolTaskExecutor-1] ERROR org.terrakube.executor.service.workspace.SetupWorkspaceImpl - https://bitbucket.org/x/src/main/: not authorized
However, I have added Terrakube as an OAuth consumer to my repo.

I understand that you are currenyly testing, are You stopping the cluster ? Because there is an internal job that updates the auth token every hour or two hours if i remenber correctly, if You stop the clúster maybe the job that update the token was not triggered años could You check the vcs connection status in the ui?

Sure. It aligns with what I see in the Terrakube UI. Here it is:

Could You check the logs before the message running terraform apply You should see información about the git clone operation

thanks @alfespa17 I can see there is and unauthorized error [threadPoolTaskExecutor-1] INFO org.terrakube.executor.service.workspace.SetupWorkspaceImpl - vcsType: BITBUCKET [threadPoolTaskExecutor-1] ERROR org.terrakube.executor.service.workspace.SetupWorkspaceImpl - https://bitbucket.org/x/src/main/: not authorized
However, I have added Terrakube as an OAuth consumer to my repo.

I understand that you are currenyly testing, are You stopping the cluster ? Because there is an internal job that updates the auth token every hour or two hours if i remenber correctly, if You stop the clúster maybe the job that update the token was not triggered. could You check the vcs connection status in the ui?

Yes I am just testing at the moment. I dont see any info on the connection on the UI. Should I delete the VCS and re-create it?

Sure. It aligns with what I see in the Terrakube UI. Here it is:

Could You check the logs before the message running terraform apply You should see información about the git clone operation

thanks @alfespa17 I can see there is and unauthorized error [threadPoolTaskExecutor-1] INFO org.terrakube.executor.service.workspace.SetupWorkspaceImpl - vcsType: BITBUCKET [threadPoolTaskExecutor-1] ERROR org.terrakube.executor.service.workspace.SetupWorkspaceImpl - https://bitbucket.org/x/src/main/: not authorized
However, I have added Terrakube as an OAuth consumer to my repo.

I understand that you are currenyly testing, are You stopping the cluster ? Because there is an internal job that updates the auth token every hour or two hours if i remenber correctly, if You stop the clúster maybe the job that update the token was not triggered. could You check the vcs connection status in the ui?

Yes I am just testing at the moment. I dont see any info on the connection on the UI. Should I delete the VCS provider and re-create it? Also, are you talking about the Kubernetes cluster? I did upgrade the helm deployment with a new values.yaml file for adding my custome CA bundle. Could that have affected the internal service that you are talking about?

The button "connect to bitbucket ", should not be there...... I think you didn't authenticate correctly to bitbucket, it should look like the image we show here
https://docs.terrakube.io/user-guide/vcs-providers/bitbucket.com
Can you create a new VCS connection? And make sure to put all the correct parameters, once you have create the connection you should be redirected to bitbucket to approve the connection as we explain in the above link

Sure. It aligns with what I see in the Terrakube UI. Here it is:

Could You check the logs before the message running terraform apply You should see información about the git clone operation

thanks @alfespa17 I can see there is and unauthorized error [threadPoolTaskExecutor-1] INFO org.terrakube.executor.service.workspace.SetupWorkspaceImpl - vcsType: BITBUCKET [threadPoolTaskExecutor-1] ERROR org.terrakube.executor.service.workspace.SetupWorkspaceImpl - https://bitbucket.org/x/src/main/: not authorized
However, I have added Terrakube as an OAuth consumer to my repo.

I understand that you are currenyly testing, are You stopping the cluster ? Because there is an internal job that updates the auth token every hour or two hours if i remenber correctly, if You stop the clúster maybe the job that update the token was not triggered. could You check the vcs connection status in the ui?

Yes I am just testing at the moment. I dont see any info on the connection on the UI. Should I delete the VCS provider and re-create it? Also, are you talking about the Kubernetes cluster? I did upgrade the helm deployment with a new values.yaml file for adding my custome CA bundle. Could that have affected the internal service that you are talking about?

The button "connect to bitbucket ", should not be there...... I think you didn't authenticate correctly to bitbucket, it should look like the image we show here
https://docs.terrakube.io/user-guide/vcs-providers/bitbucket.com
Can you create a new VCS connection? And make sure to put all the correct parameters, once you have create the connection you should be redirected to bitbucket to approve the connection as we explain in the above link

Thank you! I created a vew VCS connection and it all seems to be working well together now. Thank you for your help 🙏


Not possible to increase number of shards without recreating the collection

Problem:
Not possible to increase number of shards without recreating the collection. This restriction makes Arango non-scalable, e.g. not suitable for large projects where I don't know the number of nodes upfront.
Expected result:
Possible to increase the number of shards on-the-fly.

That's also something I wanted to ask evaluating the scalability for a potential client project.
How much does a high shard count impact performance on a low count node cluster?
e.g. 30 shards per collection on a 3 node cluster vs 3 shards. (just to maybe grow it later to 30 nodes)


Add JSDoc or types to the project for better documentation

Hey mate, thanks for your work
Would it be possible to add JSDoc to the exposed methods of your project so that we can benefit from types? Or export a ts file for typescript users?

Sounds good!


✏ fixed grammatical errors ( Update README.md )

Rewrote most English lines in Readme to be grammatically correct, no links and Chinese text changed.

Also, I was considering editing the "How to use" documentation to be more grammatically correct and maybe changing a few pictures to suit better. If you don't mind, of course.

Thanks for your PR, PixelParas


Using a ESP32-C6 instead of S3?

Hi Justin, super-interesting project!!

The reason being that the C6 supports Thread, so this would enable Matter over Thread use cases 😃

Interesting, I think the focus wasn't specifically on smart home, but rather audio processing.
The S3 does have a dual-core unlike the C6, is fairly common in new projects and is on the latest audio development boards from Espressif, so seems like a great candidate for these reasons.
While ESP-ADF looks like it supports the C6, I'm not sure at first glance if https://github.com/espressif/esp-skainet does.

If there is interest from the SW development side on someone building up a fully featured smart home device that makes use of thread, then this should be a fairly easy swap out from the PCB side.

Even if not fully featured, I think it would still be helpful to allow for building a thread mesh since Google Home devices are typically spread out around home.

You considered making CC2674/CC2674P/CC2674R and/or CC1354/CC1354P Zigbee adapters for devs & early-adopters?
Check out this discussion -> Koenkk/Z-Stack-firmware#476
There is no community firmware from Koenkk yet but that is probably partially because no one made a CC2674 or CC1354 adapter yet.
https://github.com/tube0013/tube_gateways/discussions/161

You considered making CC2674/CC2674P/CC2674R and/or CC1354/CC1354P Zigbee adapters for devs & early-adopters?
Check out this discussion -> Koenkk/Z-Stack-firmware#476
There is no community firmware from Koenkk yet but that is probably partially because no one made a CC2674 or CC1354 adapter yet.
https://github.com/tube0013/tube_gateways/discussions/161

I've been working with this team on my Zigbee network. It would be interesting if you could add the ability of each Google Home to also be a Zigbee Repeater or Router. Eventually I would imagine it should be thread/matter able with Home Assistant and the right hardware.


Bring balance back to the rubocops

Merges #307 and #301 - #trivial

🍏

Just my 2 cents https://github.com/danger/danger/pull/307#issuecomment-230504503

          1 Warning

:warning:
.gemspec modified

  Generated by :no_entry_sign: danger

🎉 Can also kill the .rubocop_todo.yml now too