Fix demo link

Fix demo link

closes #1938

demo link should be new one: https://sortablejs.github.io/sortablejs/

@tohodakilla correct, thats why i fixed it.


TypeError: tableBody is null

If I create a table without a
, the table-sort-js browser extension crashes with TypeError: tableBody is null.

        file offset
        stream
        stream offset
        message

Sounds fixable it's because the browser extension applies table-sort tag to all tables. I could create a tbody if it doesn't exist (Like I do with
) ,or just exit out, or do a check for null before trying to  grab tbody.
function makeTableSortable(sortableTable) {
const tableBody = getTableBody(sortableTable);
const tableHead = sortableTable.querySelector("thead");
const tableHeadHeaders = tableHead.querySelectorAll("th");
    const tableRows = tableBody.querySelectorAll("tr");
It's this line here.

Should be fixed in: https://github.com/LeeWannacott/table-sort-js/pull/99


Political Map textures needs to be fixed up

https://github.com/KSP-CKAN/NetKAN/pull/3966
https://github.com/KSP-CKAN/NetKAN/pull/3965

#willfix


Padding support

First off, excellent library, it has worked really well for us! One small need we have is actually applying a 1-2px padding around each icon. While this can be done at the SVG asset level we found it is a little easier to blanket apply it at the time of spritesheet generation. Current thought is a --spacing=1 flag or similar that would apply padding around each asset for the defined value.

I don't think this would be too difficult: once the SVG has been rasterised as a Pixmap, it could then be redrawn into a buffered Pixmap (buffered by the number of padding pixels required). But I'm wondering what need you have that can't be handled by the icon-padding property. Are you able to share more details about your use-case?

Almost less of a use case and more of a workaround for poorly exported assets. We have found on occasion that Figma, depending on how the vector is constructed, will sometimes export a SVG somewhat poorly which can result in a sort of sub-pixeling effect. Having the ability to add a 1-2px spacing around each icons accommodates for that. When drawing sprites to webgl for instance if the sub-pixeling is occurring you will see icons "bleeding" into one another just slightly.

Am I right to say that Spritesmith's padding option is exactly the sort of thing you're after? For example, padding: 2 means there will be a 2px gap to the right and bottom of each image in the spritesheet.
(Not saying you should switch to Spritesmith, just wondering if that's the functionality you want to duplicate.)

@flother precisely!


Rename readme.md to README.md

Checklist

[x] I have followed the Contributor Guidelines.
[x] The code has been thoroughly tested in my local development environment with flake8 and pylint.
[x] The code is Python 3 compatible.
[x] The code follows the PEP8 styling guidelines with 4 spaces indentation.
[x] This Pull Request relates to only one issue or only one feature
[x] I have referenced the corresponding issue number in my commit message
[x] I have added the relevant documentation.
[x] My branch is up-to-date with the Upstream master branch.

Changes proposed in this pull request
Your development environment

OS: macOS
OS Version: Monterey 12.6.1
Python Version: 3.9.6

Thanks.

You're welcome.
On Thu, Jan 5, 2023 at 6:29 PM Ali Razmjoo @.***> wrote:

Thanks.
—
Reply to this email directly, view it on GitHub
https://github.com/OWASP/Nettacker/pull/625#issuecomment-1372925325, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AECEBJWHWRO5LQY6NM7XLKTWQ5KMVANCNFSM6AAAAAASFULJAY
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Zoe Braiterman
Independent Researcher / Consultant (Data Scientist + Cybersecurity)
Innovation & Intelligence Strategist (Machine + Human)
Chair @ OWASP Women in Application Security Committee


This is not necessary because all of that can be done in a single expression with nested ?: conditional.

see #4 on how to avoid the static_assert declarations.

Sorry, I had looked into an old version. The sizeof trick for static_assert is nice.

Closing this issue as we already implemented it.


New language: Robot Framework

This PR adds support for Robot Framework (http://robotframework.org/). While RF supports multiple different formats, this PR only handles white space separated format; http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#space-separated-format.

great, works for me.

Why has this not been merged into Master yet? The P.R. was made March 8, 2017.  That was almost 7 months ago. Bump? :anguished:

@GLMeece, I also wanted to know. It is why I emailed one of major contributors and asked what happened with Ivan. There are many unsolved issues and unmerged pull requests here.

Any chance on getting this approved?

@Harri, @SirCmpwn and @ldct must approve this weekend.

Is there something I can do to help get this merged?

Hi @Harri !

 Apply
Ready

New PR is here: https://github.com/highlightjs/highlight.js/pull/1928
I'll close this. Thank you.

You are welcome.


work-in-progress: popout windows

Looks awesome!

Love seeing the progress! Curious if this is in a state to try out or not.  This would make my app so dope!


⚠ Bofrost.at has degraded performance

In 278d63b, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1186 ms

Resolved: Bofrost.at performance has improved in 1642e1b.


django-celery not flushing interval_id on periodictask when changing schedule of task from timedelta to crontab

Hi, I'm using Django 1.9.2 with Celery 3.1.20 and django-celery 3.1.17. When I had to change the schedule of a task from timedelta(seconds=5) to crontab(), the interval_id from the entry of the task on the table djcelery_periodictask wasn't set to NULL, so it was running every 5 seconds, as well as every minute.
The workaround was to stop Celery, clear all entries on djcelery_periodictask table and start Celery, so that it would populate all tasks with their respective interval and contrab ids.

Issue #351 solves it, but hasn't been merged

I just experienced a similar issue

Thanks @auvipy for merging pull request #351 to master. We just have to wait for the next release :D.
@ionatower, you can use the workaround I mentioned in the OP, at least until there's a new release of django-celery.

you can also install the master using pip


Normalization using TensorFlow Keras

Our task is as below not sure what we done mistake in it -
import numpy as np
from keras.models import Sequential
from keras.layers import Dense
from keras.wrappers.scikit_learn import KerasClassifier
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from matplotlib import pyplot
import seaborn as sns
import pandas as pd
from keras.layers import BatchNormalization
from keras.models import model_from_json
import tensorflow as tf
from sklearn.datasets import load_breast_cancer
from sklearn import metrics
import random as rn
from keras import backend as K
import matplotlib.pyplot as plt
import os
from keras.layers import Activation

os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = ""
sd = 22 # Here sd means seed.
np.random.seed(sd)
rn.seed(sd)
os.environ['PYTHONHASHSEED']=str(sd)

config = tf.ConfigProto(intra_op_parallelism_threads=1,inter_op_parallelism_threads=1)
tf.set_random_seed(sd)
sess = tf.Session(graph=tf.get_default_graph(), config=config)
K.set_session(sess)

Load the breast cancer dataset using load_breast_cancer function
X, y = load_breast_cancer(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=500)

Create a sequential model
The model expects rows of data with 30 variables (the input_dim=30 argument)
The first hidden layer has 90 nodes and uses the relu activation function.
The second hidden layer has 60 nodes and uses the relu activation function.
The third hidden layer has 30 nodes and uses the relu activation function.
The output layer has 1 node and uses the sigmoid activation function.

While comipling the model pass the following parameters -

     -optimizer as Adagrad
     -loss as binary cross entropy
     -metrics as accuracy

model = Sequential()
  model.add(Dense(30, input_dim=30))
  model.add(Dense(90, activation='relu'))
  model.add(Dense(60, activation='relu'))
  model.add(Dense(30, activation='relu'))
  model.add(Dense(1, activation='sigmoid'))
  model.compile(loss='binary_crossentropy', optimizer='Adagrad', metrics=['accuracy'])

fit the model with X_train, y_train, epochs=50, batch_size=50,shuffle=False,validation_split=0.2,verbose=1 and save it in history
history = model.fit(X_train, y_train, epochs=50, batch_size=50,shuffle=False,validation_split=0.2,verbose=1 )
_, train_acc = model.evaluate(X_train, y_train, verbose=0)
_,test_acc=  model.evaluate(X_test, y_test, verbose=0)
print('Train: %.2f, Test: %.2f' % (train_acc, test_acc))

Train: 0.61, Test: 0.69
def plot_history(history):
    loss_list = [s for s in history.history.keys() if 'loss' in s and 'val' not in s]
    val_loss_list = [s for s in history.history.keys() if 'loss' in s and 'val' in s]
    acc_list = [s for s in history.history.keys() if 'acc' in s and 'val' not in s]
    val_acc_list = [s for s in history.history.keys() if 'acc' in s and 'val' in s]

    if len(loss_list) == 0:
        print('Loss is missing in history')
        return

    ## As loss always exists
    epochs = range(1,len(history.history[loss_list[0]]) + 1)

    ## Loss
    plt.figure(1)
    for l in loss_list:
        plt.plot(epochs, history.history[l], 'b', label='Training loss (' + str(str(format(history.history[l][-1],'.5f'))+')'))
    for l in val_loss_list:
        plt.plot(epochs, history.history[l], 'g', label='Validation loss (' + str(str(format(history.history[l][-1],'.5f'))+')'))

    plt.title('Loss')
    plt.xlabel('Epochs')
    plt.ylabel('Loss')
    plt.legend()

    ## Accuracy
    plt.figure(2)
    for l in acc_list:
        plt.plot(epochs, history.history[l], 'b', label='Training accuracy (' + str(format(history.history[l][-1],'.5f'))+')')
    for l in val_acc_list:
        plt.plot(epochs, history.history[l], 'g', label='Validation accuracy (' + str(format(history.history[l][-1],'.5f'))+')')

    plt.title('Accuracy')
    plt.xlabel('Epochs')
    plt.ylabel('Accuracy')
    plt.legend()
    plt.show()
# Calling the function
plot_history(history)

Create a sequential model1
The model1 expects rows of data with 30 variables (the input_dim=30 argument)
The first hidden layer has 90 nodes.
Add Batch Normalization using BatchNormalization function to the model1.
Add the activation function as relu
The second hidden layer has 60 nodes.
Add Batch Normalization using BatchNormalization function to the model1.
Add the activation function as relu
The third hidden layer has 30 nodes.
Add Batch Normalization using BatchNormalization function to the model1.
Add the activation function as relu
The output layer has 1 node and uses the sigmoid activation function.

While comipling the model1 pass the following parameters -

     -optimizer as Adagrad
     -loss as binary cross entropy
     -metrics as accuracy

model1 =  Sequential()
 model1.add(Dense(30, input_dim=30))
 model1.add(Dense(90))
 model1.add(Dense(60))
 model1.add(Dense(30))
 model1.add(BatchNormalization())
 model1.add(Activation('relu'))
 model1.add(Dense(1, activation='sigmoid'))
 model1.compile(loss='binary_crossentropy', optimizer='Adagrad', metrics=['accuracy'])

history1 =  model1.fit(X_train, y_train, epochs=50, batch_size=50,shuffle=False,validation_split=0.2,verbose=1 )
_, train_acc1 = model1.evaluate(X_train, y_train, verbose=0)
_,test_acc1 =  model1.evaluate(X_test, y_test, verbose=0)
print('Train: %.2f, Test: %.2f' % (train_acc1, test_acc1))

Train: 0.93, Test: 0.99
plt.figure(1)
pyplot.plot(history1.history['accuracy'], label='train')
pyplot.plot(history1.history['val_accuracy'], label='test')

plt.figure(2)
pyplot.plot(history1.history['loss'], label='train')
pyplot.plot(history1.history['val_loss'], label='test')
pyplot.legend()
pyplot.show()

Create a sequential model2
The model2 expects rows of data with 30 variables (the input_dim=30 argument)
The first hidden layer has 90 nodes and uses the relu activation function.
Add Batch Normalization using BatchNormalization function to the model2.
The second hidden layer has 60 nodes and uses the relu activation function.
Add Batch Normalization using BatchNormalization function to the model2.
The third hidden layer has 30 nodes and uses the relu activation function.
Add Batch Normalization using BatchNormalization function to the model2.
The output layer has 1 node and uses the sigmoid activation function.

While comipling the model2 pass the following parameters -

     -optimizer as Adagrad
     -loss as binary cross entropy
     -metrics as accuracy

model2 =  Sequential()
 model2.add(Dense(30, input_dim=30))
 model2.add(Activation('relu'))
 model2.add(BatchNormalization())
 model2.add(Dense(90))
 model2.add(Dense(60))
 model2.add(Dense(30))
 model2.add(Dense(1, activation='sigmoid'))
 model2.compile(loss='binary_crossentropy', optimizer='Adagrad', metrics=['accuracy'])

history2 =  model2.fit(X_train, y_train, epochs=50, batch_size=50,shuffle=False,validation_split=0.2,verbose=1 )
_, train_acc2 = model2.evaluate(X_train, y_train, verbose=0)
_,test_acc2 =  model2.evaluate(X_test, y_test, verbose=0)
print('Train: %.2f, Test: %.2f' % (train_acc2, test_acc2))

Train: 0.92, Test: 0.91
plt.figure(1)
pyplot.plot(history2.history['accuracy'], label='train')
pyplot.plot(history2.history['val_accuracy'], label='test')

plt.figure(2)
pyplot.plot(history2.history['loss'], label='train')
pyplot.plot(history2.history['val_loss'], label='test')
pyplot.legend()
pyplot.show()

We think issue is with before and after implementation code...

any expertise advice :-)

@ashishsme14 Could you please confirm your TF version?  I tried to reproduce the issue but facing different error. Please find the gist here.If possible,Please provide the colab link to reproduce the issue at our end.Thanks
Note: tf.ConfigProto is deprecated in TF 2.0, In that case, use tf.compat.v1.ConfigProto() instead.

tensorflow==1.13.1
numpy==1.14.5
pandas==0.24.2
scipy==1.1.0
scikit-learn==0.19.1
pytest==5.4.1
blinker==1.4.0
jupyter==1.0.0
jupyter-client==6.1.2
jupyter-console==6.1.0
jupyter-core==4.6.3
pickleshare==0.7.5
ipynb==0.5.1
matplotlib==3.0.3
seaborn==0.9.1
keras==2.3.1
six==1.14.0
setuptools==46.1.3

@ashishsme14 Could you please upgrade your Tensoflow version to 2.x  since 1.x is  no more supported actively.Thanks!

tensorflow==1.13.1 is fixed for us

@ashishsme14 ,
Please try to install 2.x and use tf.compat.v1.ConfigProto() in that version as 1.x is not actively supported.
Thanks!

We trying to load 2.1.1
getting error as
The conflict is caused by:
The user requested scipy==1.1.0
keras 2.3.1 depends on scipy>=0.14
seaborn 0.9.1 depends on scipy>=0.17.1
tensorflow 2.1.1 depends on scipy==1.4.1; python_version >= "3"
To fix this you could try to:

loosen the range of package versions you've specified
remove package versions to allow pip attempt to solve the dependency conflict

tensorflow==2.1.1
numpy==1.14.5
pandas==0.24.2
scipy==1.1.0
scikit-learn==0.19.1
pytest==5.4.1
blinker==1.4.0
jupyter==1.0.0
jupyter-client==6.1.2
jupyter-console==6.1.0
jupyter-core==4.6.3
pickleshare==0.7.5
ipynb==0.5.1
matplotlib==3.0.3
seaborn==0.9.1
keras==2.3.1
six==1.14.0
setuptools==46.1.3

tensorflow==2.1.1
numpy==1.16.0
pandas==0.24.2
scipy==1.4.1
scikit-learn==0.19.1
pytest==5.4.1
blinker==1.4.0
jupyter==1.0.0
jupyter-client==6.1.2
jupyter-console==6.1.0
jupyter-core==4.6.3
pickleshare==0.7.5
ipynb==0.5.1
matplotlib==3.0.3
seaborn==0.9.1
keras==2.3.1
six==1.14.0
setuptools==46.1.3

for above mentioned version we getting error -
sd = 22 # Here sd means seed.
np.random.seed(sd)
rn.seed(sd)
os.environ['PYTHONHASHSEED']=str(sd)

config = tf.ConfigProto(intra_op_parallelism_threads=1,inter_op_parallelism_threads=1)
tf.set_random_seed(sd)
sess = tf.Session(graph=tf.get_default_graph(), config=config)
K.set_session(sess)

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-3-352ebeedbb53> in <module>
      4 os.environ['PYTHONHASHSEED']=str(sd)
      5
----> 6 config = tf.ConfigProto(intra_op_parallelism_threads=1,inter_op_parallelism_threads=1)
      7 tf.set_random_seed(sd)
      8 sess = tf.Session(graph=tf.get_default_graph(), config=config)

AttributeError: module 'tensorflow' has no attribute 'ConfigProto'

@ashishsme14 ,
Can you please try to execute your code in tensorflow stable version v2.4.1 or 2.5.0 and let us know if you are still facing the same issue.
Thanks!

tried same result.. can u please check code for before and after normalization. seems it is not correct.

@ashishsme14 ,
Please check this links for more information on Normalization.Link1,Link2,Link3.
Can you pease consider posting this issue in Stackoverflow  as it is not either bug or feature request, where there is a large community to help and support each other. Thanks!

Please let us know below part is correct
model1 =  Sequential()
 model1.add(Dense(30, input_dim=30))
 model1.add(Dense(90))
 model1.add(Dense(60))
 model1.add(Dense(30))
 model1.add(BatchNormalization())
 model1.add(Activation('relu'))
 model1.add(Dense(1, activation='sigmoid'))
 model1.compile(loss='binary_crossentropy', optimizer='Adagrad', metrics=['accuracy'])

@ashishsme14 ,
Please refer this link for more information on model and add tensorflow.keras before as mentioned in this link.
Also please feel free to move this issue to closed status and please submit a new issue from this link.Thanks!


homepage updates

PR-Codex overview
The focus of this PR is updating partner logos and removing unused components.
Detailed summary

Updated partner logos for xai and paima.
Removed unused partner logos for fractal, courtyard, revv, minted, and heroic_story.
Deleted carousel.tsx component.
Removed ValuesSection import.
Updated partner logo mappings in partner-logo.tsx.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

not sure why the pr-codex thing thinks i deleted carousel.tsx

📝 Changed routes:

/

(view full size)

Commit 0d703301eee9f56786b3330c0b6cc67e155de21e (https://thirdweb-fb05bfvyl.thirdweb-preview.com).


Add link to manash's website

Because he wants to pull some traffic on his site :stuck_out_tongue: .

@sam17 There was a error in this PR, can you revert the changes?


Allow overriding the ManifestDescriptor when pushing

What this does
This PR adds a new field to PushOpt, and corresponding config functions, to allow giving an entire manifest descriptor to ORAS when pushing.
Why
I've been experimenting with building small, static images using ORAS, while still making them appear as standard docker v2-2 images rather than OCI.
I found that I could do almost everything I needed to aside from overriding the ManifestDescriptor - which I needed to do to set the MediaType on the manifest (image-spec omits this field, but docker registry complains about it).
See where I'm using this here: https://github.com/ecordell/bndlr/blob/master/pkg/bundle/bundle.go#L80-L101
Also open to feedback and suggestions if there are better approaches to what I'm doing. Thanks!

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


how to get button title from selector

Help!
I need to add several buttons with different titles in a alertVIew.
when i select a button, i need to get the button title in the selector function.
Iam use swift 2.2.
here is my code.
Can it possible?
Thanks!
`
alert.addButton("Add clock in Project", target:self, selector:#selector(CountDownCreation.Pressed(_:)))
alert.showEdit("plese select project",  subTitle:"", closeButtonTitle: NSLocalizedString("Done",comment:"Done"))
`
and my function get uicontrol.
`    func Pressed(sender:AnyObject){
    print(sender)

}`

I solved.
        for i in 0...self.projectValues.count-1  {
            print(i)
            let projectName = self.projectValues[i].projectName
            alert.addButton("\(projectName)") {
                self.Pressed( "\(projectName)")

            }
        }


Add guide on JS modules

Target Live Date: 2018-06-18

[ ] This has been reviewed and approved by (NAME)
[ ] I have run gulp test locally and all tests pass.
[ ] I have added the appropriate type-something label.
[ ] I've staged the site and manually verified that my content displays correctly.

Whoops!
There were 90 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/fundamentals/primers/modules/index.md#L78 - '

Whoops!
There were 90 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/fundamentals/primers/modules/index.md#L78 - '

Whoops!
There were 90 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/fundamentals/primers/modules/index.md#L78 - '

Whoops!
There were 19 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/fundamentals/primers/modules/index.md#L96 - '

@WebFundBot All those are false positives.

Whoops!
There were 19 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/fundamentals/primers/modules/index.md#L96 - '

Whoops!
There were 19 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/fundamentals/primers/modules.md#L96 - '

Whoops!
There were 19 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/fundamentals/primers/modules.md#L94 - '

Whoops!
There were 19 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/fundamentals/primers/modules.md#L94 - '

Whoops!
There were 19 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/fundamentals/primers/modules.md#L94 - '

:tada: This has been pushed live to https://developers.google.com/web/


Proposal: start the gallery with visibility: hidden;

I think it looks pretty ugly when on page reload, at least in Firefox, for a moment those huge icons get displayed as in the first FAQ.
As I understand it, this happens because the CSS is not loaded yet so the browser renders using its built-in style.
I tested adding style='visibility: hidden;' to div#container and clearing it from JS (which runs after the document is ready). It works, although the footer could in principle still be displayed.
A more thorough solution would be to add the above property to the html tag. However, layouts.simple, where html is defined in Lychee-Laravel, is used by multiple blades. I don't use the landing page or any of the rest so I don't know if they are affected by this problem as well or is it just the gallery, so I don't know if it's worth modifying the generic layout and then adding code to each page's JS or should I make a new layout just for the gallery?
Let me know what you think...

I can't reproduce it on any browser ... I know it happens sometimes when checking stuff or coding css but usually it is fine.

Yeah, I don't know if it depends on the phase of the moon or what but sometimes I can reproduce it very easily and other times not...

@kamil4 fixed ?

Yes, fixed via #137. One thing to keep in mind is that this changes the behavior of Lychee front end when the permissions are wrong, so the FAQ needs to be updated. Hence, I'm keeping this issue open for now, changing the labels as appropriate.


HFD and OSA - Chart View Updates

Ryan emailed me this morning to ask if it is able for him to get the chart views updated with complete graphs.
He stated that they are having a field day at HFD next week with some domestic and international guests, so he would really appreciate if he had some graphs to show them. He would like to have these by the EOD on Monday (07/25), if possible. I told him initially that we couldn't get them to him today (Friday, 07/22), but we would try for Monday.
Ryan stated that the data from both of these sites was downloaded and should be uploaded into the Google Drive folder. For HFD, I believe Ronaldo was working with @elhenriq over the hotline.
@brianwdavis @mikahpinegar  Is it possible to get this done?

@brianwdavis figured out the issue and it looks to be resolved for HFD and OSA. Can you verify that everything looks correct @ethansweep?

@mikahpinegar @brianwdavis Everything is looking correct so far. Thank you for getting all the most up-to-date information since the gateway came back online. Ryan states that the files were dowloaded from the nodes and gateways at these two fields, and they were uploaded to the Google Drive.
Is it possible to get this data inputed and into the chart view?

Looking great.
@Ethan Sweep @.***> question about these site - are they having
trouble transmitting data or is he manually collecting? are both in
Receiver mode? If so, could they just be collected directly from the
Gateway? - recalling our last meeting
On Mon, Jul 25, 2022 at 5:05 PM Ethan Sweep @.***>
wrote:

@mikahpinegar https://github.com/mikahpinegar @brianwdavis
https://github.com/brianwdavis Everything is looking correct so far.
Thank you for getting all the most up-to-date information since the gateway
came back online. Ryan states that the files were dowloaded from the nodes
and gateways at these two fields, and they were uploaded to the Google
Drive.
Is it possible to get this data inputed and into the chart view?
—
Reply to this email directly, view it on GitHub
https://github.com/precision-sustainable-ag/On-farm-Protocols/issues/252#issuecomment-1194629233,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AL3LJLLHB4E7BBNFWNQKVHTVV36TDANCNFSM54MM2W5Q
.
You are receiving this because you are subscribed to this thread.Message
ID: <precision-sustainable-ag/On-farm-Protocols/issues/252/1194629233@
github.com>

--
Sarah Seehaver Eagen
NCSU Department of Crop and Soil Sciences
Southern Cover Crops Council Program Manager
Campus Box 7620
101 Derieux Pl
Raleigh, NC  27695
phone:<PHONE_NUMBER>

@saseehav The nodes had gone down at some point, but the field techs (Ronaldo for HFD, and Ryan for OSA) went out and reset them which brought them back online. As of right now both of them are regularly transmitting data to the tech dashboard so there's no need for a manual download. They have not been put into receiver mode.
The graphs for HFD are now complete with the missing data. OSA still has the gap, but @brianwdavis is currently working on it.

HFD is now complete looking:

OSA still has a substantial gap:

Since both have recent data, I assume they're transmitting now, and the manual collection was to try to fill that gap section. My recollection is that OSA has a problem that's cascading from the duplicate serial number issue we had (#170), but I believe that would only affect one of the nodes at that site, not all four.
I just scanned through all the uploaded text files in Google Drive, and none match any of the nodes that are assigned to OSA: 18000626, 18000370, 18000544, 18000412. Has there been another water sensor install form submission?

The last water_sensor_install form I have for OSA was submitted by indigo_psa on 05/19/2022. There's another OSA water_sensor_install form in the "Please Fix" tab, but it says it was for winter testing


Add search functionality

A search bar would be very helpful with the growing number of pages and instructions.

Definitely, thanks for the suggestion @dariolina!

I suggest closing this issue, as search has already been implemented.


Refactor DB-Access so schema can be specified in Config

Ideally, the Cottontail Access Layer would be refactored so that the schema to be used (currently cineast) can be specified in the config. This would mean we could write tests using the "real" database names and then eliminate the hypothetical user error where tests are run against a productive database.

Hey! I know a bit of Java and I want to contribute to this issue, however I'm new, would you be willing to guide me so I can do it?

Hi @vaibhav0806 i updated the issue description to be a bit more specific. If you start working on the issue now, you should probably start with the polyphenydb branch, which is compatible with the current master branch of cottontail.


Original Type definition not navigable anymore when a type is augmented locally

Issue Type: Feature Request
I needed to augment a type coming from an external module (namely @uirouter/angularjs so that an interfaces could have an optional parameter, otherwise I was receiving an error from the TypeScript compiler. So I went for my augmentation in a file:
import { Ng1StateDeclaration, Ng1ViewDeclaration, _Ng1StateDeclaration, StateProvider } from "@uirouter/angularjs";

declare module "@uirouter/angularjs" {
  interface Ng1StateDeclaration extends _Ng1StateDeclaration, Ng1ViewDeclaration {
    breadcrumb?: string;
  }

  class StateProvider {
    state(name: string, definition: Ng1StateDeclaration): StateProvider;
  }
}

The augmentation works fine, so that now the method call that has an Ng1StateDeclaration as parameter accepts an optional property breadcrumb:
import * as uiRouter from "@uirouter/angularjs";

$stateProvider: uiRouter.StateProvider;

$stateProvider.state("app.roles", {
  breadcrumb: "Roles",
  url: "/roles",
  views: {
    "view@state": {
      template: require("./views/roles-list.html"),
      controller: "RolesListCtrl as vm"
    }
  }
})

However, now if I cmd+click on Ng1StateDeclaration or StateProvider.state() anywhere in my code (both in the type.extentions.ts file and in the files that calls the method) I always get redirected to the symbols in type.extentions.ts, and I have no other ways to open the original type declarations.
VS Code version: Code 1.21.1 (79b44aa704ce542d8ca4a3cc44cfca566e7720f1, 2018-03-14T14:39:09.335Z)
OS version: Darwin x64 17.4.0
Steps to reproduce:

Create a new file TypeScript file to augment an interface exported in another module, using TypeScript Declaration Merging
Go To / Show definition (or cmd+click on Mac)

Expected outcome: Both the original declaration and the augmented one are shown, or at least a dialog letting me choose which one to show
Current outcome: only the augmentation is showing, thus preventing me to check the original definition

This issue was moved to Microsoft/TypeScript#25742


Automatic code linting and formatting

Expected Behavior

Automatic code formatting
Actual Behavior

Currently developper need to take care of code formatting which would probably be better developpers invested time if that was automated
Potential Solution

using a code formatter / linter such as https://csharpier.com/ could help to have well formated code
Such tool could be event be integrated as part of a continuous integration or as a pre-commit hook
Checklist

[x] I have completely filled out this template
[x] I have confirmed that this issue exists on the current master branch
[x] I have confirmed that this is not a duplicate issue by searching issues

[x] I have provided detailed steps to reproduce the issue

CSharpier have few options and claims it
https://prettier.io/docs/en/option-philosophy.html
I'm fine with default settings.
Any opinion ?


Implement torch.Tensor.masked_fill_

🚀 Feature
NeMo's Stable Diffusion uses torch.Tensor.masked_fill_ and when it's run with thunder.jit, thunder gives an error:
Unknown attribute masked_fill_
Motivation
NeMo's Stable Diffusion
CC: @tfogal

Closing as the issue is already open here: #335


fix: bump IBM provider to 1.62.0 in preperation for CBR update

Description
Bump IBM provider to 1.62.0 in preparation for a renovate PR to update CBR to a version that requires 1.62.0
Release required?

[ ] No release
[x] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content
Bump IBM Provider to 1.62.0
Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

/run pipeline

/run pipeline

:tada: This PR is included in version 1.9.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Watch dont work if "context" is relative, but works if absolute (for windows)

For Windows.
"entry" config option dont require Absolute path - compile and watch works without issue:
//working for compile and  watching
module.exports = {
    entry: "./wwwroot/js/file.js",
    devtool: "source-map",
    output: {
        filename: "bundle.js"
    }
};

"context" config option dont require Absolute path for compile, but require Absolute path for watch:
(from the doc: Windows paths - webpack expects absolute paths for many config options.)
Corectly compile, but dont really watching for file changes:
//working for compile and NOT working for watching
module.exports = {
    context: "./wwwroot",
    entry: "./js/file.js",
    devtool: "source-map",
    output: {
        filename: "bundle.js"
    }
};

Corectly compile and watching for file changes corectly:
//working for compile and NOT working for watching
module.exports = {
    context: "D:\\path\\wwwroot\\",   //using absolute path fixed the issue
    entry: "./js/file.js",
    devtool: "source-map",
    output: {
        filename: "bundle.js"
    }
};

Same bug was already reported by @samanime but as comment https://github.com/shama/webpack-stream/issues/18#issuecomment-185549552

context must be absolute, this is validated now.


Add Flat Remix theme

Color-scheme based on Flat-Remix icon theme palette

Thank you, and sorry for the delay :)

No, problem. And thank you ;)


A top-level timeZone option

Related #384, what if instead of “time” (local time) and “utc” (UTC time) scales, we supported a top-level timeZone option that affected the interpretation of any “time” scales. For example, you could explicitly set the time zone to “America/Los_Angeles” so that all viewers see the same time zone. (Caveat: until JavaScript has built-in support for time zone math, it’s probably not practical to implement this.)

This request for exporting ticker in d3-time mentions timezones:
https://github.com/d3/d3-time/issues/61

I added my current solution https://github.com/d3/d3-time/issues/61#issuecomment-1405458727

Thank you @reubano; noting for myself, a shorter link to the relevant commit https://github.com/observablehq/plot/commit/24f9c467aa46c1b939c71af201dea7888063bf1b


Addition of a welcome bot

Is your feature request related to a problem? Please describe.

It will generally give an idea to anyone who hops in first time into the project and creates an issue or makes a pr
Describe the solution you'd like
So adding this bot will help resolve that issue
Describe alternatives you've considered
No alternative

can you share the link of bot you are talking about?

Sure sharing in few minutes

https://github.com/apps/welcome  : this is the one

when do you feel more valued? when bot says welcome to you or if maintainer himself welcome you haha?

closing with a meme!!

Thank you for feature suggestion 🔥


Array append broken

The following Python code
a = ["hello"]
a += ["world"]
print(a) # ['hello', 'world']

gets compiled into:
a = ["hello"];
// ...
a += ["world"];
console.log(a); // "helloworld"

which is wrong, since a now is the helloworld string, while it should be the ['hello', 'world'] array.

This is fixed in Rusthon's javascript backend.
https://github.com/rusthon/Rusthon/blob/master/examples/javascript_syntax.md
You need to be explicit with special syntax to enable operator overloading.
with operator_overloading:
    a += [1,2,3]
    b = [0,1] + a


The issue is at line 150 of support/launch.sh, which allows connections from any IP address.
Found by @hackerfantastic

Duplicate of #6, only occurs if you explicitly launch GHIDRA in debug mode (not the default mode).

Sorry, I didn't notice that it was already documented.


request help: How to debug tcp

helm chart：master
controller-ingress:1.2.0
apisix config
apiVersion: v1
data:
  config.yaml: |-
    #
    # Licensed to the Apache Software Foundation (ASF) under one or more
    # contributor license agreements.  See the NOTICE file distributed with
    # this work for additional information regarding copyright ownership.
    # The ASF licenses this file to You under the Apache License, Version 2.0
    # (the "License"); you may not use this file except in compliance with
    # the License.  You may obtain a copy of the License at
    #
    #     http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    #
    apisix:
      node_listen: 9080             # APISIX listening port
      enable_heartbeat: true
      enable_admin: true
      enable_admin_cors: true
      enable_debug: false
      enable_dev_mode: false          # Sets nginx worker_processes to 1 if set to true
      enable_reuseport: true          # Enable nginx SO_REUSEPORT switch if set to true.
      enable_ipv6: true
      config_center: etcd             # etcd: use etcd to store the config value
                                      # yaml: fetch the config value from local yaml file `/your_path/conf/apisix.yaml`

      #proxy_protocol:                 # Proxy Protocol configuration
      #  listen_http_port: 9181        # The port with proxy protocol for http, it differs from node_listen and port_admin.
                                      # This port can only receive http request with proxy protocol, but node_listen & port_admin
                                      # can only receive http request. If you enable proxy protocol, you must use this port to
                                      # receive http request with proxy protocol
      #  listen_https_port: 9182       # The port with proxy protocol for https
      #  enable_tcp_pp: true           # Enable the proxy protocol for tcp proxy, it works for stream_proxy.tcp option
      #  enable_tcp_pp_to_upstream: true # Enables the proxy protocol to the upstream server

      proxy_cache:                     # Proxy Caching configuration
        cache_ttl: 10s                 # The default caching time if the upstream does not specify the cache time
        zones:                         # The parameters of a cache
        - name: disk_cache_one         # The name of the cache, administrator can be specify
                                      # which cache to use by name in the admin api
          memory_size: 50m             # The size of shared memory, it's used to store the cache index
          disk_size: 1G                # The size of disk, it's used to store the cache data
          disk_path: "/tmp/disk_cache_one" # The path to store the cache data
          cache_levels: "1:2"           # The hierarchy levels of a cache
      #  - name: disk_cache_two
      #    memory_size: 50m
      #    disk_size: 1G
      #    disk_path: "/tmp/disk_cache_two"
      #    cache_levels: "1:2"

      allow_admin:                  # http://nginx.org/en/docs/http/ngx_http_access_module.html#allow
        - <IP_ADDRESS>/24
        - <IP_ADDRESS>/0
      #   - "::/64"
      port_admin: 9180

      # Default token when use API to call for Admin API.
      # *NOTE*: Highly recommended to modify this value to protect APISIX's Admin API.
      # Disabling this configuration item means that the Admin API does not
      # require any authentication.
      admin_key:
        # admin: can everything for configuration data
        - name: "admin"
          key: edd1c9f034335f136f87ad84b625c8f1
          role: admin
        # viewer: only can view configuration data
        - name: "viewer"
          key: 4054f7cf07e344346cd3f287985e76a2
          role: viewer
      router:
        http: 'radixtree_uri'         # radixtree_uri: match route by uri(base on radixtree)
                                      # radixtree_host_uri: match route by host + uri(base on radixtree)
        ssl: 'radixtree_sni'          # radixtree_sni: match route by SNI(base on radixtree)
      stream_proxy:                 # TCP/UDP proxy
        only: false
        tcp:                        # TCP proxy port list
          - 9100
          - 33123
      # dns_resolver:
      #
      #   - <IP_ADDRESS>
      #
      #   - <IP_ADDRESS>
      #
      #   - <IP_ADDRESS>
      #
      #   - <IP_ADDRESS>
      #
      #   - <IP_ADDRESS>
      #
      #   - <IP_ADDRESS>
      #
      dns_resolver_valid: 30
      resolver_timeout: 5
      ssl:
        enable: true
        enable_http2: true
        listen_port: 9443
        ssl_protocols: "TLSv1 TLSv1.1 TLSv1.2 TLSv1.3"
        ssl_ciphers: "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA"

    nginx_config:                     # config for render the template to genarate nginx.conf
      error_log: "/dev/stderr"
      error_log_level: "warn"         # warn,error
      worker_rlimit_nofile: 20480     # the number of files a worker process can open, should be larger than worker_connections
      event:
        worker_connections: 10620
      http:
        access_log: "/dev/stdout"
        keepalive_timeout: 60s         # timeout during which a keep-alive client connection will stay open on the server side.
        client_header_timeout: 60s     # timeout for reading client request header, then 408 (Request Time-out) error is returned to the client
        client_body_timeout: 60s       # timeout for reading client request body, then 408 (Request Time-out) error is returned to the client
        send_timeout: 10s              # timeout for transmitting a response to the client.then the connection is closed
        underscores_in_headers: "on"   # default enables the use of underscores in client request header fields
        real_ip_header: "X-Real-IP"    # http://nginx.org/en/docs/http/ngx_http_realip_module.html#real_ip_header
        real_ip_from:                  # http://nginx.org/en/docs/http/ngx_http_realip_module.html#set_real_ip_from
          - <IP_ADDRESS>
          - 'unix:'
        #lua_shared_dicts:              # add custom shared cache to nginx.conf
        #  ipc_shared_dict: 100m        # custom shared cache, format: `cache-key: cache-size`

    etcd:
      host:                                 # it's possible to define multiple etcd hosts addresses of the same etcd cluster.
        - "http://apisix-etcd.lgy.svc.cluster.local:2379"
      prefix: "/apisix"     # apisix configurations prefix
      timeout: 30   # 30 seconds
    plugins:                          # plugin list
      - api-breaker
      - authz-keycloak
      - basic-auth
      - batch-requests
      - consumer-restriction
      - cors
      - echo
      - fault-injection
      - grpc-transcode
      - hmac-auth
      - http-logger
      - ip-restriction
      - jwt-auth
      - kafka-logger
      - key-auth
      - limit-conn
      - limit-count
      - limit-req
      - node-status
      - openid-connect
      - prometheus
      - proxy-cache
      - proxy-mirror
      - proxy-rewrite
      - redirect
      - referer-restriction
      - request-id
      - request-validation
      - response-rewrite
      - serverless-post-function
      - serverless-pre-function
      - sls-logger
      - syslog
      - tcp-logger
      - udp-logger
      - uri-blocker
      - wolf-rbac
      - zipkin
      - traffic-split
    stream_plugins:
      - mqtt-proxy
kind: ConfigMap

apisixrouter:
kind: ApisixRoute
metadata:
  name: tcp-route
  namespace: lgy
spec:
  stream:
    - name: tcp-route-rule1
      protocol: TCP
      match:
        ingressPort: 33123
      backend:
        serviceName: grpc
        servicePort: 9100

svc:

According to the official website document, the relevant configuration is deployed, now how to test whether the TCP proxy is successful, because the relevant request port is not exposed in the svc

@lgy1027 The port is the one APISIX listening on, not the nodePort.
Then what is my request address and how to debug. I used nginx-ingress to open tcp-server before, and the corresponding svc will open multiple ports to listen.
If I change to apisix, what is the request address, <IP_ADDRESS>:33123? Will automatically jump?

Sure, it's not something about APISIX, it's the feature supported by Kubernetes.

33123 is custom tcp port in APISIX,  you can try kubectl port-forword to test .

@lgy1027 See https://github.com/apache/apisix-ingress-controller/blob/master/test/e2e/ingress/tcp.go#L37 for the details.


Cannot use

Hi,
I have the following issue:
docID, docContent = line.split( '\t' )

ValueError: need more than 1 value to unpack
Could you please let me know how to fix this.

This problem often happens  at the very beginning of Termite, it's because the data format of your initial training data is not right, you should make sure your data to be like this:
docID_1 (you need a "\t" here) sentence********
docID_2 (you need a "\t" here) sentence********
docID_3 (you need a "\t" here) sentence********


How about using the mask provided in official BodyPix model?

BodyPix officially contains a mask function, which could straightly returns a mask of the image. How about using it instead?

I am already using Bodypix but the mask alone is not enough to make it robust.

Sorry for late comment but you can you alpha channel of the mask and canvas globalCompositeOperation to blend it without for loop


Issue with loading a plugin in Hoobs - platform registration

9/28/2020, 5:08:56 PM Loaded plugin "homebridge-lc7001".
9/28/2020, 5:08:56 PM The requested platform "LC7001" was not registered by any plugin.
9/28/2020, 5:08:56 PM Your config.json is requesting the platform "LC7001" which has not been published by any installed plugins.
I found a similar issue here:
https://github.com/schemers/homebridge-screenlogic/pull/9
Can you see if you can update the plugin as after this release the plugin no longer works. Had to back out to 0.6.4 version.
Thank you.

I am having the same issue.
10/15/2020, 10:05:59 AM Loaded plugin "homebridge-lc7001".
10/15/2020, 10:06:01 AM Loaded plugin "homebridge-ring".
10/15/2020, 10:06:01 AM The requested platform "LC7001" was not registered by any plugin.
10/15/2020, 10:06:01 AM Your config.json is requesting the platform "LC7001" which has not been published by any installed plugins.

I had the same issue until I modified the code as suggested in Issue #10 filed yesterday. That solved all my issues and I have complete control of my Adorne lights/dimmers in Homekit now. Fabulous plugin for Legrand users.

Is this an issue post v1.0.4? I am happy to try to figure it out, if not.


Can't get DNS cert if using netcup as DNS provider

Checklist

Have you pulled and found the error with jc21/nginx-proxy-manager:latest docker image?

yes

Are you sure you're not using someone else's docker image?

nope

If having problems with Lets Encrypt, have you made absolutely sure your site is accessible from outside of your network?

it's not really, that's why I need DNS challenge

Describe the bug

version: v2.6.2

So I went so "SSL" in NPM and clicked "Add SSL Certificate".
I'm using DNS-Challenge and selected netcup as my DNS Provider.
In the credentials field below, I kept the standard input, but replaced my credentials after the = signs.
Then I agree to the TOS and click "Save".
It then needs like 10 seconds and aborts with an error, that all of these credentials haven't been found.
Error from NPM:
Error: Command failed: /usr/bin/certbot certonly --non-interactive --cert-name "npm-4" --agree-tos --email "MYMAIL" --domains "MYDOMAIN" --authenticator certbot-dns-netcup:dns-netcup --certbot-dns-netcup:dns-netcup-credentials "/etc/letsencrypt/credentials/credentials-4"
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator certbot-dns-netcup:dns-netcup, Installer None
Obtaining a new certificate
Performing the following challenges:
dns-01 challenge for MYDOMAIN
Cleaning up challenges
Missing properties in credentials configuration file /etc/letsencrypt/credentials/credentials-4:
 * Property "certbot_dns_netcup:dns_netcup_customer_id" not found (should be Customer ID associated with netcup account).
 * Property "certbot_dns_netcup:dns_netcup_api_key" not found (should be Key for CCP API, see https://www.netcup-wiki.de/wiki/CCP_API).
 * Property "certbot_dns_netcup:dns_netcup_api_password" not found (should be Password for CCP API, see https://www.netcup-wiki.de/wiki/CCP_API).

    at ChildProcess.exithandler (child_process.js:308:12)
    at ChildProcess.emit (events.js:314:20)
    at maybeClose (internal/child_process.js:1051:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:287:5)

And this is the docker-compose logs -f when pressing "Save":
nginx-proxy_1  | [11/10/2020] [12:12:22 PM] [Nginx    ] › ℹ  info      Reloading Nginx
nginx-proxy_1  | [11/10/2020] [12:12:22 PM] [Express  ] › ⚠  warning   Command failed: /usr/bin/certbot certonly --non-interactive --cert-name "npm-4" --agree-tos --email "MYMAIL" --domains "MYDOMAIN" --authenticator certbot-dns-netcup:dns-netcup --certbot-dns-netcup:dns-netcup-credentials "/etc/letsencrypt/credentials/credentials-4"
nginx-proxy_1  | Saving debug log to /var/log/letsencrypt/letsencrypt.log
nginx-proxy_1  | Plugins selected: Authenticator certbot-dns-netcup:dns-netcup, Installer None
nginx-proxy_1  | Obtaining a new certificate
nginx-proxy_1  | Performing the following challenges:
nginx-proxy_1  | dns-01 challenge for MYDOMAIN
nginx-proxy_1  | Cleaning up challenges
nginx-proxy_1  | Missing properties in credentials configuration file /etc/letsencrypt/credentials/credentials-4:
nginx-proxy_1  |  * Property "certbot_dns_netcup:dns_netcup_customer_id" not found (should be Customer ID associated with netcup account).
nginx-proxy_1  |  * Property "certbot_dns_netcup:dns_netcup_api_key" not found (should be Key for CCP API, see https://www.netcup-wiki.de/wiki/CCP_API).
nginx-proxy_1  |  * Property "certbot_dns_netcup:dns_netcup_api_password" not found (should be Password for CCP API, see https://www.netcup-wiki.de/wiki/CCP_API).

Just to be sure: Of course I have normal email adresses and stuff, just don't want to show it publicly here :)
It seems like this credential file is missing somehow. I don't know if it clears the file on an error run, but even when looking at the volume, or executing bash inside the container, I can't find a file:
[root@docker-19942efd9143:/app]# ls -a /etc/letsencrypt/credentials/
.
..

To Reproduce
Steps to reproduce the behavior:
I have included all steps into the error description.
Expected behavior
Well, getting my SSL certificate, no errur runs.
Operating System

Debian 10 x64, NPM via docker. Everything up-to-date.

Additional context
Nothing special. In fact it's a fresh install, installed docker(-compose) and ran NPM. Nothing else on this machine for now.

I confirmed via watch ls -la and watch cat * that the given credential file is being created (with correct content) and then deleted after the error occurs. So it doesn't seem like a file-writing problem.

after an hour of testing, I found out, that the template credentials are "wrong". :)
as the error says, it awaits certbot_dns_netcup:dns_netcup_customer_id and not dns_netcup_customer_id for example. So adding this certbot_dns_netcup: in front of every line and it tries to do the challange.

I now get another error where I'm on it, don't know much to tell about it yet, just adding it here for sake of completness:
nginx-proxy_1  | [11/10/2020] [1:29:31 PM] [Nginx    ] › ℹ  info      Reloading Nginx
nginx-proxy_1  | [11/10/2020] [1:29:31 PM] [Express  ] › ⚠  warning   Command failed: /usr/bin/certbot certonly --non-interactive --cert-name "npm-10" --agree-tos --email "MYMAIL" --domains "*.MYDOMAIN" --authenticator certbot-dns-netcup:dns-netcup --certbot-dns-netcup:dns-netcup-credentials "/etc/letsencrypt/credentials/credentials-10"
nginx-proxy_1  | Saving debug log to /var/log/letsencrypt/letsencrypt.log
nginx-proxy_1  | Plugins selected: Authenticator certbot-dns-netcup:dns-netcup, Installer None
nginx-proxy_1  | Obtaining a new certificate
nginx-proxy_1  | Performing the following challenges:
nginx-proxy_1  | dns-01 challenge for MYDOMAIN
nginx-proxy_1  | Waiting 10 seconds for DNS changes to propagate
nginx-proxy_1  | Waiting for verification...
nginx-proxy_1  | Challenge failed for domain MYDOMAIN
nginx-proxy_1  | dns-01 challenge for MYDOMAIN
nginx-proxy_1  | Cleaning up challenges
nginx-proxy_1  | Some challenges have failed.

Ok, looking through the `letsencrypt.log it seems like those challenges work, but it ultimately can't find the TXT required for the last challenge.
Can I assume that the TXT is being set (and removed on failure) by the API? Or when do I set which TXT entry?
I can't see anything reminding me about to set the TXT.

Here I go again, sorry for spam:
I set the propagation time to a whopping 500 seconds and BOOM! it works! :)
So for future readers:
The credentials have to be set with the correct names, as specified here: https://github.com/jc21/nginx-proxy-manager/issues/710#issuecomment-724703709
I leave this ticket open, even though I solved it for me, so that a maintainer can check if there is something wrong with the credential template for the netcup DNS provider. :)


dumb question time again

once I have the sprite generating and I add svg-logo class to an element, how can we resize that element via CSS.
If I change the element size, the background position gets knocked out. Is there a way to properly set the size that I'm missing? I realise this might not fall within the remit of svg-sprite.
Thanks,
Steven

Hi @stevieg83,
I've to keep it short due to massive overload, but: You need to use a vertical or horizontal sprite layout and set background-position: cover. In most cases this should work. Hope it helps.
Cheers,
Joschi


fix: invalidate user_code after consent has been accepted

IAM-843

invalidate user_code after consent has been accepted
make device grant lifetimes configurable
add more tests

Currently the tests are failing because of https://github.com/canonical/fosite/issues/21


QUERY: ETHB ETH TVL Actions/Changes by Block

How much ETH is in the ETHB Vault over time?
Query should output:

BLOCK_NUMBER
CONTRACT_ADDRESS
ACTION
TOKEN_SYMBOL
AMOUNT

15000000
0x...
DEPOSIT
ETH
4.3

15000020
0x...
WITHDRAW
ETH
1.9

Any known changes to ETHB Contract address should be clear by a difference in CONTRACT_ADDRESS (if applicable).

How are Fees paid? in ETH or in DAI?
Are they paid to this contract?
What other actions may be relevant, e.g., Liquidations? How would those look in the data?

DAI Outstanding, Implied Revenue, Liquidations, etc. all complete. See queries: ethb_deposits.sql; ethb_withdraws.sql; ethb_liquidations.sql


entc/gen: return an error instead of panic when import forgotten

Return an error instead of panic in case of ent/runtime import was forgotten.
cc @cliedeman

Nice


Label major waterways at lower zoom levels

This style doesn’t seem to label any waterway until zoom level 8 or 9, but some major waterways should be labeled at lower zoom levels too. For example, labels for the Rio Grande, Mississippi, Missouri, and Ohio at zoom level 4 would help explain why the international and state boundaries of the U.S. look as they do.

@jleedev pointed out in Slack that the labels do show up at lower zoom levels as long as text-max-angle is very high. Cranking up the text-max-angle isn’t really an option, because the features are very curvy. This issue technically affects road name labels as well (#514), but rivers are particularly impacted because they tend to be sinewy.
We need more aggressively simplified geometries at these lower zoom levels in order to show the labels. The style specification has a tolerance option for GeoJSON sources but can’t support this option for vector tile sources: mapbox/mapbox-gl-js#6129. So the simplification would need to happen in the vector tile generation process. Alternatively, as a workaround, we could do some feature querying at runtime to copy these geometries into a GeoJSON source, which we could then apply the tolerance option to. But that kind of seems like overkill for just these river labels.


Add support for Maghrebi Arabic

Maghrebi Arabic is the variety of Arabic spoken (and written) across the Maghreb region. Depending on the situation, it can be written in Arabic script, Hebrew script, or Latin script.
For now, I would like to focus on the Arabic script.
Adding support for Maghrebi Arabic written in the Arabic script can be easy since the detection of the letters ڨ or ڥ or ڭ or ڜ is enough. The letters ڢ and ڧ are also attested, although in older documents or printed ones (rarely online).

Unfortunately the way to add new languages is rather involved, and includes an external standards body. I recently wrote about it here: https://github.com/wooorm/franc/issues/74#issuecomment-490362308

I see. Well, it seems that UDHR translations are quite outdated (the one for Tamazight goes back to 1998, before the official recognition of the language and the standardization of its orthography).
So, could you please explain the process of making franc? I would like to make a similar project but using Bible translations instead of UDHR 😄 Thanks!
PS: the part that I don't understand the most is the data.json files.

Fun! Bible is a good idea as well. I believe there’s less available bibles (in unicode) though, but it is a longer text.
wooorm/udhr crawls and generates documents in unicode, wooorm/trigrams generates trigrams from them, script/build.js generates data

I see 😃 Bible.com hosts around 1300 translations (including multiple varieties of Arabic and Tamazight), although they are not all complete. So I'll look for the most translated chapter and use it.
Yeah, this is gonna be fun :D


Notebook not auto-starting when opening .ju.py file (Windows)

I have my config setup to auto start and attach a server:
		auto_start_server = {
			enable = true,
			file_pattern = { "*.ju.*" },
		},
		auto_attach_to_server = {
			enable = true,
			file_pattern = { "*.ju.*" },
		},

However, when I open a *.ju.py file the server doesn't start automatically.
I have confirmed that manually starting/attaching with :JupyniumStartAndAttachToServer works OK
My config: https://github.com/sho-87/dotfiles/blob/master/nvim/lua/plugins/modules/jupynium.lua

I don't know if #41 and this is related. But I think for this one it may be because of your lazy loading strategy.
First of all I think ft = "ju.*" is wrong. Unfortunately there's no filetype for jupynium so you can just say ft = "python".

ah yes both this and #41 were due to lazy loading
minor request: is it possible at some point to refactor the Jupynium commands so that they can receive args ( e.g. Jupynium StartSync and Jupynium AttachToServer) rather than each one being a differently named command? That way the plugin can be lazy loaded using a single Jupynium command rather than on a generic python filetype or on a long list of different commands?

Yes, by the time I was writing this I didn't think about that, and that's a fair point at some point I'll need to refactor

But if you want auto start, you don't want it to lazy load because it needs to be loaded before the file. I need to think how to improve this

How about this?
    cond = function()
      return vim.fn.expand("%:n"):match [[.*%.ju%..*]] ~= nil
    end,

Then only *.ju.* file will load Jupynium.

Ive turned off autostart for now as I find the plugin more useful without it, but ill wait for an eventual refactor as those methods have restrictions dont fit well with my workflow

What I can maybe do is to make cmds in two forms for now, deprecating the others over time.
I wonder if I should group the commands as well.
Jupynium kernel_restart
or
Jupynium kernel restart
The second way may be more organised, but I guess we don't have too many commands available anyway and it may make it harder to type and find the commands.
What do you think?

I think Jupynium kernel_restart would be ok. there aren't too many kernel commands, and going to 2 level commands might just make things harder to autocomplete

On a second thought, you probably don't need or want to lazy load Jupynium. It's very minimal and it takes like 1ms to start up. The core part is implemented in Python so before the jupynium server starts there's nothing that'll take time to load.
All it does is just creating vim commands and autocmds.
I think specifying ft is enough.

Let me know if it takes long time to load. It could be a Windows specific bug

You can try cmd = { "JupyniumStartAndAttachToServer", "JupyniumAttachToServer" }because these cmds need to be called before using anything else anyways. Again you may have some problem by doing this.
I found that it is difficult to group the commands, because there are two parts where the cmds are initialised. The plugin initialises basic commands to launch Jupynium. The core initialises additional commands once you attach Jupynium. It's not trivial to group those into one.
The reason I did this approach is that 1. some people want to use Jupynium on a remote server. Then we need to ensure that the python core and the plugin version is the same. This can go wring and cause issues.
2. It's more intuitive to show commands that are available first

that makes sense. I will try loading on those 2 commands and see if it works.


Rename class idmethod xmlelement

hi,
this rename class IDMethod => IdMethod
this rename class XMLElement => XmlElement
PR for issue #4

Good job!


Test1

More detailed description of your change,
if necessary. The PR title and PR message become
the squashed commit message, so use a separate
comment to ping reviewers.
Summary of testing strategy (including rationale)
for the feature or bug fix. Unit and/or integration
tests are expected for any behaviour change and
system tests should be considered for larger changes.
Committer Checklist (excluded from commit message)

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

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk7-scala2.10/3861/
Test FAILed (JDK 7 and Scala 2.10).


Assertion Error while training with custom datasets

I have tried to train this model with my own custom dataset but the following is the error I encountered.
The format of the dataset followed the one from the tutorial.
The images I used are 360 degree pictures of my room/office taken by myself and I have labeled the images without pre-processing(aligning camera rotation pose). Is this process necessary?
Looking forward to any suggestions.

Traceback (most recent call last):                                                                                | 0/2 [00:00<?, ?it/s]
File "train.py", line 171, in
x, y_bon, y_cor = next(iterator_train)
File "/home/ubuntu/anaconda3/envs/pytorch_p36/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 582, in next
return self._process_next_batch(batch)
File "/home/ubuntu/anaconda3/envs/pytorch_p36/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 608, in _process_next_batch
raise batch.exc_type(batch.exc_msg)
AssertionError: Traceback (most recent call last):
File "/home/ubuntu/anaconda3/envs/pytorch_p36/lib/python3.6/site-packages/torch/utils/data/_utils/worker.py", line 99, in _worker_loop
samples = collate_fn([dataset[i] for i in batch_indices])
File "/home/ubuntu/anaconda3/envs/pytorch_p36/lib/python3.6/site-packages/torch/utils/data/_utils/worker.py", line 99, in
samples = collate_fn([dataset[i] for i in batch_indices])
File "/home/ubuntu/Projects/HorizonNet_Original/dataset.py", line 68, in getitem
assert (cor[0::2, 1] > cor[1::2, 1]).sum() == 0
AssertionError

Thank you for using HorizonNet.
Actually your training images should be aligned and sorry for missing this step in tutorial. I just fixed it.
But as your dataset pass the sanity check assert (cor[0::2, 0] != cor[1::2, 0]).sum() == 0 in dataset.py, your original images could be already properly aligned.
From the error log you paste, it seem that the order of ceiling and floor corners in ground truth .txt files is flipped.
158 186      <= this is ceiling corner (smaller y position)
158 329      <= this is the corresponding floor corner
...

Ceiling corner should appear just right before the corresponding floor corner.

Thank you for your rapid feedback.
But the new commit does not work for me.
Before training with my own data, I wanted to try to test the new commit with some samples, which are from layoutnet_dataset.(I picked 8 samples from train folder) I labeled them with my own tool and let horizonNet train with them, however, it returns the same error as the following. I followed the the way your tutorial says but it seems like there are rule that I am missing when I label the images. I checked the order of my dataset, but it has been not flipped.
some of the data that I labeled are attached to this issue could you please check and tell me what is wrong?
Looking forward to hearing from you.
Dataset Link

File "train.py", line 171, in
x, y_bon, y_cor = next(iterator_train)
File "/home/ubuntu/anaconda3/envs/pytorch_p36/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 582, in next
return self._process_next_batch(batch)
File "/home/ubuntu/anaconda3/envs/pytorch_p36/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 608, in _process_next_batch
raise batch.exc_type(batch.exc_msg)
AssertionError: Traceback (most recent call last):
File "/home/ubuntu/anaconda3/envs/pytorch_p36/lib/python3.6/site-packages/torch/utils/data/_utils/worker.py", line 99, in _worker_loop
samples = collate_fn([dataset[i] for i in batch_indices])
File "/home/ubuntu/anaconda3/envs/pytorch_p36/lib/python3.6/site-packages/torch/utils/data/_utils/worker.py", line 99, in
samples = collate_fn([dataset[i] for i in batch_indices])
File "/home/ubuntu/Projects/HorizonNet_Original/dataset.py", line 67, in getitem
assert (cor[0::2, 1] > cor[1::2, 1]).sum() == 0
AssertionError

It seems that line 3 in some of your provided gt .txt is corrupted.
For example pano_ayqmegcknownei.txt:
179 195
179 318
260 318
260 314
460 197
460 364
647 314
647 359

It is unreasonable for corners 260 318 and 260 314.
Another easy to spot corrupted data pano_ayinqxoyulzbco.txt:
164 175
164 314
254 314
254 314
456 178
456 350
658 314
658 351

Line 3 and 4 are totally the same.

yeah you are right I found a typo from my own code.
after the fixation it is working fine
Thanks a lot!


When running as a service it never updates the fans

Specifically, if I run it within Rider or Directly it will print log output as well as actually adjusting the fans. Once it's running in systemd however, there is no logging and it never actually adjusts the fans.

Hmm. Are you seeing anything at all when you run
sudo journalctl -u betterfancontroller

?

Nope

sudo systemctl status betterfancontroller
[sudo] password for krutonium:
● betterfancontroller.service - Better Fan Controller
     Loaded: loaded (/etc/systemd/system/betterfancontroller.service; disabled;>
     Active: inactive (dead)
 ✘ krutonium@gamingpc  ~  sudo systemctl start betterfancontroller
Job for betterfancontroller.service failed because a fatal signal was delivered causing the control process to dump core.
See "systemctl status betterfancontroller.service" and "journalctl -xe" for details.
 ✘ krutonium@gamingpc  ~  sudo systemctl status betterfancontroller
● betterfancontroller.service - Better Fan Controller
     Loaded: loaded (/etc/systemd/system/betterfancontroller.service; disabled>
     Active: failed (Result: core-dump) since Thu 2020-10-15 19:38:02 EDT; 9s >
    Process: 3486 ExecStart=/usr/sbin/BetterFanController (code=dumped, signal>
   Main PID: 3486 (code=dumped, signal=ABRT)
Oct 15 19:38:01 gamingpc BetterFanController[3486]:    at Microsoft.Extensions.Configuration.FileConfigurationProvider..ctor(FileConfigurationSource source)
Oct 15 19:38:01 gamingpc BetterFanController[3486]:    at Microsoft.Extensions.Configuration.Json.JsonConfigurationProvider..ctor(JsonConfigurationSource source)
Oct 15 19:38:01 gamingpc BetterFanController[3486]:    at Microsoft.Extensions.Configuration.Json.JsonConfigurationSource.Build(IConfigurationBuilder builder)
Oct 15 19:38:01 gamingpc BetterFanController[3486]:    at Microsoft.Extensions.Configuration.ConfigurationBuilder.Build()
Oct 15 19:38:01 gamingpc BetterFanController[3486]:    at Microsoft.Extensions.Hosting.HostBuilder.BuildAppConfiguration()
Oct 15 19:38:01 gamingpc BetterFanController[3486]:    at Microsoft.Extensions.Hosting.HostBuilder.Build()
Oct 15 19:38:01 gamingpc BetterFanController[3486]:    at BetterFanController.Program.Main(String[] args)
Oct 15 19:38:02 gamingpc systemd[1]: betterfancontroller.service: Main process exited, code=dumped, status=6/ABRT
Oct 15 19:38:02 gamingpc systemd[1]: betterfancontroller.service: Failed with result 'core-dump'.
Oct 15 19:38:02 gamingpc systemd[1]: Failed to start Better Fan Controller.

OK so it is at least trying to start! Unfortunately I can only see half a stack trace. Can you try running sudo /usr/sbin/BetterFanController directly from the shell and post the output?

It starts fine.
krutonium@gamingpc  ~  sudo /usr/sbin/BetterFanController
info: BetterFanController.FanController[0]
      Found Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 at path /sys/class/drm/card0.
info: BetterFanController.FanController[0]
      Indexed GPUs
info: BetterFanController.FanController[0]
      Please note that the first 5 lines of this log are wrong while the application calibrates itself.
info: BetterFanController.FanController[0]
      Set GPU RX 5600 XT at 29c (Average temp of 1000c) to a PWM Speed of 73
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
      Content root path: /home/krutonium
info: BetterFanController.FanController[0]
      Set GPU RX 5600 XT at 29c (Average temp of 805c) to a PWM Speed of 255
info: BetterFanController.FanController[0]
      Set GPU RX 5600 XT at 29c (Average temp of 611c) to a PWM Speed of 255
info: BetterFanController.FanController[0]
      Set GPU RX 5600 XT at 29c (Average temp of 417c) to a PWM Speed of 255
info: BetterFanController.FanController[0]
      Set GPU RX 5600 XT at 29c (Average temp of 223c) to a PWM Speed of 255
info: BetterFanController.FanController[0]
      Set GPU RX 5600 XT at 29c (Average temp of 29c) to a PWM Speed of 255
info: BetterFanController.FanController[0]
      Set GPU RX 5600 XT at 29c (Average temp of 29c) to a PWM Speed of 91
info: BetterFanController.FanController[0]
      Set GPU RX 5600 XT at 29c (Average temp of 29c) to a PWM Speed of 73
info: BetterFanController.FanController[0]
      Set GPU RX 5600 XT at 29c (Average temp of 29c) to a PWM Speed of 73

Oct 15 19:37:20 gamingpc systemd[1]: Starting Better Fan Controller...
Oct 15 19:38:01 gamingpc BetterFanController[3486]: Unhandled exception. System.IO.IOException: Invalid argument
Oct 15 19:38:01 gamingpc BetterFanController[3486]:    at System.IO.Enumeration.FileSystemEnumerator`1.FindNextEntry(Byte* entryBufferPtr, Int32 bufferLength)
Oct 15 19:38:01 gamingpc BetterFanController[3486]:    at System.IO.Enumeration.FileSystemEnumerator`1.MoveNext()
Oct 15 19:38:01 gamingpc BetterFanController[3486]:    at System.IO.FileSystemWatcher.RunningInstance.AddDirectoryWatchUnlocked(WatchedDirectory parent, String directoryName)
Oct 15 19:38:01 gamingpc BetterFanController[3486]:    at System.IO.FileSystemWatcher.RunningInstance.AddDirectoryWatchUnlocked(WatchedDirectory parent, String directoryName)
Oct 15 19:38:01 gamingpc BetterFanController[3486]:    at System.IO.FileSystemWatcher.RunningInstance.AddDirectoryWatchUnlocked(WatchedDirectory parent, String directoryName)
Oct 15 19:38:01 gamingpc BetterFanController[3486]:    at System.IO.FileSystemWatcher.RunningInstance.AddDirectoryWatchUnlocked(WatchedDirectory parent, String directoryName)
Oct 15 19:38:01 gamingpc BetterFanController[3486]:    at System.IO.FileSystemWatcher.RunningInstance.AddDirectoryWatchUnlocked(WatchedDirectory parent, String directoryName)
Oct 15 19:38:01 gamingpc BetterFanController[3486]:    at System.IO.FileSystemWatcher.RunningInstance.AddDirectoryWatchUnlocked(WatchedDirectory parent, String directoryName)
Oct 15 19:38:01 gamingpc BetterFanController[3486]:    at System.IO.FileSystemWatcher.RunningInstance..ctor(FileSystemWatcher watcher, SafeFileHandle inotifyHandle, String directoryPath, Boolean includeSubdirectories, NotifyFilters notif>
Oct 15 19:38:01 gamingpc BetterFanController[3486]:    at System.IO.FileSystemWatcher.StartRaisingEvents()
Oct 15 19:38:01 gamingpc BetterFanController[3486]:    at System.IO.FileSystemWatcher.StartRaisingEventsIfNotDisposed()
Oct 15 19:38:01 gamingpc BetterFanController[3486]:    at System.IO.FileSystemWatcher.set_EnableRaisingEvents(Boolean value)
Oct 15 19:38:01 gamingpc BetterFanController[3486]:    at Microsoft.Extensions.FileProviders.Physical.PhysicalFilesWatcher.TryEnableFileSystemWatcher()
Oct 15 19:38:01 gamingpc BetterFanController[3486]:    at Microsoft.Extensions.FileProviders.Physical.PhysicalFilesWatcher.CreateFileChangeToken(String filter)
Oct 15 19:38:01 gamingpc BetterFanController[3486]:    at Microsoft.Extensions.FileProviders.PhysicalFileProvider.Watch(String filter)
Oct 15 19:38:01 gamingpc BetterFanController[3486]:    at Microsoft.Extensions.Configuration.FileConfigurationProvider.<.ctor>b__1_0()
Oct 15 19:38:01 gamingpc BetterFanController[3486]:    at Microsoft.Extensions.Primitives.ChangeToken.ChangeTokenRegistration`1..ctor(Func`1 changeTokenProducer, Action`1 changeTokenConsumer, TState state)
Oct 15 19:38:01 gamingpc BetterFanController[3486]:    at Microsoft.Extensions.Primitives.ChangeToken.OnChange(Func`1 changeTokenProducer, Action changeTokenConsumer)
Oct 15 19:38:01 gamingpc BetterFanController[3486]:    at Microsoft.Extensions.Configuration.FileConfigurationProvider..ctor(FileConfigurationSource source)
Oct 15 19:38:01 gamingpc BetterFanController[3486]:    at Microsoft.Extensions.Configuration.Json.JsonConfigurationProvider..ctor(JsonConfigurationSource source)

The full dump, didn't realize I'd actually lost the top.

Welp. I wonder if it's permissions or something?
I'm not that familiar with Arch, can you see what permissions you have on the bin?
Here's the output of getfacl /usr/sbin/BetterFanController on my machine
# file: usr/sbin/BetterFanController
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

iirc If you don't specify it runs it as root, lt me check permissions

getfacl /usr/sbin/BetterFanController
getfacl: Removing leading '/' from absolute path names
# file: usr/sbin/BetterFanController
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

OK I've made an Arch VM on my machine and I'm seeing the same as you now. So at least it's reproducible!
I'll have a play around and see if I can narrow down the problem 🤔

I've tried going so far as to changing what user the application runs under, both as root and another account that may as well be root have the issue.


Purpose of padding

https://github.com/nelson1425/EfficientAD/blob/fcab5146f84ae17597044ad5ddf1656ccf805401/efficientad.py#LL279C9-L279C75
I'm wondering why this padding is necessary. Can you help me?

Hi, without this padding the segmentation metric will decrease very much because the segmentation pixels are not aligned anymore after the next line (map_combined = torch.nn.functional.interpolate(...)).
It is similar to applying 11x11 edge filter to 100x100 image. The result will be 90x90 image with detected edges. Resizing it to 100x100 would distort the detected edges. Instead you have to pad the 90x90 image with 5 pixels on each size.
In the case of EfficientAD, the patch size is 33, so 16 pixels padding on each border. The teacher has two layers with stride 2, so we need to divide the 16 pixels padding by 2 and again by 2, which gives us 4. So 4 pixels padding on each border for the output feature maps.

disclaimer: i'm using the implementation in anomalib, which apparently was based on yours
there is an option pad_maps to use this padding you guys are talking about

@nelson1425 i don't think this is correct, because if you add a 0 padding in the end then upscale it with an interpolation, you would be just upscaling the zero borders as well, while just upscaling would actually make the corners at the final resolution align (obs: 56 is the output resolution without any padding with the small PDN, the blue zone is filled with 0s):

i checked this with the implementation in anomalib and it's actually the case (a random score map from an untrained model):

as a result,  that null score zone is independent of the input, so i'd expect results to be worse (?) , so

... without this padding the segmentation metric will decrease very much ...

sounds rather surprinsing; did you test this factor isolated?
besides, the paper says

(appendix E, page 21)
so the reported results are without padding, and they don't say anything about this zero padding in the end, and it supposedly shouldn't affect much the results

Hi, without this padding the segmentation metric will decrease very much because the segmentation pixels are not aligned anymore after the next line (map_combined = torch.nn.functional.interpolate(...)).
It is similar to applying 11x11 edge filter to 100x100 image. The result will be 90x90 image with detected edges. Resizing it to 100x100 would distort the detected edges. Instead you have to pad the 90x90 image with 5 pixels on each size.
In the case of EfficientAD, the patch size is 33, so 16 pixels padding on each border. The teacher has two layers with stride 2, so we need to divide the 16 pixels padding by 2 and again by 2, which gives us 4. So 4 pixels padding on each border for the output feature maps.

how caculate these values? how can I know what size should I pad?


Bringing back prior (and new) button long-press actions (+extended documentation)

This brings back prior (and adds new) features to the GPIO control module - especially different modes for long-press actions.
Long version:
This PR finally closes issue #1377 that was inadvertently already closed with my previous, preparatory PR #1397.

The boolean button option "hold_repeat" was upgraded to a textual "hold_mode" with several options. This brings back postponed as well as secondary actions and introduces some new variants.
I wrote an extensive component documentation for the GPIO module with many examples (previous one was way too short IMHO)
I tested and optimized the ShutDown button class with the integrated LED support. For example, it had some timing options which were mostly ignored in favor of hardcoded values. Now the config values get effective.
I also tested the TwoButtonControl class (with minor updates) and the LED class.
Since I do not have a rotary encoder, I did neither test but also not touch the related code. (I just removed some lines from respective ini examples that are not evaluated by this component)
Also, I added more available functions to the function_calls.py. This includes the new random track/folder playout commands added by my earlier PR #1365.
On my breadboards I encountered double/unwanted actions especially when releasing buttons, especially when they haven't just been tipped very shortly. Though I did not experience similar effects on older Phoniebox versions, such effects seem to be a well-known behavior of the GPIO library, as I found in the forums. I added a workaround which works fine for me, but left it disabled by default. It can be activated using a config file option described in the manual.

Even longer version:
See the single commit notes in my repo for some more (but less relevant) details ;-)

Thank you for the PR and improving GPIO control!
Is the renaming of the parameters working in existing installations?
If not would it make sense to update the ini file, while reading it, if necessary?

Hi s-martin!
My answer has two parts:

I already found the code with existing insonsistencies among all these ini files and how it is implemented/evaluated in the python scripts.
Typical examples were pull_up_down (new scheme) vs. pull_up (old scheme), Pin1/Pin2 (new?) vs. PinUp/PinDown (old?), functionCallUp/Down (old?)  vs. functionCall1/2 (new?). or  enable(typo? found several times) vs. enabled.
In your example, the ini file defines a control of type TwoButtonControl which defines the GPIOs as PinUp and PinDown and the actions as functionCallUp and functionCallDown. However, if gpio_control.py finds a control of Type TwoButtonControl it actually expects Pin1 / Pin2 and functionCall1 / functionCall2.
The funny thing is that this particular ini entry actually still worked because gpio_control.py has a special treatment for TwoButtonControl if (and only if) the ini section is named "VolumeControl". In this case it actually did the same thing just by querying the old(?) names.
But if the user would rename the ini section to something else (e.g. "Primary VolumeControl" or whatever) it would suddenly stop working and probably no user could understand why.
My first tought was that all of these inconsistencies evolved unintentionally so I cleaned up / unified everything I found. Maybe the special treatment of entries named VolumeControl was somehow intentional for backward compatibility. In this case I somehow broke it ;-) This special treatment is actually still contained in my PR with the updated ini naming - but is more or less redundant now and could be removed. The only (remaining) difference is that TwoButtonControls named VolumeControl have the auto-repeat feature (old: hold_repeat, new: hold mode: Repeat") enabled by default / as fallback (which does not apply to the ini sample entry which defines auto-repeat itself).

2.) It might be a good idea to make a list or approach how old GPIO entries/parameters could be updated by automatic conversions. I consider this a good idea which is a cleaner style than some special constructs in the code (which even do not work for arbitrary entries but only for such with one reserved name). I'm quite confident that this will not be very complex. I'll think about it soon and post it here...

@s-martin
I just tested it and it is quite easy to add a new function that checks the ini file for deprecated syntax after loading it and upgrades it to the current format. This obviously works quite well. I could finish it (after testing it a bit further) and add it to my source branch so it will be added to this PR.
One question beforehand: I can integrate it in two ways:

Option1: Once we patched the ConfigParser object, we save/update it to disk.

Advantages: Patches become permanent, no need for further patching. Patching function could be removed after 2 or 3 years when little old configs will have survived in the filed,
Disadvantages: All potential user comments and (upper, lower) case of the option keys will be lost. Though this is a readability/convenience issue only, this might annoy some users. However, we could make a gpio_settings.bak backup of the previous version so that nothing will be lost completely.

Option 2: We apply the patches within the configparser object without saving it to disk.

Advantage: We don't touch the ini file and everthing will work correctly anyway.
Disadvantages: We have to invoke this function and repeat the patching at every startup (but this runs quick). We encourage users to keep deprecated ini format so it will be less easy to remove this patcher after 2 or 3 years...

Which option is preferred?

@T0bi79
I would go for option 1 with a bak file.

@s-martin : auto-correction feature is implemented :)


Multiple sr_mpls_infra_l3out entries in sr_mpls_l3outs ?

Hello,
First of all, thanks for your work, that's great !
I'm using 4 SR-MPLS_L3OUT in the infra tenant : SR-MPLS_RT1, SR-MPLS_RT2, SR-MPLS_RT3 and SR-MPLS_RT4.
In a tenant configuration on nac yaml files, i would like to add all 4 sr_mpls_infra_l3out entries in 1 sr_mpls_l3outs like this (with 2) :
      sr_mpls_l3outs:
        - name: SR-MPLS_DEV
          external_endpoint_groups:
              - name: ExtEPG_SR-MPLS_DEV
                subnets:
                  - prefix: <IP_ADDRESS>/0
                contracts:
                  consumers:
                  - Contract_Permit-All_DEV
          vrf: VRF_DEV
          sr_mpls_infra_l3out: SR-MPLS_L3Out_RT1
          outbound_route_map: RM4RC_export_RT1
          inbound_route_map: RM4RC_import_RT1
          sr_mpls_infra_l3out: SR-MPLS_L3Out_RT2
          outbound_route_map: RM4RC_export_RT2
          inbound_route_map: RM4RC_import_RT2

I understand with the online documentation that sr_mpls_infra_l3out, outbound_route_map and inbound_route_map are strings and then cannot be duplicate.
Confirmed by terraform's error :
terraform apply
module.aci.data.utils_yaml_merge.model: Reading...
╷
│ Error: Error reading YAML string
│
│   with module.aci.data.utils_yaml_merge.model,
│   on .terraform\modules\aci\merge.tf line 20, in data "utils_yaml_merge" "model":
│   20: data "utils_yaml_merge" "model" {
│
│ Error reading YAML string: yaml: unmarshal errors:
│   line 137: mapping key "sr_mpls_infra_l3out" already defined at line 133
│   line 138: mapping key "outbound_route_map" already defined at line 134
│   line 139: mapping key "inbound_route_map" already defined at line 135

I was able to create 4 sr_mpls_l3outs with 1 sr_mpls_infra_l3out on each but that is not the way it should work because it adds 3 more L3Out per tenant.
It would be nice to be capable of associate different outbound_route_map and inbound_route_map (and even  external_endpoint_groups) to each  sr_mpls_infra_l3out !
Is there a way to do this configuration ? Or should I wait for an upcoming release with this feature ? A maybe a "feature request" ?
Thank you.

Hi,
Single tenant SR MPLS L3OUT can only have reference to one infra SR MPLS L3out, you cannot make multiple references, even you try to do the same operation from GUI.
I can see your infra SR MPLS L3outs are called with the external router names - perhaps it would be better to combine all 4 routers under single SR MPLS L3out with multiple Node/Interface Profiles per external router? In this way you wouldn't need to have 4 references from the user tenant.

Hi,
I understand what you said but if I do 1 SR-MPLS containing 4 nodes profiles on the infra tenant, I haven't find a way to add some more information like priority on the client tenant side.
For exemple on the gui :

I tested it on a "real" testing environnement and this configuration was working well.

This will be addressed in the next release.


Limit default k8s role's access to collection API

The default security.json generated by the operator has full CollectionAPI access, see
https://github.com/apache/solr-operator/blob/84a7781e498a92a66d62eac2a3515c1646bd5ce6/controllers/util/solr_security_util.go#L351
Since the operator typically is using BasicAuth, which is les secure than other auth methods, it could make sense to explicitly limit the actions the k8s role can do on the collection API, i.e. not allow that BasicAuth user to create or delete collections. This can be done by adding params limitation to the custom permission, e.g.
{
  "name": "k8s-status",
  "role":"k8s",
  "collection": null,
  "path":"/admin/collections",
  "params": {
    "action": ["LIST", "CLUSTERSTATUS", "OVERSEERSTATUS", "BACKUP"]
  }
}

This is a good idea. I think there are some other actions we use, but we can go through and make sure.
One issue is that users could have issues when upgrading the Solr Operator for existing clouds. If the new version of the operator uses more actions, it could fail because existing security.jsons will not be changed to include those actions.

Yea, upgrading Security.json in general is a hard topic. The init-container that bootstraps security.json does not run if it is already there. But it should ideally be versioned, so that it is gets updated whenever needed during an upgrade?

Yeah I do like that idea. Maybe if it already exists, we can just merely issue a call to make sure the right stuff is added when the versioning is changed? We can store the version on the statefulset as an annotation. I guess that requires the operator to have super-user permissions, which won't work.

Removing this from the v0.6.0 milestone based on Houston's comment here


Ampere1 dev

Support for AmpereOne family
Ampere's newest processor, AmpereOne, has architecture-specific build options to improve performance through better code generation. This PR is aimed to detect software built for the Arm Neoverse series of processors and recommend options for AmpereOne support.
Add detection for meson build files
This PR support detects meson build files for missing AmpereOne support.
Other changes
Extend other arch list with loongarch64, riscv64, sandybridge, zen, etc to reduce noise.
UT cases extended.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Bin,
I would recommend the following text:
Support for AmpereOne family
Ampere's newest processor, AmpereOne, has architecture-specific build options to improve performance through better code generation. This PR is aimed to detect software built for the Arm Neoverse series of processors and recommend options for AmpereOne support.
Add detection for meson build files
This PR support detects meson build files for missing AmpereOne support.
Other changes
Extend other arch list with loongarch64, riscv64, sandybridge, zen, etc to reduce noise.
UT cases extended.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Bin, I would recommend the following text:
Support for AmpereOne family Ampere's newest processor, AmpereOne, has architecture-specific build options to improve performance through better code generation. This PR is aimed to detect software built for the Arm Neoverse series of processors and recommend options for AmpereOne support.
Add detection for meson build files This PR support detects meson build files for missing AmpereOne support.
Other changes Extend other arch list with loongarch64, riscv64, sandybridge, zen, etc to reduce noise. UT cases extended.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thanks @naren-ampere , summary updated.

Looks good for me.


MacOS: Paste text from the clipboard copied from MS Word for Mac as text

My Setup

Operating System: macOS High Sierra v.1013.6
App Version: Rocket.Chat v.2.13.3, MS Word for Mac v.15.30

[x] I have tested with the latest version
[x] I can simulate the issue easily

Description

Current Behavior

When you paste text into Rocket.Chat from the clipboard copied from an MS Word for Mac document, the text is inserted as an image. It is very uncomfortable.
In MS Windows, the text from the MS Word document to Rocket.Chat is inserted into the input field as text.
Expected Behavior

It is necessary that in MacOS copied text from an MS Word for Mac document can be inserted into the input field Rocket.Chat as text, as in MS Windows.

Any news about that? pretty nasty bug

This issue wasn't triaged yet. BTW, isn't this bug occurring when accessing Rocket.Chat from a web browser too?

@tassoevan sorry, cant reproduce it right now, far from my macbook now, will see on monday.

This bug happens if i use native app or chrome/opera_neon browser
On safari copy/paste from ms office works as expected

I'm closing it since is a known issue affecting all Rocket.Chat clients based on Chromium, even Google Chrome. Here is the original issue to follow: https://github.com/RocketChat/Rocket.Chat/issues/3551


HfssSimulationSetup class does not inherit InterpolatingSweepData from parent SimulationSetup

🔍 Before submitting the issue

[X] I have searched among the existing issues
[X] I am using a Python virtual environment

🐞 Description of the bug
Can't access interplating_sweep_data from HFSSSimulationSetup
📝 Steps to reproduce
NA
💻 Which operating system are you using?
Windows
📀 Which ANSYS version are you using?
No response
🐍 Which Python version are you using?
3.10
📦 Installed packages
NA

@svandenb-dev should be accessible in HfssSimulationSetup.sweep_data[].interpolation_data?
let me know if you can't find it there


[CPR] Update to 1.8.4

Library name: CCPR
New version number: 1.8.4
Other information that may be useful (release notes, etc...)
Security release

Duplicate of #25237
Fix by #25244


add theme_loading key

I think maybe it would be easier for us to store the translation data in json to write scripts to automatically follow up the translations like https://github.com/SillyTavern/SillyTavern-i18n/blob/main/generate.py
what do you think?

Automatic translations are problematic. I intentionally avoided them when first building TypeDoc's system because I have seen it generate utterly wrong text (even with my two years of a foreign language in high school), and that was in a simpler context.
I reached out to some people I know, who confirmed my suspicions about using this for TypeDoc:

I've been a translator for a few projects in the past, including the TS docs, and I can confirm this is indeed far from ideal
texts written in English usually use common vocabulary, where lots of words can have different meanings depending on the context
unlike "richer" languages like French, German, or even Chinese where concepts more often than not have a dedicated word or group of words
which leaves less room for interpretation / guessing from the context
also lots of technical words often don't have a proper translation, sometimes a word-for-word translation from English, or an obscure word that has decided upon by some language institution
👉  machine translation is possible,
but only for languages where enough bilingual content exists
and really depends on the kind of translator used (Google Translate vs Deepl vs some other AI stuff)

It's not called out explicitly anywhere in the internationalization docs, but I probably should add some wording that asks people not to submit translations if all they are doing is running keys through google translate without a good understanding of the language they are submitting translations for. I don't have the expertise to judge the translations for accuracy, so am entirely reliant on contributors for that.
One example where as a non-Chinese speaker I wouldn't be comfortable including Google translate based definitions is the text:

Specify the default visibility for builtin filters and additional filters according to modifier tags

Which Google translates as:

根据修饰符标签指定内置过滤器和附加过滤器的默认可见性

When translated back to English, Google gives

Specifies the default visibility of built-in filters and additional filters according to the modifier tag

Which implies there is one modifier tag. This isn't correct, so either the translation to Chinese is wrong, the translation back to English is wrong, or there is some hint in the Chinese translation that implies plural tags which Google didn't pick up, but would be obvious to a native speaker.


rancher-nfs: Unclean plugin removal / Docker thinks volumes are still present

Rancher Version: master
Docker Version: 1.12.3
OS and where are the hosts located? (cloud, bare metal, etc): n/a
Setup Details: (single node rancher vs. HA rancher, internal DB vs. external DB) n/a
Environment Type: (Cattle/Kubernetes/Swarm/Mesos) cattle
Steps to Reproduce:

Create a cattle environment and register 1+ hosts
Create a nfsv4 server that is reachable by registered hosts
Launch the rancher-nfs template with host/export configuration
Create a few stacks with rancher-nfs volumes defined. This sample may be used.
Delete the stacks and corresponding volumes from the UI.
Delete the nfs stack.
On the agent host, execute docker volume ls

Results: Some volumes of driver type rancher-nfs are listed, client times out trying to communicate to rancher-nfs.sock
Expected: No volumes of driver type rancher-nfs are listed, response is timely

With the release of Rancher 2.0, development on v1.6 is only limited to critical bug fixes and security patches.