text:
Upgrade doesn't work if wrong value in configmap (2.8.0-> 2.9.0)

Describe the bug
Whenever we create new configmap and add wrong value in it for float no then upgrade fails with the following error
How to Reproduce?

Install CSI 2.8.0

root@deebugk8s1:~# kn get cso
NAME                     VERSION   SUCCESS
ibm-spectrum-scale-csi   2.8.0     True
root@deebugk8s1:~# kn get pods
NAME                                                  READY   STATUS    RESTARTS   AGE
ibm-spectrum-scale-csi-42qd7                          3/3     Running   0          17s
ibm-spectrum-scale-csi-4rn8z                          3/3     Running   0          17s
ibm-spectrum-scale-csi-92545                          3/3     Running   0          17s
ibm-spectrum-scale-csi-9hr6j                          3/3     Running   0          17s
ibm-spectrum-scale-csi-9kt9j                          3/3     Running   0          17s
ibm-spectrum-scale-csi-attacher-6df84d85c9-djpnk      1/1     Running   0          17s
ibm-spectrum-scale-csi-attacher-6df84d85c9-tkj8n      1/1     Running   0          17s
ibm-spectrum-scale-csi-bj6rz                          3/3     Running   0          17s
ibm-spectrum-scale-csi-d6nkj                          3/3     Running   0          17s
ibm-spectrum-scale-csi-ftk9w                          3/3     Running   0          17s
ibm-spectrum-scale-csi-hntmv                          3/3     Running   0          17s
ibm-spectrum-scale-csi-hrk5q                          3/3     Running   0          17s
ibm-spectrum-scale-csi-k5tjv                          3/3     Running   0          17s
ibm-spectrum-scale-csi-kq6d6                          3/3     Running   0          17s
ibm-spectrum-scale-csi-n2rfj                          3/3     Running   0          17s
ibm-spectrum-scale-csi-operator-68958ccdfc-84b67      1/1     Running   0          40s
ibm-spectrum-scale-csi-provisioner-59847b9966-twfcj   1/1     Running   0          17s
ibm-spectrum-scale-csi-resizer-64d5d8c98b-zh4js       1/1     Running   0          17s
ibm-spectrum-scale-csi-rsw9k                          3/3     Running   0          17s
ibm-spectrum-scale-csi-snapshotter-68d854b9c9-rq5ft   1/1     Running   0          17s
ibm-spectrum-scale-csi-sw5t7                          3/3     Running   0          17s
ibm-spectrum-scale-csi-test-pod                       1/1     Running   0          39h
ibm-spectrum-scale-csi-v4cc5                          3/3     Running   0          17s
ibm-spectrum-scale-csi-wkjlw                          3/3     Running   0          17s
ibm-spectrum-scale-csi-x5789                          3/3     Running   0          17s
ibm-spectrum-scale-csi-xchvb                          3/3     Running   0          17s

Create a configmap as following(without %) :

root@deebugk8s1:~/bnp# kn apply -f cm.yaml
configmap/ibm-spectrum-scale-csi-config configured
root@deebugk8s1:~/bnp# cat cm.yaml
kind: ConfigMap
apiVersion: v1
metadata:
  name: ibm-spectrum-scale-csi-config
  namespace: ibm-spectrum-scale-csi-driver
data:
  DRIVER_UPGRADE_MaxUnavailable: "80"

Upgrade CSI to 2.9.0 :

root@deebugk8s1:~/2.9.0/latest# kn apply -f ibm-spectrum-scale-csi-operator.yaml
deployment.apps/ibm-spectrum-scale-csi-operator configured
clusterrole.rbac.authorization.k8s.io/ibm-spectrum-scale-csi-operator configured
clusterrolebinding.rbac.authorization.k8s.io/ibm-spectrum-scale-csi-operator unchanged
serviceaccount/ibm-spectrum-scale-csi-operator unchanged
customresourcedefinition.apiextensions.k8s.io/csiscaleoperators.csi.ibm.com configured

Check if driver pods are recreating or not

root@deebugk8s1:~/2.9.0/latest# kn get pods -w
NAME                                                  READY   STATUS    RESTARTS   AGE
ibm-spectrum-scale-csi-42qd7                          3/3     Running   0          3m51s
ibm-spectrum-scale-csi-4rn8z                          3/3     Running   0          3m51s
ibm-spectrum-scale-csi-92545                          3/3     Running   0          3m51s
ibm-spectrum-scale-csi-9hr6j                          3/3     Running   0          3m51s
ibm-spectrum-scale-csi-9kt9j                          3/3     Running   0          3m51s
ibm-spectrum-scale-csi-attacher-85965f76cd-dj5kd      1/1     Running   0          61s
ibm-spectrum-scale-csi-attacher-85965f76cd-kttj7      1/1     Running   0          61s
ibm-spectrum-scale-csi-bj6rz                          3/3     Running   0          3m51s
ibm-spectrum-scale-csi-d6nkj                          3/3     Running   0          3m51s
ibm-spectrum-scale-csi-ftk9w                          3/3     Running   0          3m51s
ibm-spectrum-scale-csi-hntmv                          3/3     Running   0          3m51s
ibm-spectrum-scale-csi-hrk5q                          3/3     Running   0          3m51s
ibm-spectrum-scale-csi-k5tjv                          3/3     Running   0          3m51s
ibm-spectrum-scale-csi-kq6d6                          3/3     Running   0          3m51s
ibm-spectrum-scale-csi-n2rfj                          3/3     Running   0          3m51s
ibm-spectrum-scale-csi-operator-566f8fdf7f-zrj8h      1/1     Running   0          90s
ibm-spectrum-scale-csi-provisioner-b5db8c7d9-q486k    1/1     Running   0          61s
ibm-spectrum-scale-csi-resizer-686d8fffdd-6pl5w       1/1     Running   0          61s
ibm-spectrum-scale-csi-rsw9k                          3/3     Running   0          3m51s
ibm-spectrum-scale-csi-snapshotter-6bcf7b5d8b-r85lk   1/1     Running   0          61s
ibm-spectrum-scale-csi-sw5t7                          3/3     Running   0          3m51s
ibm-spectrum-scale-csi-test-pod                       1/1     Running   0          40h
ibm-spectrum-scale-csi-v4cc5                          3/3     Running   0          3m51s
ibm-spectrum-scale-csi-wkjlw                          3/3     Running   0          3m51s
ibm-spectrum-scale-csi-x5789                          3/3     Running   0          3m51s
ibm-spectrum-scale-csi-xchvb                          3/3     Running   0          3m51s
root@deebugk8s1:~# kn get cso  -w
NAME                     VERSION   SUCCESS
ibm-spectrum-scale-csi   2.8.0     True
ibm-spectrum-scale-csi   2.9.0     False
ibm-spectrum-scale-csi   2.9.0     False

CSO Description :
  Warning  UpdateFailed  109s (x17 over 115s)  CSIScaleOperator  Synchronization of node/driver ibm-spectrum-scale-csi DaemonSet failed for the CSISCaleOperator instance ibm-spectrum-scale-csi

Expected behaviour:
CSI should upgrade with predefined daemonset values if provided value by the user is false

Logs: scale-csi/D.952

Observation : this issue can be also recreated when configmap is already present and we direct install CSI 2.9.0 , pods will be as following :
root@deebugk8s1:~# kn get pods
NAME                                                  READY   STATUS             RESTARTS   AGE
ibm-spectrum-scale-csi-attacher-85965f76cd-dfnlg      0/1     CrashLoopBackOff   4          112s
ibm-spectrum-scale-csi-attacher-85965f76cd-zmq6p      0/1     CrashLoopBackOff   4          112s
ibm-spectrum-scale-csi-operator-566f8fdf7f-4pf95      1/1     Running            0          2m21s
ibm-spectrum-scale-csi-provisioner-b5db8c7d9-74hf7    0/1     CrashLoopBackOff   4          112s
ibm-spectrum-scale-csi-resizer-686d8fffdd-s6zxh       0/1     CrashLoopBackOff   4          112s
ibm-spectrum-scale-csi-snapshotter-6bcf7b5d8b-9snhq   0/1     CrashLoopBackOff   4          112s
ibm-spectrum-scale-csi-test-pod                       1/1     Running            0          40h
root@deebugk8s1:~#

Have addressed this issue in the same PR which is related to optional configMap variable validation.
https://github.com/IBM/ibm-spectrum-scale-csi/pull/947

The fix will allow an upgrade from older to newer version even if there is an incorrect value of the MaxUnavailable variable. If  wrong value of the key is present in the configMap, the default value (which 1 Integer) being configured as upgradeStrategy.

This is fixed, please close if verified already

Hi @amdabhad , @badri-pathak , I see issue still there , I have tried upgrade from CSI 2.9.0 to CSI 2.10.0 (#1002 images), driver pods are still not getting upgraded with following error:
[root@saurabh6-master pr1002]# oc get pods
NAME                                                  READY   STATUS    RESTARTS   AGE
ibm-spectrum-scale-csi-7p7bn                          3/3     Running   0          5m6s
ibm-spectrum-scale-csi-attacher-b6b6d4948-k6ttn       1/1     Running   0          52s
ibm-spectrum-scale-csi-attacher-b6b6d4948-klkvq       1/1     Running   0          52s
ibm-spectrum-scale-csi-operator-567f8455f5-98fhg      1/1     Running   0          75s
ibm-spectrum-scale-csi-provisioner-b456fbb49-l92ql    1/1     Running   0          52s
ibm-spectrum-scale-csi-resizer-84d84bfdf6-g5sm9       1/1     Running   0          52s
ibm-spectrum-scale-csi-snapshotter-656d4bd64f-5bvg5   1/1     Running   0          52s
ibm-spectrum-scale-csi-stpd8                          3/3     Running   0          5m6s
[root@saurabh6-master pr1002]# oc get cso
NAME                     VERSION   SUCCESS
ibm-spectrum-scale-csi   2.10.0    False
Events:
  Type     Reason         Age                     From              Message
  ----     ------         ----                    ----              -------
  Warning  GUIConnFailed  6m20s (x13 over 7m16s)  CSIScaleOperator  Failed to connect to the GUI of the cluster with ID: 227604367530725699
  Normal   CSIConfigured  5m20s (x2 over 5m21s)   CSIScaleOperator  The CSI driver resources have been created/updated successfully
  Warning  UpdateFailed   4m25s (x2 over 5m21s)   CSIScaleOperator  Failed to set defaults on the instance ibm-spectrum-scale-csi. Please check Operator logs
  Warning  UpdateFailed   4m3s (x16 over 4m27s)   CSIScaleOperator  Synchronization of node/driver ibm-spectrum-scale-csi DaemonSet failed for the CSISCaleOperator instance ibm-spectrum-scale-csi
  Warning  UpdateFailed   65s                     CSIScaleOperator  Failed to set defaults on the instance ibm-spectrum-scale-csi. Please check Operator logs
  Warning  UpdateFailed   54s (x14 over 67s)      CSIScaleOperator  Synchronization of node/driver ibm-spectrum-scale-csi DaemonSet failed for the CSISCaleOperator instance ibm-spectrum-scale-csi

Images :
[root@saurabh6-master pr1002]# oc describe pod | grep quay
    Image:         quay.io/ibm-spectrum-scale/ibm-spectrum-scale-csi-driver@sha256:573b3b2d349359d7871d53060a0fc7df6e03de2e2900d1be46b4146ab1972fb7
    Image ID:      quay.io/ibm-spectrum-scale/ibm-spectrum-scale-csi-driver@sha256:573b3b2d349359d7871d53060a0fc7df6e03de2e2900d1be46b4146ab1972fb7
  Normal   Pulled     8m10s              kubelet            Container image "quay.io/ibm-spectrum-scale/ibm-spectrum-scale-csi-driver@sha256:573b3b2d349359d7871d53060a0fc7df6e03de2e2900d1be46b4146ab1972fb7" already present on machine
    Image:         quay.io/badri_pathak/ibm-spectrum-scale-csi-operator:events_gui_pass_v9
    Image ID:      quay.io/badri_pathak/ibm-spectrum-scale-csi-operator@sha256:a31ef1636903b3f3f75406cc463d0045a5064c7db12d59b07a322e89259e2065
      CSI_DRIVER_IMAGE:      quay.io/ibm-spectrum-scale-dev/ibm-spectrum-scale-csi-driver@sha256:ee9bd3e431cf0d3fb1e407a6e2ed51d6be957dd1445c2cd88f329cbb5b1ea494
  Normal  Pulled     4m20s  kubelet            Container image "quay.io/badri_pathak/ibm-spectrum-scale-csi-operator:events_gui_pass_v9" already present on machine
    Image:         quay.io/ibm-spectrum-scale/ibm-spectrum-scale-csi-driver@sha256:573b3b2d349359d7871d53060a0fc7df6e03de2e2900d1be46b4146ab1972fb7
    Image ID:      quay.io/ibm-spectrum-scale/ibm-spectrum-scale-csi-driver@sha256:573b3b2d349359d7871d53060a0fc7df6e03de2e2900d1be46b4146ab1972fb7
  Normal   Pulled     8m10s              kubelet            Container image "quay.io/ibm-spectrum-scale/ibm-spectrum-scale-csi-driver@sha256:573b3b2d349359d7871d53060a0fc7df6e03de2e2900d1be46b4146ab1972fb7" already present on machine

@badri-pathak, please check this

@saurabhwani5 Can you please share the configMap data which is already present or being created to regenerate this issue?

Used the same as mentioned above

@saurabhwani5  Please find the image for the validation quay.io/badri_pathak/ibm-spectrum-scale-csi-operator:cmfix_v3

verified with above Image. Thank You @badri-pathak

authors: amdabhad badri-pathak saurabhwani5

repo: IBM/ibm-spectrum-scale-csi


text:
Fixes for CG filesets

Pull request checklist
Fixes in CG fileset discovery for version 2 volumes:

Change in filter to filter only independent filesets
Handle paginated response from GUI (for more than 1000 filesets GUI uses pagination in response)

Pull request type
Please check the type of change your PR introduces:

[x] Bugfix
[ ] Feature Enhancement
[ ] Test Automation
[ ] Code Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Community Operator listing
[ ] Other (please describe):

What is the current behavior?
All filesets are filtered for CG fileset discovery, paginated response from GUI is not handled
What is the new behavior?
Only independent filesets are filtered for CG fileset discovery and paginated response from GUI is handled
How risky is this change?

[x] Small, isolated change
[ ] Medium, requires regression testing
[ ] Large, requires functional and regression testing

Driver image: quay.io/amdabhad/csi-driver:cgFilesetFixes1001

New driver image: quay.io/amdabhad/csi-driver:CGFilesetFix1030

source: gharchive/pull-request

license_type: permissive

license_source: github-api


text:
DbStmt::fetchData returns empty set when SQLFetch returns SQL_SUCCESS_WITH_INFO

Should fetchData at least return error?  If Success with info creates a new issue of how to return the "issues"?
See issue #62 for more details

Fixed in v1.1.10. Close the issue.

source: gharchive/issue

authors: dmabupt jasonclake

repo: IBM/nodejs-idb-connector

license: MIT


text:
fix: Make operandrequest can be removed together with the namespace d…

…eletion
Grant ODLM extra permission to patch the remaining OperandRequest to remove the finalizer from it.
What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #649
Special notes for your reviewer:

Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.

Release note:

@Daniel-Fan @ZhuoxiLi Could you help review this PR?


text:
TestCase 10 : delete-everything-openshift does not delete Prometheus secrets

Issue:
The script code for deleting these secrets is not correct:
prometheus-token-secret
prometheus-cert-secret
The script does this:
oc delete --force secret prometheus-token-secret -n openshift-operators
oc delete --force secret prometheus-token-secret -n application-beta
oc get secret prometheus-token-secret -n openshift-operators
oc get secret prometheus-token-secret -n application-beta

but it should do something like this:
oc delete --force secret prometheus-cert-secret -n application-beta
oc delete --force secret prometheus-token-secret -n application-beta
oc get secret prometheus-cert-secret -n application-beta
oc get secret prometheus-token-secret -n application-beta

Link to the documentation:

@deleeuwblue The issue is fixed in this commit: https://github.com/IBM/operator-sample-go/commit/0e79f48f2dd4c64e079acbb27d543c028837e5a5 is also related to this issue create the secret https://github.com/IBM/operator-sample-go/issues/86

@thomassuedbroecker The commit https://github.com/IBM/operator-sample-go/commit/0e79f48f2dd4c64e079acbb27d543c028837e5a5 still does not delete the secret:
prometheus-cert-secret

Thanks https://github.com/IBM/operator-sample-go/commit/37a596c508e93dc2af85a9d87dc49577038a67f0

Fixed

authors: deleeuwblue thomassuedbroecker

repo: IBM/operator-sample-go


text:
panic: send on closed channel

Versions
sarama@v1.29.2-0.20210920231520-94c8136ff710
Please specify real version numbers or git SHAs, not just "Latest" since that changes fairly regularly.

Sarama
Kafka
Go

v1.29
2.4.1
go1.17.6

Configuration
kafka.KafkaOptions{
		Enabled:             false,
		Name:                name,
		Topic:               "test",
		Brokers:             []string{},
		BufferMemory:        2147483648,
		LingerInterval:      time.Millisecond * 10,
		BatchSize:           65536,
		CompressionType:     "none",
		ProducerLatencyTime: time.Millisecond * 60,
		SaslEnabled:         false,
		SaslMechanism:       "SASLTypePlaintext",
		SslEnabled:          false,
		SslCertificate:      "",
		SslCertificateKey:   "",
		SslCaCertificate:    "",
		MaxMessageBytes:     10485760,
		Version:             sarama.MaxVersion,
		SslSkipVerify:       false,
		MsgTimeoutWarn:      time.Millisecond * 10000,
		KeySerializer:       "org.apache.kafka.common.serialization.ByteArraySerializer",
		ValueSerializer:     "org.apache.kafka.common.serialization.ByteArraySerializer",
		Acks:                "local",
		Retry:               5,
		Workers:             1,
		SendBufferBytes:     10485760,
		ReceiveBufferBytes:  10485760,
		MaxRequestSize:      10485760,

panic: send on closed channel
goroutine 74 [running]:
github.com/Shopify/sarama.(*asyncProducer).shutdown(0xc0003080e0)
/Users/a/go/pkg/mod/github.com/!shopify/sarama@v1.29.2-0.20210920231520-94c8136ff710/async_producer.go:1057 +0xa8
github.com/Shopify/sarama.withRecover(0x0)
/Users/a/go/pkg/mod/github.com/!shopify/sarama@v1.29.2-0.20210920231520-94c8136ff710/utils.go:43 +0x3e
created by github.com/Shopify/sarama.(*asyncProducer).AsyncClose
/Users/a/go/pkg/mod/github.com/!shopify/sarama@v1.29.2-0.20210920231520-94c8136ff710/async_producer.go:322 +0x9d
exit status 2
Problem Description
When trying to shutdown Kafka producer using producer.Close() we are seeing this issue.

Closing as duplicate of #1441 — feel free to re-open if that's not the case

repo: IBM/sarama


text:
Shorten module release name

Helm has a restriction on 53 characters for a release name instead of the 63 characters restriction that K8s has. As the modules are based on helm we'll have to restrict on 53 characters.

Please make sure the documentation in the website describing how to contribute a module is updated to reflect this.

Please make sure the documentation in the website describing how to contribute a module is updated to reflect this.

Please make sure the documentation in the website describing how to contribute a module is updated to reflect this.

I might be missing something but I don't think that the changes in this PR affect module dev. However, we may want to highlight in the docs that resource names must be derived from the release name (in helm docs it's a "should be"). Opened https://github.com/IBM/the-mesh-for-data/issues/297 @simanadler please add to it if I missed something.

Please make sure the documentation in the website describing how to contribute a module is updated to reflect this.

I might be missing something but I don't think that the changes in this PR affect module dev. However, we may want to highlight in the docs that resource names must be derived from the release name (in helm docs it's a "should be"). Opened https://github.com/IBM/the-mesh-for-data/issues/297 @simanadler please add to it if I missed something.

authors: froesef roee88 simanadler

repo: IBM/the-mesh-for-data


text:
Create blogs

Some ideas for blogs:

define episodes, segments, scenes and moments, and how they are generated
how to utilize samples/episode_template.xml
the UI. How to navigate, define fields and values...

2 Blogs have been submitted

repo: IBM/watson-multimedia-analyzer


text:
🛑 TICP Registry is down

In b64600f, TICP Registry (https://cxnwn-diaaa-aaaag-aabaq-cai.raw.ic0.app/metrics) was down:

HTTP code: 0
Response time: 0 ms

Resolved: TICP Registry is back up in 4050f1e.

repo: IC-Naming/uptime


text:
Mateus esteves

administracao.zip

dashboards.zip


text:
Create middleware pipeline

Create a pipeline used to register middleware to make it easier to logically segregate code in a unified way to process requests on the server.

Reference commit dd89664eb74cda3e88214b9438a7dc0d73a81c81

Reference commit d311b2da3f2a3ef83fafff33261a051ccb5cf2ff

Reference commit 21e03ce1f4a163d73c7141c3d78bdb619d5e2035

Reference commit c311d08136491dc8029bdcd3decb31200fe3dcc2

Reference commit b87519cde873ba37590d67d510cae306ace98f9e

repo: ID-Management-As-Code/Deno-ID-Server


text:
🛑 IDR (image 648950) is down

In 7dce293, IDR (image 648950) (https://idr.openmicroscopy.org/webclient/?show=image-648950) was down:

HTTP code: 502
Response time: 93 ms

Resolved: IDR (image 648950) is back up in 957ac85 after 9 minutes.

repo: IDR/upptime


text:
🛑 IDR (image 648950) is down

In aa2b8f1, IDR (image 648950) (https://idr.openmicroscopy.org/webclient/?show=image-648950) was down:

HTTP code: 502
Response time: 87 ms

Resolved: IDR (image 648950) is back up in 023354b after 20 minutes.


text:
Wrong dir for scripts

@jasteve4 commited a new top level directory for a USB-related script a few weeks ago. It should be in bot/scripts.

Ok, Make sense.
I will make sure to keep the scrips in the scripts directory.

Moved scripts to correct directory.


text:
Create JSON Schema for cohort-data.json

As discussed on the IHCC call today, we're planning to maintain the status quo for communicating our results from data-harmonization to the Atlas browser: the data/cohort-data.json file.
(We had been discussing a revised API, but the current approach is working so far. We can revisit that topic later, depending on funding.)
As we develop a self-serve workflow for cohorts to submit their dictionaries and mappings, we will continue to use the master branch of this GitHub repo as the "source of truth", and keep data/cohort-data.json up to date.
(NOTE: data/cohort-data.json only includes real mappings for the small number of cohorts we have mapped so far. full-cohort-data.json contains synthetic data for a larger number of cohorts.)
We do expect to be adding more mapping fields, which would be reflected in new facets in the Atlas browser. To help keep track of this, and ensure the structure of this file is always correct, we should develop a JSON Schema for data/cohort-data.json.
Does this all sound good to you @rosibaj ?

The metadata schema should be separate from the mapped data schema

The metadata schema should be separate from the mapped data schema

Tagging @theisuru - it'd be good to add the ontology checks from the elixir validator in particular to represent data sharing with DUO terms (or free-text, but suggesting DUO would be helpful)

Tagging @theisuru - it'd be good to add the ontology checks from the elixir validator in particular to represent data sharing with DUO terms (or free-text, but suggesting DUO would be helpful)

authors: beckyjackson jamesaoverton mcourtot

repo: IHCC-cohorts/data-harmonization


text:
Add Document Provenance Option

IHE_PCC_Suppl_QEDm.pdf
This PR is a left over of the last connectathon. I noticed that  the 3.44.4.2.2.1 Document Provenance Option is not defined as a profile in the IG (it existed in the IHE implemementation materials).
This PR adds the profile and example for it, it is complete, however there are new errors appearing in the qa section about vital signs profiles. see link in ci-build.
https://build.fhir.org/ig/oliveregger/QEDm/branches/oe_provenance/qa.html
This PR updates also the IG's to the latest versions.

The provenance has been moved to mXDE; so it will not appear in QEDm anymore. This enables the Provenance details to work for environments using IPA.
https://profiles.ihe.net/ITI/mXDE/volume-1.html#145111-data-element-extractor

PCC-QEDm (this IG) needs to go to public-comment and be published in TI form. Once that is done, the location and method of mXDE Provenance will be clear. At that time this PR should be rejected. Until that time, this PR will remind us to get the above done.

authors: JohnMoehrke oliveregger

repo: IHE/QEDm


text:
Pregunta sobre la forma de la entrega

Hola,
Creo que el orden de las preguntas en el notebook de origen complica nuestro código y me gustaría poder calcular las métricas de cada modelo directamente durante su entrenamiento (sección 1.4) y solo mostrar la comparación de estas métricas en la sección 1.6. Del mismo modo, me gustaría llamar a Lime directamente en la sección 1.4 y mostrar el resultado en la sección 1.5. ¿La corrección nos penalizará en este caso?
Además, debido al tiempo de cálculo demasiado largo con 50,000 datos, elegí entrenar los modelos con una cantidad de datos de 5,000 por categoría. El problema es que el tiempo seguía siendo demasiado largo para la vectorización Sbert y para el entrenamiento del SVM. Entonces tuve que reducirlo a 2,500 datos por categoría, y por una cuestión de comparación objetiva entre los modelos, creo que lo mejor es usar esta cantidad de datos (5,000 en total) para los 9 modelos. ¿Es posible o habrá una penalización aplicada?
Gracias de antemano por su consideracion,

Hola, no hay problema con calcular el desempeño en 1.4 y luego solamente comentarlo. En el caso de LIME seria preferente que si lo lleves a cabo en la sección específica.
Mientras comentes en tu entrega el motivo, no hay problema con utilizar menos datos, recuerda eso si que debe estar justificado acordemente.
Saludos ✨

authors: STageAmp dfloreaa


text:
🛑 ivdnt.org is down

In ec71436, ivdnt.org (https://ivdnt.org) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ivdnt.org is back up in d6a01e6.

repo: INL/ivdnt-statusoverzicht


text:
🛑 corpusmiddelnederlands.ivdnt.org is down

In 00fb59c, corpusmiddelnederlands.ivdnt.org (https://corpusmiddelnederlands.ivdnt.org) was down:

HTTP code: 0
Response time: 0 ms

Resolved: corpusmiddelnederlands.ivdnt.org is back up in aa98c07.


text:
🛑 Main is down

In fc0cd74, Main (https://ipmgroupuk.com) was down:

HTTP code: 403
Response time: 666 ms

Resolved: Main is back up in 83d6b11 after 10 minutes.

repo: IPMGroupLtd/Uptime


text:
Logo

Merhaba logo ekleyemedim yardımcı olurmusunuz lütfen.

Ayrıca Banka Iban Bilgilerimizi eklermisiniz?

Hi. You can fill 3 pictures in this fields:
.CompanyLogo
.Sign
.GIBLogo
If you want fill with empty image, you can do like this:
.Sign {
    content: url("data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=");
    width: 120px;
    height: 120px;
}

In content you have to fill base64 you picture.
data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs= - this is just empty pixel
If you want to fill with your picture, then you need to get base64 your file.
You can do it on this site https://base64.guru/converter/encode/image
Just set URL or get from local file, select type - URI, and you get base64 your picture preview:

About bank info - you can add it in the Note field in your XML (UBL) file. The current template will add it at the bottom.
But, if you want to add any additional data at the bottom, you can find table with id="add_additional_text," and you will see this tag:

Just copy it, and change:

	Some my important text

        New line of important test.

You can check the result on this site: https://xsltfiddle.liberty-development.net/.
Place your XML in the left field and your XSLT in the right field, then check the result.

However, the current service does not execute scripts, so the "Number to Word" field will be empty. To see this, simply save the result as an *.html file and open it in your browser.

repo: IRPTeam/eFaturaXSLT


text:
Hotfix/45 team leads latest requested changes

Separate branch copy to merge correctly since the original isn't allowed to

It looks great, good job.


text:
Title: Feature Request: Add Saving Quantized Weights Functionality to bloom.py

Description:
Hi there,
I noticed that the opt.py file in the repository provides a method for saving quantized weights, but this functionality is not available in the bloom.py file. I was wondering if it would be possible to add this feature to bloom.py as well.
Being able to save quantized weights is a really useful feature for optimizing the size of models, and it would be great to have this functionality available in all relevant files in the repository.
If this feature could be added to bloom.py, I think it would be a really helpful addition for anyone who is working with this file.
Thank you for your time and consideration.
Best regards,

This was added with 64c61f6cae30cbc7d02dbe4e87b0cc32dd82b042.

authors: bestpredicts efrantar

repo: IST-DASLab/gptq


text:
🛑 API is down

In 34ef7ff, API ($API_ENDPOINT) was down:

HTTP code: 0
Response time: 0 ms

Resolved: API is back up in 79d31e9.

repo: IVAO-Portugal/status-page


text:
🛑 Website is down

In 9db8a77, Website (https://pt.ivao.aero/portal) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Website is back up in b09cd3c.


text:
🛑 Website is down

In 14b45aa, Website (https://pt.ivao.aero/portal) was down:

HTTP code: 502
Response time: 26405 ms

Resolved: Website is back up in 4c7adec.


text:
🛑 Events is down

In 732ecad, Events (https://events.pt.ivao.aero) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Events is back up in 162a79b.


text:
🛑 API is down

In 257b7e1, API ($API_ENDPOINT) was down:

HTTP code: 0
Response time: 0 ms

Resolved: API is back up in e2341c0 after 2 minutes.


text:
module X incorrectly marked as not covered?

Something different about how Base.parse works, perhaps

e.g. https://codecov.io/github/JuliaLang/JSON.jl/src/JSON.jl?ref=14eecd91bccabed3074d92759e17ed38c8cf0ac0

https://codecov.io/github/staticfloat/SHA.jl/src/SHA.jl?ref=98f4e9946bf7862adef630f34a27fcbf85e8170e
So its definitely not jus the first line, its just that it marks module as coverable, but it isn't

I imagine the fix is just special casing something, however, I really shouldn't look at this right now, staring at a deadline D:

I am also staring down a deadline.

I'll get to it by the weekend I think. It isn't hurting anyone :+1:

authors: IainNZ kshyatt

license: mit

license_source: bigquery


text:
Introducing SPM Support

Changes

moves the app project down into a Samples directory
moves the DropBearGen package up, to make it the only package
adds a single import statement in a file where it couldn't find TimeInterval
changed path in podspecs (both app specs passed validation)

What's Left

[x] cannot compile the generator from the app, error about missing library:

dyld: Library not loaded: @rpath/lib_InternalSwiftSyntaxParser.dylib
  Referenced from: /Users/bsarrazin/Library/Developer/Xcode/DerivedData/DropBearApp-aqdacykkxkoacmdyxnjzdujpskfp/Build/Products/Debug/DropBearGen
  Reason: image not found
/Users/bsarrazin/Library/Developer/Xcode/DerivedData/DropBearApp-aqdacykkxkoacmdyxnjzdujpskfp/Build/Intermediates.noindex/DropBearApp.build/Debug-iphonesimulator/DropBearAppApp.build/Script-B5AE81112285E0680098CF95.sh: line 2: 20356 Abort trap: 6           ${BUILD_DIR}/Debug/DropBearGen ${SRCROOT}/DropBearApp ${SRCROOT

SPM support added to 0.14..0

authors: IanKeen bsarrazin

repo: IanKeen/DropBear


text:
A valid mod directory must be specified

I have specified my documents folder as the one in the "my documents" area, yet the converter doesn't recognise the mod's directory (Paradox Interactive/Europa Universalis IV)

Tech support is handled via the release thread on the forum or by a fresh post on www.reddit.com/r/paradoxplaza.

authors: Idhrendur Prem-is-bored

repo: Idhrendur/paradoxGameConverters


text:
What's going on with all these ProvinceMapper releases?

https://gyazo.com/8cc923e54564bdc8406258bd54aa1c46
There have been 75 versions released in the last 3 hours.
It's taking over my github notifications and driving every non-ProvinceMapper release several pages back in the releases.
@Idhrendur

Oh my! Something has gone terribly wrong with the automated deployments. Thank you for pointing it out.

You're welcome! Hope it's an easy fix.
Let me know if you want this issue closed now or if I should leave it open until the problem is sorted out.

It was easy enough to stop the CI system, but I'm not sure why it happened in the first place.
I was going to leave the issue open until I had finished cleaning up the excess releases.

authors: Drofseh Idhrendur


text:
fix: make all delete icons consistent

Issue Number: #34
Also fixes: #36

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

repo: IhsenBouallegue/HubOne


text:
antimalware prevented me from opening

i tried it but it did not open bc of antimalware

Hello, thevectornine.
Could you send me some screenshots?


text:
Provide R session-based editor functionalities

As I commented, using a file-based mechanism may support a wide range of scenarios.
I refined the task handler and write necessary information of symbols in the global environment as following:
~/.vscode-R/init.R:
if (interactive()) {
  local({
    pid <- Sys.getpid()
    dir <- file.path(Sys.getenv("HOME"), ".vscode-R")
    dir_session <- file.path(dir, "session", pid)
    dir.create(dir_session, showWarnings = FALSE, recursive = TRUE, mode = "0700")
    reg.finalizer(.GlobalEnv, function(e) {
      unlink(dir_session, recursive = TRUE, force = TRUE)
    }, onexit = TRUE)

    session_file <- file.path(dir_session, "session.json")
    globalenv_file <- file.path(dir_session, "globalenv.json")
    plot_file <- file.path(dir_session, "plot.png")
    viewer_file <- file.path(dir_session, "viewer.log")

    options(device = function(...) {
      png(filename = plot_file, ...)
    })

    options(viewer = function(url, ...) {
      cat(url, "\n", file = viewer_file, append = TRUE)
    })

    update <- function(...) {
      session <- list(
        pid = pid,
        args = commandArgs(),
        wd = getwd(),
        time = Sys.time()
      )
      jsonlite::write_json(session, session_file, auto_unbox = TRUE, pretty = TRUE)
      objs <- eapply(.GlobalEnv, function(obj) {
        list(
          class = class(obj),
          type = typeof(obj),
          length = length(obj),
          names = names(obj),
          str = utils::capture.output(str(obj, max.level = 0, give.attr = FALSE))
        )
      }, all.names = FALSE, USE.NAMES = TRUE)
      jsonlite::write_json(objs, globalenv_file, auto_unbox = TRUE, pretty = TRUE)
      TRUE
    }

    update()
    addTaskCallback(update, name = "vscode-R")

    invisible()
  })
}

Each time user evaluates an expression in top-level, the ~/.vscode-R/[pid]/globalenv.json will be updated to reflect the latest information of global objects. With this information, we can provide some session-based functionalities that languageserver not designed to provide. For example,

Environment pane
Symbol value on hover (string representations are provided in globalenv.json)
Completion for session objects (symbols are provided in globalenv.json)
Completion for session list objects, e.g. data$ (names are provided in globalenv.json)

For example, the following code produces an example globalenv.json:
x <- rnorm(1000)
y <- rnorm(1000)
m <- lm(y ~ x)
ms <- summary(m)
b <- coef(m)
p <- mtcars

{
  "ms": {
    "class": "summary.lm",
    "type": "list",
    "length": 11,
    "names": ["call", "terms", "residuals", "coefficients", "aliased", "sigma", "df", "r.squared", "adj.r.squared", "fstatistic", "cov.unscaled"],
    "str": ["List of 11", " - attr(*, \"class\")= chr \"summary.lm\""]
  },
  "x": {
    "class": "numeric",
    "type": "double",
    "length": 1000,
    "names": {},
    "str": " num [1:1000] 1.0568 0.6687 0.379 -0.0282 -0.7348 ..."
  },
  "y": {
    "class": "numeric",
    "type": "double",
    "length": 1000,
    "names": {},
    "str": " num [1:1000] 1.138 -0.435 2.212 -1.343 0.277 ..."
  },
  "b": {
    "class": "numeric",
    "type": "double",
    "length": 2,
    "names": ["(Intercept)", "x"],
    "str": [" Named num [1:2] -0.0582 -0.0948", " - attr(*, \"names\")= chr [1:2] \"(Intercept)\" \"x\""]
  },
  "m": {
    "class": "lm",
    "type": "list",
    "length": 12,
    "names": ["coefficients", "residuals", "effects", "rank", "fitted.values", "assign", "qr", "df.residual", "xlevels", "call", "terms", "model"],
    "str": ["List of 12", " - attr(*, \"class\")= chr \"lm\""]
  },
  "p": {
    "class": "data.frame",
    "type": "list",
    "length": 11,
    "names": ["mpg", "cyl", "disp", "hp", "drat", "wt", "qsec", "vs", "am", "gear", "carb"],
    "str": "'data.frame':\t32 obs. of  11 variables:"
  }
}

@renkun-ken This is fantastic!
These especially sound great to me:

Symbol value on hover (string representations are provided in globalenv.json)
Completion for recursive objects such as data$ (names are provided in globalenv.json)

An automatically updating environment pane has been requested previously (#47). I had basically thought it would be impossible without a socket server or similar, but this would absolutely do it.

Autocompletion can be extended to session objects since all entries in globalenv.json can be added to the completion list.

@andycraig Here's a rough road map in my mind of how it may appear.

Initially, vscode-R provides some scripts in ~/.vscode-R.
~/.vscode-R/init.R is the script I post above that should appear in user's .Rprofile to allow the interactive between R sessions and vscode-R extension.
~/.vscode-R/browser is the script for BROWSER environment variable. (which at the moment only works remotely but not locally, I'll figure it out for local case later).
Each interactive R session started by this user will create a subfolder ~/.vscode-R/session/[pid] and vscode-R should provide a command to attach to a session.
The attach command should pop out a list of subfolders detected in ~/.vscode-R/session and show each entry along with its pid, pwd and last active time or something to make it easier for user to checkout which session (if there are multiple sessions) should be attached.
R session created by vscode-R can be automatically attached.
Once an R session is attached, i.e. its session directory (~/.vscode-R/session/[pid]) is under watch.
If globalenv.json has changed, the file can be read and completion list of session symbols and symbol definition (symbol value on hover) can be updated according to its content.
If browser.log has changed, the newly appended line of file is the latest file produced and a webview can be open to show that page.

Attach to R session may look like Debug: Attach to Node Process:

where process name, pid, working directory, last active time can be shown.

@renkun-ken That sounds like a good process to me.
I think displaying variables on hover is probably the most straightforward feature to implement (mainly because it doesn't involve a webview), so I can have a try at implementing the vscode-R side of that to start with.

@andycraig Looking forward to it. If you need anything to change in the R side, I'd be happy to refine the R code here.

@andycraig, it looks like options(viewer = function(url, ...) {}) fully controls the viewer behavior, used in htmlwidgets:::print.htmlwidget. At the moment, I refine the init code so that the viewer function simply append the latest file produced to viewer.log. I'm not sure if there's a better way to tell vscode-R a message that a new htmlwidget html page is produced.

@renkun-ken I’m not sure if there’s a better way either. That should be fine for now.

Quick update: I have hover working for session variables. At the moment it just works for one hard-coded session name, so next I will add the 'quick pick' for choosing a session.
@renkun-ken A couple of questions:

I had to copy the contents of init.R to .Rprofile to get it to work. I feel like maybe I missed a step?
I am using createFileSystemWatcher to monitor globalenv.json. According to the docs, it can only watch files in the current workspace. Would there be any problem with having globalenv.json etc. in .vscode/.vscode-R/ in the workspace rather than in ~/.vscode-R/?

Thank you.

@renkun-ken Ignore question 1.

@andycraig Excited to hear that! I also notice the limitation of FileSystemWatcher too reading the docs. I'm totally okay with putting the session data in .vscode/vscode-R/ (I bet there's no need to have . if the folder has to appear in the workspace). Two issues come up with this:

The file contents in the folder is constantly changing due to user input in R sessions, which will always produce git diffs if user choose to commit .vscode folder if the workspace is a git repo, or otherwise user has to git ignore .vscode as a whole or ignore .vscode/vscode-R or .vscode/.vscode-R (in this case, .vscode-R seems to make more sense).
The session data will be limited to local, i.e., vscode-R can only pick sessions started in the workspace folder rather than globally. Personally, I don't have a use case where I have to pick a session to provide functionality started from a folder other than workspace folder. So I'm perfectly fine with this.
If the session data has to appear in .vscode/.vscode-R, then init.R should not appear in this same folder or it is too much duplication. I guess vscode-R should create ~/.vscode-R automatically and put a init.R there for .Rprofile to source.
In the same workspace, sessions will mostly have the same working directory. This makes it harder for user to choose which one is to attach if user has started multiple sessions in the same workspace. But let's leave it as it is at the moment.

@andycraig I update init.R according to your needs.
if (interactive()) {
  local({
    pid <- Sys.getpid()
    dir <- file.path(".vscode", "vscode-R", Sys.getpid())
    dir.create(dir, showWarnings = FALSE, recursive = TRUE, mode = "0700")
    reg.finalizer(.GlobalEnv, function(e) {
      unlink(dir, recursive = TRUE, force = TRUE)
    }, onexit = TRUE)

    session_file <- file.path(dir, "session.json")
    globalenv_file <- file.path(dir, "globalenv.json")
    plot_file <- file.path(dir, "plot.png")
    viewer_file <- file.path(dir, "viewer.log")

    options(device = function(...) {
      png(filename = plot_file, ...)
    })

    options(viewer = function(url, ...) {
      cat(url, "\n", file = viewer_file, append = TRUE)
    })

    update <- function(...) {
      session <- list(
        pid = pid,
        args = commandArgs(),
        wd = getwd(),
        time = Sys.time()
      )
      jsonlite::write_json(session, session_file, auto_unbox = TRUE, pretty = TRUE)
      objs <- eapply(.GlobalEnv, function(obj) {
        list(
          class = class(obj),
          type = typeof(obj),
          length = length(obj),
          names = names(obj),
          str = utils::capture.output(str(obj, max.level = 0, give.attr = FALSE))
        )
      }, all.names = FALSE, USE.NAMES = TRUE)
      jsonlite::write_json(objs, globalenv_file, auto_unbox = TRUE, pretty = TRUE)
      TRUE
    }

    update()
    addTaskCallback(update, name = "vscode-R")

    invisible()
  })
}

As for the pick session interface, I'm not sure if we can add a button which shows the current session to the status bar, and clicking the button will pop up the list of sessions. Since multiple sessions are started from the same workspace, it's a bit tricky how to label these sessions meaningfully for user to know which to pick.

More issues with .vscode/vscode-R:

If the user started an R session in a read-only file system, then the folders cannot be created and all subsequent operations will not succeed. vscode-R cannot provide session functionalities in this case.
If user randomly started R somewhere in the system, it will create an .vscode/vscode-R/[pid] in the working directory. There will be more footprints in the file system.

Just for thinking, let's ignore them at the moment.

@renkun-ken Thank you for updating init.R, I’ll switch to that version.
I agree with all the potential issues you’ve identified with having the session files in the workspace. They wouldn’t be a problem for me either given my workflow but it’s conceivable that they might cause problems for some people. It looks like it might be possible to implement a custom file watcher using the fs Node package, so let’s carry on with having the files in the workspace for now, and if we ultimately decide that they should be in the user’s home directory then we can look at a custom file watcher.
For choosing sessions, how about having a command like ‘Follow session in Active Terminal’? This could send a line of code to the active terminal that calls an R function (defined in init.R) to append that session’s ID to a log file. VSCode would detect that log file change and switch to following that session. It’s a bit of a clunky approach though.

@andycraig, I agree with sticking to the current file watcher for now.
As for the Follow session in Active Terminal command, the approach you suggest can be quite general as a way to send request to the active R session and get feedback. In this case, to request the session pid, which is similar to the way we expect to trigger the viewer.
We can define a set of requests and responses, as a file-based communication protocol. For each type of request, we define a function so that vscode-R sends the command to active R terminal as a request, the function handles the request and writes the response to a file in workspace as a response.
For example, we can define a function request_attach which writes a response to the response file (e.g .vscode/response.json) under watch. A very simple format as I imagine is as follows:
> vscodeR::request_attach()

It appends a new line to .vscode/response.log:
{"pid":1,"command":"attach"}

The same approach is also applicable to htmlwidget viewer, data frame viewer, etc.
If an htmlwidget is produced, request_webview(url) can be called so that a new line of json is appended to response file:
{"pid":1,"command":"webview","file":"/tmp/Rtmp12345678/index.html"}

request_dataview(data) can be defined to write the data to disk and respond:
{"pid":1,"command":"dataview","file":"/tmp/Rtmp54321/mtcars.csv"}

We can put the response file in .vscode/vscode-R i.e. all sessions started from the same workspace share it, so that vscode-R can act on all these sessions. As a result, I can switch my tmux window to multiple sessions, each can trigger the webview without it being necessary to switch session on the vscode-R side.

I refined init.R with the response file mechanism I posted. To minimize footprint, no function will be explicitly defined in the global environment, but the local environment will be stored as an option.
You may send the following code to active terminal to attach:
getOption("vscodeR")$attach()

which will append the following one-line json in .vscode/vscode-R/response.log:
{"pid":12345,"command":"attach"}

And data previewer can be replaced with sending:
getOption("vscodeR")$dataview("mtcars")

which will append the following json in the response file:
{"pid":12345,"command":"dataview","type":"csv","file":"/tmp/RtmprmLoej/mtcars.csv"}

Following is the latest init.R:
if (interactive()) {
  local({
    pid <- Sys.getpid()
    tempdir <- tempdir(check = TRUE)
    dir <- normalizePath(file.path(".vscode", "vscode-R"), mustWork = FALSE)
    dir_session <- file.path(dir, pid)
    if (dir.create(dir_session, showWarnings = FALSE, recursive = TRUE) || dir.exists(dir_session)) {
      reg.finalizer(.GlobalEnv, function(e) {
        unlink(dir_session, recursive = TRUE, force = TRUE)
      }, onexit = TRUE)

      response_file <- file.path(dir, "response.log")
      session_file <- file.path(dir_session, "session.json")
      globalenv_file <- file.path(dir_session, "globalenv.json")
      plot_file <- file.path(dir_session, "plot.png")

      options(vscodeR = environment())
      options(device = function(...) {
        png(filename = plot_file, ...)
      })
      options(viewer = function(url, ...) {
        respond("webview", file = url)
      })

      respond <- function(command, ...) {
        json <- jsonlite::toJSON(list(pid = pid, command = command, ...), auto_unbox = TRUE)
        cat(json, "\n", file = response_file, append = TRUE)
      }

      update <- function(...) {
        session <- list(
          pid = pid,
          args = commandArgs(),
          wd = getwd(),
          time = Sys.time()
        )
        jsonlite::write_json(session, session_file, auto_unbox = TRUE, pretty = TRUE)
        objs <- eapply(.GlobalEnv, function(obj) {
          list(
            class = class(obj),
            type = typeof(obj),
            length = length(obj),
            names = names(obj),
            str = utils::capture.output(str(obj, max.level = 0, give.attr = FALSE))
          )
        }, all.names = FALSE, USE.NAMES = TRUE)
        jsonlite::write_json(objs, globalenv_file, auto_unbox = TRUE, pretty = TRUE)
        TRUE
      }

      attach <- function() {
        respond("attach")
      }

      dataview <- function(name) {
        obj <- get(name, envir = .GlobalEnv)
        if (is.data.frame(obj)) {
          file <- file.path(tempdir, paste0(name, ".csv"))
          write.csv(obj, file)
          respond("dataview", type = "csv", file = file)
        } else if (is.list(obj)) {
          file <- file.path(tempdir, paste0(name, ".json"))
          jsonlite::write_json(obj, file, auto_unbox = TRUE)
          respond("dataview", type = "json", file = file)
        } else {
          stop("Unsupported object class")
        }
      }

      update()
      addTaskCallback(update, name = "vscode-R")
    }
    invisible()
  })
}

@renkun-ken Nice! I like this. Good solution keeping the functions out of the global namespace too.

Another approach is using later::later to run a periodic check of vscode-R requests in the background event loop, as described here.
I'm not sure if this helps, but we may stick to the file-based mechanism first.

@renkun-ken I have attaching sessions working now with hover. I thought I'd try to get a webview working next. When I plot with init.R sourced, I get a file plot.png as expected, but if I try to view it in Chromium nothing appears. Trying to view it with ImageMagick display gives me a result like this:
$ display plot.png
display-im6.q16: improper image header `plot.png' @ error/png.c/ReadPNGImage/3954.

Creating a PNG using the R function png works normally when init.R is not sourced.
Is plot.png appearing correctly for you?

@andycraig Glad to know that you make it work!
The R plot only writes to file when dev.off() is called, which is a known limitation at the moment. Do you still cannot view the png after calling dev.off()? This works well here and I can view the file directly in VSCode.
plot(rnorm(100))
dev.off()

Also, would you like to push to a branch in this repo or your own fork so that I can help test and maybe find out how R side can be improved and may discover more functionalities we can implement.

@renkun-ken That was it, I hadn't been calling dev.off(). Good guess and thank you!
I've pushed the changes to https://github.com/andycraig/vscode-R/tree/session
It's horrible in-progress code (global variables, duplicated code, very brittle, nothing is async etc.) and would need big changes before being ready for a PR. So, feel very free to add/remove/change as much as you like :)
It doesn't attach anything by default: you have to run the R: Attach Active Terminal command to get it to start monitoring the session and providing hover. It should detect changes to the plot file as well, but won't actually do anything as a result. If you have any trouble getting it running let me know.

@andycraig Thanks! I played with your branch and it looks amazing! I'll take a closer look at your code and see where I can help.

@andycraig  I played with the WebView API and it seems that it limits the resource file to workspace folder and extension folder while the htmlwidgets are usually produced in a temp dir in the form of a index.html and a lib folder consisting of external javascript libraries it uses. Also, WebView seems to only allow in-file script and disallow the use of external scripts, which makes unlikely to work directory with produced html. I tried to make WebView directly show the index.html but it is always blank, the developer tools says those js libs in lib are all blocked.
To walk-around, I tried htmlwidget::saveWidget, for example,
htmlwidgets::saveWidget(p, "mtcars.html", selfcontained = TRUE, title = "mtcars")

and the bundled html file can be shown in the webview:

It seems that we have to do what saveWidget does in viewer function so that a bundled file is produced for WebView to show.

@andycraig The WebView works now. When vscode-R gets a response of webview, it has to transform the paths of all resources (js libs and css) used in index.html into vscode-resource:// with absolute paths, and the folder in which index.html is located also has to be specified in localResourceRoots on creation of the webview.
For example:
<script src="lib/htmlwidgets-1.5.1/htmlwidgets.js"></script>
<script src="lib/jquery-1.12.4/jquery.min.js"></script>
<link href="lib/datatables-css-0.0.0/datatables-crosstalk.css" rel="stylesheet" />
<script src="lib/datatables-binding-0.9/datatables.js"></script>
<link href="lib/dt-core-1.10.19/css/jquery.dataTables.min.css" rel="stylesheet" />
<link href="lib/dt-core-1.10.19/css/jquery.dataTables.extra.css" rel="stylesheet" />
<script src="lib/dt-core-1.10.19/js/jquery.dataTables.min.js"></script>
<link href="lib/crosstalk-1.0.0/css/crosstalk.css" rel="stylesheet" />
<script src="lib/crosstalk-1.0.0/js/crosstalk.min.js"></script>

has to be transformed into something like
<script
    src="vscode-resource:///var/folders/dh/6nhw4l5x0sq0wqgwh346fwjm0000gn/T//RtmpFl8gBC/viewhtml1057e37ebb549/lib/htmlwidgets-1.5.1/htmlwidgets.js"></script>
  <script
    src="vscode-resource:///var/folders/dh/6nhw4l5x0sq0wqgwh346fwjm0000gn/T//RtmpFl8gBC/viewhtml1057e37ebb549/lib/jquery-1.12.4/jquery.min.js"></script>
  <link
    href="vscode-resource:///var/folders/dh/6nhw4l5x0sq0wqgwh346fwjm0000gn/T//RtmpFl8gBC/viewhtml1057e37ebb549/lib/datatables-css-0.0.0/datatables-crosstalk.css"
    rel="stylesheet" />
  <script
    src="vscode-resource:///var/folders/dh/6nhw4l5x0sq0wqgwh346fwjm0000gn/T//RtmpFl8gBC/viewhtml1057e37ebb549/lib/datatables-binding-0.9/datatables.js"></script>
  <link
    href="vscode-resource:///var/folders/dh/6nhw4l5x0sq0wqgwh346fwjm0000gn/T//RtmpFl8gBC/viewhtml1057e37ebb549/lib/dt-core-1.10.19/css/jquery.dataTables.min.css"
    rel="stylesheet" />
  <link
    href="vscode-resource:///var/folders/dh/6nhw4l5x0sq0wqgwh346fwjm0000gn/T//RtmpFl8gBC/viewhtml1057e37ebb549/lib/dt-core-1.10.19/css/jquery.dataTables.extra.css"
    rel="stylesheet" />
  <script
    src="vscode-resource:///var/folders/dh/6nhw4l5x0sq0wqgwh346fwjm0000gn/T//RtmpFl8gBC/viewhtml1057e37ebb549/lib/dt-core-1.10.19/js/jquery.dataTables.min.js"></script>
  <link
    href="vscode-resource:///var/folders/dh/6nhw4l5x0sq0wqgwh346fwjm0000gn/T//RtmpFl8gBC/viewhtml1057e37ebb549/lib/crosstalk-1.0.0/css/crosstalk.css"
    rel="stylesheet" />
  <script
    src="vscode-resource:///var/folders/dh/6nhw4l5x0sq0wqgwh346fwjm0000gn/T//RtmpFl8gBC/viewhtml1057e37ebb549/lib/crosstalk-1.0.0/js/crosstalk.min.js"></script>

@andycraig, 170524fea221e7c28ae6526458f2c31d4f790757 is an initial attempt to implement showWebView, and it works for me. Please feel free to use/modify the code.

As for the plot, maybe we can execute vscode.open the plot file on plot update as a starting point, which is easiest to implement. But I tried the following in _updatePlot():
commands.executeCommand("vscode.open", Uri.file(plotPath));

but it does not work as the developer tools say command: 'vscode.open' failed. Illegal argument 'resource' - Resource to open, not sure what's missing.

I updated init.R:

Both viewer and page_viewer create response of webview. page_viewer is used by suppress_viewer htmlwidgets, e.g. profvis. It works for most htmlwidgets now.
Auto attach for new session (attach() is called in the end of init.R)

Apologies for cross-commenting, but I wanted to note comments about licensing made here and also here which are relevant to the proposed changes.

@renkun-ken This looks great!
Not sure either about vscode.open either, it looks like you’re using it correctly based on the documentation.
I’m going to be busy over the next week so I’ll be unlikely to do any further development on this until next week.

Hi @rpkyle, a license change affects all development but if there’s something about this issue (as opposed to other issues) that makes it particularly affected by the license changed please let me/us know. Thank you!

I update init.R according to https://github.com/Ikuyadeu/vscode-R/issues/51#issuecomment-554949893 so that plot file is updated immediately after user input and user does not have to call dev.off() to view the plot.

@renkun-ken I have a bit more free time again. The plotly WebView example you posted works for me too. It was very exciting to see it appear in VSCode, nicely done!
I can have a try too at seeing if I can have any success with vscode.open for plots, although happy to leave that to you if you'd prefer :thumbsup: The other things I want to work on next are cleaning up sessions when VSCode is closed, and making reading globalenv.json etc. async.
My git skills are failing me and I can't figure out how to properly access your commit https://github.com/Ikuyadeu/vscode-R/commit/170524fea221e7c28ae6526458f2c31d4f790757. I've added you as a collaborator to my fork, would you be able to push that commit to the session branch? Then I'll carry on working on it from there.

@andycraig Glad to know that! I've pushed several commits to my fork based on your work. Since I've been using my fork in my everyday work for several days, I removed some pop out messages and add a status bar item to easily attach and show pid of attached session.
Would you mind I force push to your session branch of my latest commit, which is basically working?
Personally, I clone this repo as origin, and I add your and my forks of interests and other remotes:
git remote add andycraig https://github.com/andycraig/vscode-R.git
git remote add renkun-ken https://github.com/renkun-ken/vscode-R.git
git fetch andycraig
git fetch renkun-ken

so I can switch/merge/rebase branches between different remotes.

@renkun-ken Great to hear that you have open plot working too now! The status bar sounds like a good addition too.
Is your up-to-date version this one? https://github.com/renkun-ken/vscode-R/tree/session If so, no need to do anything, I’ll pull your changes from there. If not,  please force push to my fork.
Thank you!

@andycraig, Yes, session branch contains my latest commit.
I've implemented several interesting functionalities in langaugeserver recently as you may notice. You may use https://github.com/REditorSupport/languageserver/pull/116 and see the combination of the incoming languageserver features and vscode-R session features together.

@renkun-ken Great, I’ll pull your changes from there then.
I’ve seen the notifications coming through about the new languageserver features you’ve been working on, they look really cool! I was too busy to try them out over the past week but I’m excited about checking them out properly.

@renkun-ken I tried your changes in your session branch just now, plots are working really nicely!
I feel like it's getting close to being ready for a PR. What do you see as the remaining bits necessary? Here are some I've thought about:

Clean up on VSCode deactivate
Get init.R in place automatically
Figure out best way to add source("init.R") to .Rprofile

I also want to clean up my ugly code.
I'd thought async for reading the files would be necessary but have you noticed any delays etc. while you've been using it? If not, we might be able to skip async for now.

@andycraig I'm using session functionalities in my work for several days and finds it works well for me. Following are my thoughts on what you point out:

First we may add an vscode opt-in option Enable R session watcher (experimental). The entire session features are enabled only when this option is enabled.
Clean up on VSCode deactivate. Do you mean closing the terminal or vscode? I think if it is an R session started by vscode-R, a cleanup would be nice. If it is not, then I'm not sure if it is a good idea to do anything, since user started R session could be in tmux or screen window, closing the terminal or vscode does not (and should not) kill the session.
As  for automatically deploying init.R, I think vscode-R extension could contain the file and automatically copy the file into the place (~/.vscode-R) on extension activation.
One way to add source("~/.vscode-R/init.R") to .Rprofile is to add a command (something like Install R session watcher) which checks if .Rprofile contains a line of this source command, if not, append it to the file. On extension activation, we may check if init.R is installed into .Rprofile, if not we may ask the user whether to install it (by executing the command).

For the async reading, I don't observe any delay in my work. It's performance looks good even when I'm editing multiple R scripts (each has 1000+ lines of code), and multiple R sessions in a tmux session. For typical use, globalenv.json wouldn't be too big, but if there's any global object that has tens of thousands of names, the current implementation of init.R would write those names each time user evaluates at top level, which could be slow. However, before we extend the completion provider for lists, we may well not write the names at all. Even we implement it, we may set a limit of number of objects and number of names to write to control the overhead. Anyway, we should tackle it in init.R by avoiding writing too much data to disk, rather than leave it to vscode-R extension.

@renkun-ken

Clean up on VSCode deactivate. Do you mean closing the terminal or vscode?
I meant VSCode, but you are quite right - user-started sessions should not be killed.

These approaches all sound good. I think having it as an opt-in option to start with is a safe way to do it.
I like your vision for this, it's progressing fast, and you seem to be having no trouble with the vscode-R TypeScript side of things :) How about if I take a bit of a back seat on development for this feature and just work on tasks you want to allocate to me?

@andycraig Thanks for your input and encouragement! I only have extremely limited knowledge and experience (if not zero) in TypeScript but it would be interesting for me to give it a shot on both R and TypeScript sides.

@renkun-ken Great! Do let me know whenever you want me to work on something or if there's any vscode-R TypeScript questions I can help with etc. 👍

@andycraig, I tried to remove session files in deleteTerminal if the terminal created by vscode-R is closed. However, it does not seem to work. Not sure if I'm missing something. Would you please take a look at my latest commit at session branch? I think it might be easy for you if I create a PR since other things are working well now and you can edit my PR easily.

@renkun-ken Sure, happy to take a look! If you want to create a WIP PR I’ll work from that.

@andycraig Please feel free to edit the WIP PR. If you think there's anything I could improve, please feel free to comment.

Next, I'll try to bring in dataview feature using WebView so that data frames can be easily viewed.
After some review, does it look good to use https://github.com/derekeder/csv-to-html-table? It looks simple and functional and it does not require a server to provide the table viewer in contrast with the Excel Viewer (which does not work under Remote Development).

A better way to do this is to directly generate html table using knitr::kable(data, format = "html") so that there's no need a parse csv and convert it to html table in WebView JS. A simple jQuery call to load the html table file into a div and convert it to DataTable object that that's it.

5998f86 Implements dataview for data frame and list objects, and utils::View() is replaced so that it triggers a WebView to view the object.

@renkun-ken It sounds like this would remove the need for dependency on another extension in order to view data frames - sounds good to me!

02169cc implements browser command to show shiny apps or other server-side apps.

As an FYI, I installed the test version linked here and it definitely did not copy a init.R to ~/.vscode-R/init.R as was discussed. Is that no longer the intended behavior or has it just not been implemented? Using Windows 10, FWIW.

@jacob-long Copying init.R to ~/.vscode-R/init.R is intended behavior and I can confirm it works on macOS and Ubuntu, but I don't have Windows machine to test this. Help needed on this.

@jacob-long Thank you for testing this too and reporting the results!
@renkun-ken I did my test just now on Ubuntu only so may well be Windows-related.

@renkun-ken @jacob-long Problem is differing definitions of the home directory:

VSCode's os.homedir(): C:\Users\[USERNAME]
R's Sys.getenv("HOME"): C:\Users\[USERNAME]\Documents

If I look in C:\Users\[USERNAME]\.vscode-R, init.R does exist.
I will hopefully have some more time this afternoon to look into a solution to this.

Interesting. It isn't in either location for me.

@andycraig @jacob-long  I'm curious about does the path ~/.vscode-R/init.R work in Windows or does normalizePath("~/.vscode-R/init.R") work?

Okay, now it's in C:\Users\[USERNAME] after I reinstalled and re-enabled. This is where I expected to find it, FWIW.

Possibly of use: https://stackoverflow.com/questions/53599217/how-when-is-the-home-environment-variable-set-within-r

@jacob-long @andycraig I'm a bit confused here. So do we have to do anything about it then?

@renkun-ken Yes, at the moment it’s broken on Windows because R doesn’t find init.R. I’m going out soon but I’m going to spend a bit more time now to see if I can solve it.

@renkun-ken In Windows:

VSCode's os.homedir(): C:\Users\[USERNAME]
R's Sys.getenv("HOME"): C:\Users\[USERNAME]\Documents
R's Sys.getenv("HOMEPATH"): C:\Users\[USERNAME]

So on Windows changing the .Rprofile line to use Sys.getenv("HOMEPATH") should fix the issue.
I was about to check whether it would still work on Linux but when I tried to restart my PC Windows decided to do a whole bunch of updates and I don’t know when they will finish. (I’m writing this from my phone.) Would you be able to check if Sys.getenv("HOMEPATH") in .Rprofile works on Linux? If so, changing the README should be a sufficient fix for the Windows issue.
Thank you!

In Ubuntu and macOS, there's no HOMEPATH. So the source code should be
source(file.path(Sys.getenv(if (.Platform$OS.type == "windows") "HOMEPATH" else "HOME"), ".vscode-R", "init.R"))

@renkun-ken Sounds good!
BTW these both looked in C:\Users\[USERNAME]\Documents too:

~/.vscode-R/init.R
normalizePath("~/.vscode-R/init.R")

Close this as we have #150 merged.

authors: andycraig jacob-long renkun-ken rpkyle

repo: Ikuyadeu/vscode-R


text:
HTML5 : ساختار

.


text:
Tuxphones doesnt want to compile

I cloned the github repo, copied the file from bd/release to ~/.config/BetterDiscord/plugins/ and then ran cargo run in the daemon directory.
error[E0282]: type annotations needed for `Box<_>`
  --> /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/time-0.3.21/src/format_description/parse/mod.rs:83:9
   |
83 |     let items = format_items
   |         ^^^^^
...
86 |     Ok(items.into())
   |              ---- type must be known at this point
   |
help: consider giving `items` an explicit type, where the placeholders `_` are specified
   |
83 |     let items: Box<_> = format_items
   |              ++++++++

   Compiling chrono v0.4.24
   Compiling tokio-native-tls v0.3.1
   Compiling libpulse-binding v2.27.1
For more information about this error, try `rustc --explain E0282`.
error: could not compile `time` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...

:frowning_face:

This is probably because the crates we used have not been updated since this project is effectively abandoned. Updating the dependencies may help but I doubt the code will work since it never worked for us.

It throws warnings but it does compile for me on Arch. I cannot get the plugin running tho.
Daemon:
warning: unused variable: `audioconvert`
   --> src/gstreamer.rs:207:13
    |
207 |         let audioconvert = gst::ElementFactory::make("audioconvert").build()?;
    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_audioconvert`
    |
    = note: `#[warn(unused_variables)]` on by default

warning: unused variable: `audio_encoder_queue`
   --> src/gstreamer.rs:232:13
    |
232 |         let audio_encoder_queue = gst::ElementFactory::make("queue").build()?;
    |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_audio_encoder_queue`

warning: unused variable: `audio_webrtc_queue`
   --> src/gstreamer.rs:234:13
    |
234 |         let audio_webrtc_queue = gst::ElementFactory::make("queue").build()?;
    |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_audio_webrtc_queue`

warning: unused variable: `rtc_connection_id`
  --> src/lib.rs:93:33
   |
93 | ...                   rtc_connection_id,
   |                       ^^^^^^^^^^^^^^^^^ help: try ignoring the field: `rtc_connection_id: _`

warning: unused variable: `voice_ssrc`
  --> src/lib.rs:95:33
   |
95 | ...                   voice_ssrc,
   |                       ^^^^^^^^^^ help: try ignoring the field: `voice_ssrc: _`

warning: struct `StreamSSRCs` is never constructed
  --> src/gstreamer.rs:23:12
   |
23 | pub struct StreamSSRCs {
   |            ^^^^^^^^^^^
   |
   = note: `StreamSSRCs` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
   = note: `#[warn(dead_code)]` on by default

warning: fields `encoder` and `encoder_type` are never read
  --> src/gstreamer.rs:73:5
   |
71 | pub struct GstHandle {
   |            --------- fields in this struct
72 |     pipeline: gst::Pipeline,
73 |     encoder: Element,
   |     ^^^^^^^
74 |     encoder_type: VideoEncoderType,
   |     ^^^^^^^^^^^^

warning: `tuxphones` (lib) generated 7 warnings
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.78s
     Running `target/debug/tuxphones`
  2024-10-22T16:07:20.745876Z  INFO tuxphones: Daemon started
    at src/main.rs:56

Addon error:
 TypeError: Cannot read properties of undefined (reading 'c')
    at WebpackModules.getAllModules (betterdiscord://plugins/0PluginLibrary.plugin.js:3119:29)
    at plugin (betterdiscord://plugins/Tuxphones.plugin.js:85:69)
    at eval (betterdiscord://plugins/Tuxphones.plugin.js:409:13)
    at eval (betterdiscord://plugins/Tuxphones.plugin.js:410:3)
    at N.requireAddon (betterdiscord/renderer.js:5:28601)
    at N.loadAddon (betterdiscord/renderer.js:5:6221)
    at N.loadAddon (betterdiscord/renderer.js:5:26269)
    at N.loadAllAddons (betterdiscord/renderer.js:5:9278)
    at N.initialize (betterdiscord/renderer.js:5:3093)
    at N.initialize (betterdiscord/renderer.js:5:25382)
    at Object.startup (betterdiscord/renderer.js:5:408589)

authors: ImTheSquid JustCryen excited-bore

repo: ImTheSquid/Tuxphones


text:
Dirty propagation and hash cache improvements

This implements the "persistent hash cache" idea that David prototyped in #1238, making numerous improvements to the dirty propagation mechanism to make it suitable to use as a trigger for clearing the hash cache when necessary.
The main changes are :

Delayed signalling of dirtiness till all changes within an UndoContext are completed
Added proper dirty propagation for when dynamic plugs are added or removed
Added Plug::dirty() method which is used to notify a plug of its own dirtiness
Fixed bugs in existing node affects() methods
Used Plug::dirty() to clear the hash cache when necessary, rather than after every computation
Froze the values of environment variables at startup, as far as string substitutions are concerned

Our clearing of the hash cache is still somewhat crude, in that we clear the whole cache when any plug is dirtied. In future I'd like to explore selective clearing for just the dirtied plugs, and I've designed things such that this should be possible without API changes.
David's already made some really useful comments via #1238 and done some testing, and I've addressed all his concerns so far in the final few commits. Since this is in the very guts of the node graph though, I think we still need to give this another thorough review and some more testing before we roll it out.

Any idea why Travis doesn't seem to be including that last 2 commits? I'm seeing the yellow circle at 76be92eb5d7c049dc9c08e68448758a1ff134389

The one with the yellow circle is actually the last commit - the real question is why is GitHub showing them out of order?

It looks like on of the Image tests is consistently failing:
testAffects (GafferImageTest.MergeTest.MergeTest) ... *** Segmentation fault

Sorry I haven't gotten to look at the code yet. I'll try to do it first thing tomorrow. @danieldresser has been running with a local gaffer all day without issue.

I've pushed a fix for compilation on OS X. Still looking into the MergeTest crash - I failed to reproduce it on my linux box, my mac laptop, and over VPN. Managed to reproduce it once with a clean build from scratch on a clean Ubuntu install, but then it wouldn't fail again a second time.

Alright, that's the end of my semi-inane comments on what is otherwise a very large and scary, but seemingly well implemented pull request. I guess we're just waiting on your response to those last couple things, and either you or @davidsminor to figure out the crashing GafferImage.Merge test.

So, I've "fixed" the Merge::affects() test crash with my latest commit. I've run the Travis tests 5 times with that now and they passed each time. I've also run the tests locally many many times without seeing that crash ever (but I could do that without the "fix" too - it only reproduced on Travis, or on a lengthy Travis emulation I did by hand on a clean Ubuntu install).
I have to admit to not knowing why this works though. The code I replaced was definitely a little funky, using parent<ImagePlug>() unconditionally, even though it would return NULL for the enabledPlug(), or anything under userPlug(). From my reading of things, that could cause a problem if there was also a NULL in inputs(), because we'd then try to retrieve and use a non-existent child of outPlug(). But I don't know if that's what was happening - I certainly wouldn't expect there to be a NULL in inputs(), and after having a little look at that code, I didn't see how there could be.
Not very satisfactory really, but the tests do pass.

I'm happy so long as it's passing... we're not using Merge in production yet anyways, and I'm planning to revamp all that inputs stuff soon anyways, and make ImageProcessor provide a proper ArrayPlug in the first place, so all that code will be changing again soonish.
@davidsminor is out sick today, so lets aim to merge this and roll out Monday?

authors: andrewkaufman johnhaddon

repo: ImageEngine/gaffer


text:
[Feature Request] Option to choose between MSGPack and JSON

It would be good too have the option to use JSON instead of MSGPack.
Related to this commit: https://github.com/ImagicTheCat/vRP/commit/6dabc5651f38e0726db9a195e6ed27f8a6697c54

Complicated to do, because it's not only about JSON, but about binary data VS human readable data I suppose. What's wrong with MessagePack ?

For a simple test I swapped all msgpack functions for json and apparently it worked properly.
But considering that I just now started with FiveM/vRP, I'm not so sure if I cold tell if everything is working properly or not.

MessagePack is superior for binary non-human readable storage, so if you want JSON I suppose it's for modifying the structure by editing text, so you need to change the way it is stored by the SQL engine. I'm against that, if you need to read/edit the data from the DB, you can use MessagePack from your favorite language.

authors: ImagicTheCat tabarra

repo: ImagicTheCat/vRP


text:
Update Mail an 3 ImmunHeld:innen zu Angeboten für Plasmaspende

Nach dem Website-Update individuelle Email an registrierte ImmunHeld:innen für User Feedback

Hier mein Vorschlag für die E-Mails: https://docs.google.com/document/d/1J9ftfRZG42KcxwgyUPa9Le4S2Wn-KpLfCzd_P2TDwFw/edit?usp=sharing

Hey Viki das klingt super. Ich versuche das noch heute Nachmittag zu reviewen!

Danke - ich arbeite morgen nicht und habe daher ein wenig mehr Zeit. Falls es sich heute nicht mehr ausgeht - passt es morgen sicher auch :)

Hab endlich angefangen mit meinem Review. Vielleicht können wir versuchen die Texte noch ein bisschen zu kürzen? Für den Fragebogen sind hier die wichtigsten Folien aus dem Themen-Call: https://wirvsvirusenabler.slack.com/archives/C011Q35KKAP/p1589191463003200

Super danke - habe es mir durchgelesen. Allerdings sind die meisten Hinweise für ein persönliches Interview mit offenen Fragen. Ich mache gerade einen Workshop von IDEO zu Human-centred Design --> da haben wir auch einiger diese Aspekte besprochen. Ggf. könnten wir die User:innen fragen, ob sich auch für ein persönliches Interview zur Verfügung stehen würden. Was meinst du?

die User:innen fragen, ob sich auch für ein persönliches Interview zur Verfügung stehen würden

Ja, super Idee!
Die Webseite ist jetzt langsam soweit, dass wir die Umfrage raus schicken könnten.

Hat jemand von euch eventuell eine Premium Version von Survey-Monkey? Ansonsten scheitert es leider schon bei der Disqualifizierungsseite - das ist die einzige Frage, die ich für den JF habe.

Hier der Link zu Surveymonkey für unsere Nutzer:innen. Leider dürfen wir in der BASIC Version nur 10 Fragen stellen und keine "Verzweigungslogik" einfügen. Daher ist die Umfrage ein bisschen abgespeckt. Meldet euch gerne, wenn ihr noch Ideen habt oder etwas nicht funktionieren sollte. Danke an alle! https://www.surveymonkey.de/r/Y6KLPXW

Beim Datenschutz ganz oben muss man den "Ok" Button klicken und dann nochmal "Ja" auswählen?
In der zweiten Frage ist der Text gedoppelt: Wie hast du von Immunhelden.de gehört? Wie hast du von Immunhelden.de gehört?
dass bei 4.: Gibt es vielleicht etwas, das du dir
Mehrere Schritte finde ich toll, aber wenn man bei 7. Nein auswählt, kommt man trotzdem zu 8., 9. und 10. Von mir aus geht auch eine Seite.
Die Reihenfolge in der man die Fragen auf einer Seite beantwortet, kann ich bei mir frei wählen. Dann könnten wir den Datenschutz auch ans Ende setzen (aber ja, wegen mir nicht kritisch).

Wenn wir die Punkte grob korrigieren, können wir das gern so rausschicken. Ich markier dir die  Empfänger gleich in Slack.

Hallo Stefan, vielen Dank für deine Rückmeldung.

das mit dem "ok" sollte gelöst worden sein :)
die zweite Frage habe ich rausgenommen
ich bin mir ehrlich gesagt ziemlich sicher, dass in diesem Satz das "das" richtig ist, weil es sich auf den "Wunsch (etwas)" im Hauptsatz bezieht
Ich habe die 7. Frage geändert in "Würdest du Immunhelden.de an deine Freunde und Familie weiterempfehlen?"
In Bezug auf Reihenfolge etc. kann ich leider nicht viel ändern mit der gratis Version.

Ich schicke die E-Mail gerne raus an unsere Nutzer:innen

Oh stimmt, mit dem das hast du Recht! Entschuldige bitte 🙂 E-Mail hab ich bekommen, sieht super aus. Morgen raus schicken klingt gut. Danke!!

Die E-Mails an die mittlerweile 4 User:innen sind raus. Jetzt fehlt dann nur noch die Auswertung der Beantwortungen

Stand: 5.6.2020: noch keine Beantwortung

authors: DominikGolle vikiarn weliveindetail


text:
tracking issue for chumsky compat

this is the tracking issue for all work on feature parity and/or compatibility with chumsky
idea is to have full feature parity without memory leaks (im looking at you, recursive) and outright computer explosions (ironic because Parser::explode)

combinators:

[x] *_map (try_map, filter_map etc.), select macro
[x] Parser::then (ehhh only for compat), .then_ignore, .ignore_then
[x] recursive (+ .clone and memleak tests)
please just clone it as a weak pleaseeeeeeeeeeeee
[ ] separated_by

[ ] ALL text builtins

[x] ascii

[x] ident, keyword

[text] https://github.com/Implodent/AOTT/commit/12911f06f85cef0f26b024a4b59042d8a8dcaf05 affects:

ident (added)
keyword (added)

added to v0.2.0

blocker of this and, really, the entire project is #4

YEEEEEEEEEEEEEEEEEE
I FIXED IT AWEAIWEJAOPWEJPOAWJEPOWAJPEAJWOIEJAWJEIAW
b2e0c6e

repo: Implodent/AOTT


text:
UML-modell - oppdatere

Har gjort endringer på et par statuser (stereotyper) i UML-modellen. Må oppdateres.

Fiksa (#91)

authors: ToHelland jimjyang


text:
🛑 Database Management System is down

In 18acbb4, Database Management System ($SJURL) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Database Management System is back up in 73425bb after 15 minutes.


text:
get JSON physicalInstance

créer un service DDI AS, pour récupérer les métadonnées du dessin de fichier, (logical record) , à partir d'un uuid a priori, et retourner le JSON .
la transformation XSLT est celle jointe.

GET /ddi-as-to-json/:uuid
Avec éventuellement le fichier xslt en body de la requête

DDI_Datarelationship_to_JSON.txt

@dzkwsk Est-ce que tu pourrais fournir un scénario de test ( Xml en entrée et données attendues en sortie ) ?

sortie_JSON_5c_1609.JSON
physical_instance_indiv_xml.txt
Si c'est ok ce serait pas mal de faire un test ensuite avec un XML volumineux. La création du JSON d'un fichier avec plusieurs listes geo étaient hyper long sur un poste Insee. peut être que sur serveur ça sera transparent.

Ok. je vais les prendre en compte.
@dzkwsk j'ai également deux questions sur les endpoints : je m'interroge sur la formulation des enpoints : d'un point de vue API, la pourrait dire que la ressource mobilisée par les endpoints est un transformer ou bien un derefencer.  L'appel à l'API en lui même ni ne crée ni ne modifie la ressource. Donc le verbe utilisé pour moi devrait plutôt être un GET. Par exemple GET /ddi/transformToJson : qu'en dis-tu ? Est-ce que le POST est une contrainte de votre côté ?
Autre question également : c'est vraiment un besoin de votre côté d'envoyer le DDI dans un fichier avec la requête ou bien, on pourrait mettre le contenu du fichier dans un simple paramètre du corps de la requête ?

@FBibonne comme on avait échangé en sprint mais sans revenir dessus depuis, il s'agit bien d'un GET, donc de faire une requête à partir d'un uuid en paramètre de le requête et donc on n'a aucun besoin d'avoir le DDI en paramètre dans un fichier (comme c'est en revanche le cas pour la méthode codebook). Le DDI XML sur lequel la transfo XSLT est appliquée devrait être un objet intermédiaire récupéré et transformé dans l'exécution de cette méthode et de pouvoir obtenir en sortie un JSON  dont le modèle est joint à la conversation

@dzkwsk
J'essaie d'avancer sur le sujet mais l'état du code de DDI-AS est mauvais et j'ai d'importants travaux de refactor à mener dedans. Je pense que je pourrai fournir une première version fin décembre. J'espère que ça ira.
Désolé mais je ne m'étais pas rendu compte de l'ampleur

Ok, fin décembre ça marche, on peut poquer à la main en attendant,
il y aura a coup sûr une nouvelle version de la transfo xslt avec des
ajouts à la marge suite à des échanges récents avec l'upod. Si on fait une
v1 de la méthode et qu'après on intègre les évolutions à la marge dans une
autre carte  est ce que ça te semble ok ?
Les évolutions c'est du style, ajouter une propriété version , ou renommer
un élément , je préférerai que tous ces changements mineurs soient
consolidés pour faire une nouvelle carte, sachant que le gros du boulot
c'est surtout le travail de refactorisation j'imagine.
Le lun. 25 nov. 2024, 19:13, Fabrice Bibonne @.***> a
écrit :

@dzkwsk https://github.com/dzkwsk
J'essaie d'avancer sur le sujet mais l'état du code de DDI-AS est mauvais
et j'ai d'importants travaux de refactor à mener dedans. Je pense que je
pourrai fournir une première version fin décembre. J'espère que ça ira.
Désolé mais je ne m'étais pas rendu compte de l'ampleur
—
Reply to this email directly, view it on GitHub
https://github.com/InseeFr/DDI-Access-Services/issues/93#issuecomment-2498720188,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AK7RGUFWPTLKDVT4DRW2CNT2CNSGPAVCNFSM6AAAAABNHW7FFKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOJYG4ZDAMJYHA
.
You are receiving this because you were mentioned.Message ID:
@.***>

authors: EmmanuelDemey FBibonne dzkwsk

repo: InseeFr/DDI-Access-Services


text:
Nifti files with non-orthonormal directional cosines should be read and the error changed to a warning.

Hi all,
In this PR - https://github.com/InsightSoftwareConsortium/ITK/pull/1868/files ITK introduced an additional constraint on NiFTI files being read.
This has affected users across a variety of technologies which use ITK such as TorchIO, TotalSegmentator, Nvidia AAIA, HD-BET, nnDetection and even ITK-SNAP (with some files working on < v3.6 but not on v3.8 >)
Given so many users see this as unexpected behaviour could the developers investigate whether the constraint is still a reasonable one?
Note:  In this issue this was discussed but the solution solved only one failure case related to small voxel sizes - https://github.com/InsightSoftwareConsortium/ITK/issues/2674 - this issue is still affecting users with larger voxel sizes across a variety of technologies
References:
https://github.com/MIC-DKFZ/nnDetection/issues/24
https://github.com/SimpleITK/SimpleITK/issues/1433
https://github.com/fepegar/torchio/issues/669
https://github.com/wasserth/TotalSegmentator/issues/32

People who use NIFTI a lot should weigh in. Candidates: @hjmjohnson @cookpa @vfonov @seanm. Maybe make the error/warning CMake configurable, with the default being a warning?

ITK does not support non-orthogonal images,  to read the images that are non-orthogonal invalidates all the requirements about processing and analyzing images.

Maybe we should add a flag that forces Nifti reader to convert the non-confirming non-orthogonal matrix to the closest possible orthogonal?

@tomvars please take a look at #4009.

I looked through the linked issues in the first post, but I didn't see any links to example data that reproduce the problem. Even the headers by themselves would be useful, these can be extracted with
head -c 352 image.nii > header.nii
If the sform checks are too strict, it would be good to fix them. Otherwise everyone is just going to turn on this flag at compile time and the end users will likely not even know about it

I think, it's possible that, other software is quietly fixing this issue by using nifti_make_orthog_mat44 , for example ITK NIFTI writer is doing it when saving NIFTI files: https://github.com/InsightSoftwareConsortium/ITK/blob/c44f9c1b39e627c5ef7fabec252232a92d570565/Modules/IO/NIFTI/src/itkNiftiImageIO.cxx#L2261

I looked through the linked issues in the first post, but I didn't see any links to example data that reproduce the problem. Even the headers by themselves would be useful, these can be extracted with

I created a file from another one by using nifti_tool to make sform non-orthogonal, but it is probably not representative of the real world problem.

I think there is some kind of bug with the implementation of this check anyway. I spent 4 days ripping my hair out when getting an error message indicating a non-orthonormal transform for nifti files generated using the dicom2nifti python package.
I found that the translation vector elements in the matrix ([1,4],[2,4],[3,4]) were causing this issue purely by being in the order of 1e2. I do not understand this since those elements are orthogonal in the Cartesian co-ordinate system, are independent of the rotational sub-matrix, and it is unreasonable to force a normal length constraint on the column vector of the translation anyway.

Following @mike-barrow analysis, I've uploaded couple of examples of the same (full-zeros) image which the only difference is in the translation vector. Note the rotation is orthogonal.
The rotation matrix remained the same.
Note that I'm observing this using the itk library directly, but only through the ITK-Snap app.
When I'm trying to read the same image with the python package (itk.__version__  # 5.3.0) seems to be working fine:
import itk
io = itk.NiftiImageIO.New()
io.SetFileName("fail_to_open.nii.gz")
io.ReadImageInformation()

I'm not sure what the differences are, maybe different build flags?
Examples (both work and don't work)
❌ fail_to_open.nii.gz (original affine)
[[   0.33203125    0.            0.          -84.83398438]
 [   0.            0.33203125    0.         -198.83398438]
 [   0.            0.            0.69999999 -318.3999939 ]
 [   0.            0.            0.            1.        ]]

❌ fail_to_open_1.nii.gz
[[   0.33203125    0.            0.            0.        ]
 [   0.            0.33203125    0.         -198.83398438]
 [   0.            0.            0.69999999 -318.3999939 ]
 [   0.            0.            0.            1.        ]]

✅ success_to_open_2.nii.gz
[[   0.33203125    0.            0.            0.        ]
 [   0.            0.33203125    0.            0.        ]
 [   0.            0.            0.69999999 -318.3999939 ]
 [   0.            0.            0.            1.        ]]

✅ success_to_open_3.nii.gz
[[0.33203125 0.         0.         0.        ]
 [0.         0.33203125 0.         0.        ]
 [0.         0.         0.69999999 0.        ]
 [0.         0.         0.         1.        ]]

✅ success_to_open_4.nii.gz
[[   0.33203125    0.            0.          -84.83398438]
 [   0.            0.33203125    0.            0.        ]
 [   0.            0.            0.69999999 -318.3999939 ]
 [   0.            0.            0.            1.        ]]

✅ success_to_open_norm.nii.gz
[[ 0.33203125  0.          0.         -0.22043331]
 [ 0.          0.33203125  0.         -0.51665181]
 [ 0.          0.          0.69999999 -0.82733309]
 [ 0.          0.          0.          1.        ]]

Thanks for these examples. I believe the translation issue was fixed by (this commit)[https://github.com/InsightSoftwareConsortium/ITK/commit/815d0f0531eaff6a9ee18e3f1a2bbb2e251eff12] as part of #4009.

Looks like ITK-SNAP is using an older ITK

Yes, ITK-SNAP is somewhat behind on ITK version.

The next major update of ITK-SNAP (v4.4.0) will be using ITK 5.4
On Tue, Aug 20, 2024 at 9:21 AM Dženan Zukić @.***>
wrote:

Yes, ITK-SNAP is somewhat behind on ITK version.
—
Reply to this email directly, view it on GitHub
https://github.com/InsightSoftwareConsortium/ITK/issues/3994#issuecomment-2298848529,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARDT6PVKDPDYYPFHY4HCA2TZSM7FTAVCNFSM6AAAAAAWSXMCJOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJYHA2DQNJSHE
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

authors: cookpa dzenanz elazarcoh hjmjohnson jilei-hao mike-barrow tomvars vfonov

repo: InsightSoftwareConsortium/ITK


text:
ITK library SystemTools.hxx link error

Description
There is a line in the ITK library SystemTools.hxx "static SystemToolsManager SystemToolsManagerInstance;" However, the SystemToolsManagerInstance constructor has not yet been defined, and an error is reported when the project is linked.
CMakeFiles/OpticalMicroscopySystem.dir/src/Show3DImage.cpp.o: In function '__static_initialization_and_destruction_0(int, int)':
/usr/local/include/ITK-5.2/itksys/SystemTools.hxx:63: Undefined reference to 'itksys::SystemToolsManager::SystemToolsManager()'
/usr/local/include/ITK-5.2/itksys/SystemTools.hxx:63: Undefined reference to 'itksys::SystemToolsManager::~SystemToolsManager()'
To solve this problem, you can't touch the library code, can upgrading the GCC version solve the problem?    Or I modify the header file plus the constructor implementation://SystemTools.hxx
class SystemToolsManager {
public:
SystemToolsManager() {}
~SystemToolsManager() {}
}; This can be compiled, can it be changed like this?
Steps to Reproduce

Expected behavior

Actual behavior

Reproducibility

Versions

Environment

Additional Information

${ITK_LIBRARIES} provides the libraries found.


text:
Problem with itk-js-cli in Windows 10

Hi,
I wanted to compile my first C code in itk.js following your example from https://insightsoftwareconsortium.github.io/itk-js/examples/hello_world_node.html.
I was able to succeed in Mac, but when I tried to build it in Windows, the whole building process from  npx itk-js build . was ending just after creating itk-js-build-env script in /web-build folder.  I attached  Chrome inspector to node and I found that there might be a problem in Node's 'child-process' package, with spawnSync (see below), which is called by itk-js-cli.
How can I fix it? BTW, I checked my environment and it seems that Docker is working properly, as well as npx and other tools.

Thanks for the report. I will investigate.

xref #188

Please try again with itk>=9.4.1. On Windows, it is best to use the  Git Bash command line. Please re-open if you still encounter issues.

repo: InsightSoftwareConsortium/itk-js


text:
Detect stackable items

Possible scenario: arrows whitelisted but only one item showed in the hud even if there is a stack in the inventory. It would be awesome to actually check the number of arrows left directly on the HUD

Enabled Show Stack Size in the config.

authors: InsomniaKitten hhiru

repo: InsomniaKitten/SmartHUD


text:
where to put generated map files

I couldn't seem to find it in the documentation, where do you actually put the generated files to load them in DRV?
Thanks!

figured it out (it generates a Maps directory when loading first time). guess I should have loaded it once before opening an issue...Lol :-|

repo: Insprill/dv-mapify


text:
Preventing a cell getting removed when scrolling off of the screen

Hi There,
I have a vertical list, with various different types of cells.
The first cell is a custom view with a colored background that extends below the size of the cell. This cell has clipToBounds = false, to bleed the background into the next cell beneath it.
This works fine until the first cell starts to go off screen. Once the bounds are off the cell is removed and the colored background that had bled into the cell below immediately disappears.
Any suggestions on how I might keep the first cell alive until it has fully gone off screen (incl the non-clipped area)?
Thanks,
Steve

Hey @stevejcox !
This generally sounds like it's probably not a great idea.
You could try to retain the cell or something but that's going to require a lot of bookkeeping and probably introduce more (and worse) bugs. I'd ask myself: why do you need this behavior? is there another way to achieve this? etc.
It sounds like this view is purely decorative. If so, I'd consider using decoration views or event supplementary views. (This would probably require a custom collection view layout.)

@stevejcox you probably want to write your own layout to do this.
Sent with GitHawk

authors: jessesquires rnystrom stevejcox

repo: Instagram/IGListKit


text:
Capistrano 3

This PR adds Capistrano 3 capability. I've successfully ran this locally. Users that currently have capistrano 2 installed with the agent will not have to reinstall or change their current configs if they update.

@mediocretes Updated - I can also make this change in https://github.com/Instrumental/instrumental_agent-ruby/pull/62


text:
Enable collapsing of boxes

Motivation

In wordpress, each box (e.g. in the page form or in the dashboard) can be collapsed to hide irrelevant settings and make the views cleaner.
Proposed Solution

Add a tiny arrowhead at the top right corner of each box and add simple js functions to collapse and expand the content of the box. The title of the box should still be visible.
Alternatives

Ignore this feature
Additional Context

Current WordPress layout:

We concluded, that we don't want this functionality of wordpress and should think of a different approach.

repo: Integreat/cms-django


text:
Fix debuginfo

Provides the ability to generate debug information for nested functions
Closes #352
We need to support 2 cases:

[ ] @kernel(debug=True) - via decorator, it means propagate flag via function arguments or target context
[ ] NUMBA_DPPY_DEBUGINFO=1 - via env variable, it means in some point use env variable value if the value is not provided in decorator

Fixed, @akharche , @PokhodenkoSA , @AlexanderKalistratov  please check

repo: IntelPython/numba-dppy


text:
Optimize series.rolling.kurt()

Result of current (multi-thread) implementation:

name
nthreads
type
size
median

Series.rolling.kurt
1
Python
800000
4.329

Series.rolling.kurt
1
SDC
800000
0.467

Series.rolling.kurt
4
Python
800000
4.360

Series.rolling.kurt
4
SDC
800000
0.248

Python 1 / SDC 1 = 9.27
SDC 1 / SDC 4 = 1.883
Just in case result of previous (non-optimal) implementation:

name
nthreads
type
size
median

Series.rolling.kurt
1
Python
800000
4.567

Series.rolling.kurt
1
SDC
800000
30.099

Python 1 / SDC 1 = 0.158
SDC 1 / OPT_SDC 1 = 64.452
SDC 1 / OPT_SDC 4 = 121.367

Wow. That's great!
I'm a bit skeptical about using tuples. It makes numba to generate a lot of unnecessary code.
Haven't you tried to use list instead?

Wow. That's great!
I'm a bit skeptical about using tuples. It makes numba to generate a lot of unnecessary code.
Haven't you tried to use list instead?

Let me a chance to try that.

Wow. That's great!
I'm a bit skeptical about using tuples. It makes numba to generate a lot of unnecessary code.
Haven't you tried to use list instead?

Let me a chance to try that.

The similar code with using a list works ~70 times slower.

@densmirn conflict

authors: AlexanderKalistratov densmirn

repo: IntelPython/sdc


text:
Optimize series.rolling.corr()

Result of current (multi-thread) implementation:

name
nthreads
type
size
median

Series.rolling.corr
1
Python
400000
22.164

Series.rolling.corr
1
SDC
400000
0.763

Series.rolling.corr
4
Python
400000
22.605

Series.rolling.corr
4
SDC
400000
0.604

Python 1 / SDC 1 = 29.048
SDC 1 / SDC 4 = 1.263
There is too weak scalability.
Just in case result of previous (non-optimal) implementation:

name
nthreads
type
size
median

Series.rolling.corr
1
Python
400000
23.054

Series.rolling.corr
1
SDC
400000
16.488

Python 1 / SDC 1 = 1.398
SDC 1 / OPT_SDC 1 = 21.609
SDC 1 / OPT_SDC 4 = 27.298

Hello @densmirn! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file sdc/datatypes/common_functions.py:

Line 716:1: E302 expected 2 blank lines, found 1

pep

Current performance:

name
nthreads
type
size
median

Series.rolling.corr
1
Python
400000
22.483

Series.rolling.corr
1
SDC
400000
0.344

Series.rolling.corr
4
SDC
400000
0.172

Python 1 / SDC 1 = 65.358
SDC 1 / SDC 4 = 2
The latest patch additionally optimized the implementation.

Any tests for the fix?

Any tests for the fix?

Added.