[constexpr-contracts] Changes HEAD_REF from master to main

Describe the pull request
cjdb/constexpr-contracts no longer uses master as a branch. This patch updates the port to reflect this.

What does your PR fix? Fixes #

Which triplets are supported/not supported? Have you updated the CI baseline?

No change.

Does your PR follow the maintainer guide?

I think so.

Thanks for your contribution!


Version 1.1.3 isn't in NPM?

Hi @tiagoporto ,
The actual NPM Outdated Browser plugin was made by a fan of the Outdated Browser and we don't have admin privileges on it in order to update it.
We have to rebuild an entire new NPM plugin to be always up do date with the official Outdated Browser NPM Plugin. I hope that can be done soon. We'll keep you posted.


What's is plan for the formal release?

Hi casualjim, @casualjim
Do we have any plan for publishing a formal stable release of Go-Swagger project?
In the readme, I saw:
"This API is not stable yet, when it is stable it will be distributed over gopkg.in", but I cannot find what's the exact date for the stable release in the readme.
Any comment is appreciated! Thank you.
Thanks,
Xiaofei

I want to have a first release out by january. Now this is largely a volunteering effort so I don't want to commit to an actual date, for as long as there aren't many people contributing to this repository.
It says the project is sponsored by vmware, but that mostly means that I get to work on it from time to time during working hours. I have other responsibilities there too so it's not like they let me work in it full-time.
I've made 3 initial milestones for this project and I'm still working on the first one, which is arguably the hardest one because it needs to get the spec implementation ready.
At this point the API is largely stable, there are a few things to iron out in models code generation, and as you're aware certain things are passing validation and they don't necessarily have to.
So in short, I'm looking for help :) the more help I get the quicker the releases come. Submitting bugs is already great help.
https://github.com/go-swagger/go-swagger/milestones
With the exception of showstoppers the issues for the "first release milestone" are frozen.

There are binary releases available now. You can get swagger in a variety of ways without having to build it from source.


Tombstone data should not be returned by default in high-level dataframe APIs

Their semantics always apply no matter what -- a tombstone is a tombstone -- but users don't want to look at the tombstone themselves in 99% cases.

Yes.
In terms of Jeremy's new proposal, to me it make sense to see the tombstone in the "raw" data (e.g. where each row corresponds to a log event), because at this point, the tombstone semantic is not yet applied. But as soon as it is applied, it should no longer be visible.

I realized we didn't specify what to do with tombstones as part of https://www.notion.so/rerunio/Repeated-Time-Values-10bb24554b1980d8a0cdcca3d8903502
I agree generally hiding them from the view makes sense for now.


How to achieve parameters (related videos, controls) in player

I am trying to disable related videos, controls, and show info for youtube player, just like in embed api where we would add on end of URL.
Is this possible ?

Still didn't found anywhere how to implement parameters for related videos, controls etc.

+1

+1


Fix: add scrim full check before pushing player into scrim players list

Don't add a player to a scrim that's already full.

https://app.clickup.com/t/3y7ujd7


Push Json_valid to tikv

What is changed and how it works?

Issue Number: Close https://github.com/tikv/tikv/issues/13571
What's Changed:
Implement json_valid function push down to tikv
I

Related changes

PR to update pingcap/docs/pingcap/docs-cn:
Need to cherry-pick to the release branch

Check List
Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)
No code

Side effects

Performance regression

Consumes more CPU
Consumes more MEM

Breaking backward compatibility

Release note
Implement json_valid function push down to tikv

/run-all-tests

/run-all-tests

PTAL @sticnarf @AndreMouche

I have no more comments except what sticnarf has  commented.

PTAL @AndreMouche

/merge


Add possibility to refer to previously visited line in phase, to use in logic part

Introduce a keyword "previous_line" to use in phase lines. It should return the label for the previously visited phase line, even it it is the current line.
@phase ab stop:A=10
A a | A(0.5),B(0.5)
B b | previous_line=A:B | A

This can be easily accomplished with a local phase variable.
@phase ab stop:A=10
X    | wasA=0, A
A a | wasA=1, A(1/3),B(1/3),C(1/3)
B b | wasA=0, C
C c | wasA==1: B | A


support for ellipsis entity in Android resource file

Android team has asked that we support … instead of … for elipsis. The benefits are:

Accessibility: the talk back does not say: dot dot dot
You are sure that the OS will not introduce a return carriage in the middle of the dots

@aurambaj @jeeyi
Yes we changed '...' with '…' in the source file (https://git.dev.box.net/Mobile/android-app/commit/f96398afe56b797c564920ce236deae9a502843f)
Few days later we got this PR back: https://git.dev.box.net/Mobile/android-app/commit/3c3bfa3a25a767d0bbf8870481efac3d45719aa4
where '...' was still present in all translations. Minor detail but I also noticed that the spacing between the dots are not always the same (between languages or even inside the same language) E.g. In bn: Sort_by key and open_in key
Any way we can keep &#8230 when it's detected in the source file?
Thanks for looking at it!

@aurambaj, just to be clear, ellipsis character … is same as the unicode code point …. The ellipsis character … is a one character that is different from three dots .... I am not replacing three dots with the ellipsis character  …. I am just replacing the character representation with unicode code point.
I am checking with @jimmy-holzer-box if the use of ellipsis character … works the same way as using the unicode code point  …. If so, there is no need to force the unicode code point  … when we write localized resource files.
I agree with you to implement it in the integrity checker to prevent translators to use three dots  ... instead of the ellipsis character  ….

@jeeyi oh... got it now! You may want to mention in the documentation that it is the unicode character and not the 3 dot because reading the PR I was mislead!
But then I'm confused with the comment in the test. I'd be surprise if having unicode character or the entity makes a difference. I suspect the accessibility and carriage return problem would happen with a string having 3 '.'
So it looks like in that case it would be about replacing 3 '.' with unicode eclipse character in the translations, no?

@aurambaj, @jimmy-holzer-box just comfirmed that having elippse character … works fine just as if we have … in the localized resource files. I am closing this pull request and will create a separate PR for the integrity checker.


Merge dparray

This PR should be splited into two PRs - one for Numba and another one for numba-dppy.
This PR modifies a lot of Numba core code, introduces dependency numba -> numba-dppy and modifies setup.py.
I could take care of spliting this PR to numba and numba-dppy PRs, and will introduce optional dependency to numba-dppy (like in https://github.com/IntelPython/numba/pull/118),
but Numba code modifications should be considered in scope of readiness to go to upstream. For some time this modifications could be in IntelPython/numba patches.
I do not know, maybe there is an intention to move dparray to upstream too. Is it?

@PokhodenkoSA I am going to open a PR today to move the dparray portion into dpctl.  The part that interfaces dparray to Numba will remain in dppy.  The Numba changes are in merge_subclass PR.

Related to #75 and https://github.com/IntelPython/dpctl/pull/184.

This PR will be refactored in following way:

Part of changes will stay in IntelPython/numba. Most of them also contain in PR to upstream https://github.com/numba/numba/pull/6148. It relates to Numba processing of nparray subclasses.
Parts of tests will stay in IntelPython/numba but will transformed to use Python unittest.
Part of tests will move to dpCtl to tests dparray.
dparray_register() activation will move to numba-dppy extension and will be activated via numba extensions mechanics.
Setup.py changes and dppl_rt.c (for USM allocation) will move to numba-dppy extension.

I will rebase this branch on top of patched.


[Question] Should training take so long?

:question: Question
I prepared and preprocessed dataset Task010_Colon and there were no issues, but when I started training the net by
nndet_train 010 --sweep
it took extremely long time to finish Epoch 0 - almost 9 hours. I am using CUDA 11.2, GPU Nvidia Tesla K40 XL,  Pytorch 1.7.1+cu110 and working on an univeristy cluster which should allow my to train my net fast.
Is there anything I can do to make if faster? I'm not sure if it's my environment or is it my nnDetection configuration.

Dear @GabrielaProszczuk ,
9 hours for one epoch sounds quite slow indeed. Unfortunately, I don't have access to an equivalent GPU so I can not provide you with a reference time for your exact GPU type.
On an RTX 2080TI one epoch on Task 10 takes around 30minutes. Even considering that a K40 XL doesn't have tensor cores and has less performance than an RTX2080TI, 9 hours seems quite long (I would have expected something around ~2 hours).
You could look into https://github.com/MIC-DKFZ/nnDetection/issues/11 to find more info on potential bottlenecks.
Notes: training on the K40XL will take a long time even with my estimated time.

Thanks, I am checking for any bottleneck posibility but now I encountered memory error - is is possible that data created white training the first Epoch is exceeding 768 GiB? That is my limit and I get an error:
    raise RuntimeError("MultiThreadedAugmenter.abort_event was set, something went wrong. Maybe one of "
RuntimeError: MultiThreadedAugmenter.abort_event was set, something went wrong. Maybe one of your workers crashed. This is not the actual error message! Look further up your stdout to see what caused the error. Please also check whether your RAM was full
bypassing sigterm
...

and file logs. I am working on university cluster and I'm not sure if its problem with my resources, but after this error the traning stops (its always around first few percent of Epoch 0).

Dear @GabrielaProszczuk,
the RAM consumption scales with the number of workers (set via det_num_threads) of the augmentation and the input size (i.e. batch size, patch size and number of modalities). While it is theoretically possible (by using a very very very large amount of workers) to reach such a large RAM consumption, "normal" values (somewhere between 6-32) should not result in such a RAM consumption.
Best,
Michael

Hi, this error message was caused by my mistake of allocating too small memory in new task, so I'm glad it got resolved. Thank you for your answer.  But I have been thinking is it possible to save model after part of epochs if the training takes so long? I am still getting iteration time around 22.34s/it and  now 14 hours per epoch even after changing det_num_threads values to avoid bottlenecks.

Hi,
it is not possible to save the model in the middle of a training epoch, and changing the length of an epoch will affect the results because of Stochastic Weight Averaging (SWA) which snapshots the models at the end of the epoch (during the last 10 epochs).
The number of training batches per epoch and the number of epochs (which should be adjusted accordingly) can be changed in the config file (nndet/conf/train/v001.yaml). SWA can also be disabled in the config. Just note that those changes will change the final results...
Best,
Michael

Okay, thank you for your answer. I have one more question - while it is not possible to predict on model with part of the epochs calculated I understand I can still resume training (option --resume from conf/config.yaml file)? On university cluster I have limit of  70h per task and if I cannot make if faster maybe I can still resume it after this time exceeds. I don't want to go too low on number of epochs and spoil final results by a lot.

Yes, resuming the training should work as it is handled by pytorch-lightning. I'm not 100% sure how well SWA interacts with resuming the training though (it should be handled by lightning but there might be some unwanted interactions since it is in beta and the learning rate scheduler is exchanged when SWA starts).

Thanks, I am checking for any bottleneck posibility but now I encountered memory error - is is possible that data created white training the first Epoch is exceeding 768 GiB? That is my limit and I get an error:
    raise RuntimeError("MultiThreadedAugmenter.abort_event was set, something went wrong. Maybe one of "
RuntimeError: MultiThreadedAugmenter.abort_event was set, something went wrong. Maybe one of your workers crashed. This is not the actual error message! Look further up your stdout to see what caused the error. Please also check whether your RAM was full
bypassing sigterm
...

and file logs. I am working on university cluster and I'm not sure if its problem with my resources, but after this error the traning stops (its always around first few percent of Epoch 0).

Hi @GabrielaProszczuk,
Can you tell me how exactly did you resolve this problem? I'm running nnDetection on Google Colab, and everything still runs normally until the training phase, when I met the same problem as you.


USE GPU to render

Description of proposed feature

In order to enhance the render speed, can we use GPU to render?
How can the new feature be used?

In the command line, we can use GPU to speed up rendering
Additional comments

Maybe only opengl can do that.

As far as I know there is an opengl renderer included in manim.
manim -pql  --renderer opengl file.py Scene

We already have a OpenGL renderer.


Coordinate UI icon colors with eraser-map app UI colors

Blue is the new green

Geraldine has started work on this, expected to land tomorrow.

this is done

master-988


systemd-managed chef-client service fails to resolve DNS after glibc update

Description

After an update of the following packages, runs invoked by the systemd service 'chef-client' are unable to make DNS requests to upstream forwarders. /etc/hosts entries continue to work normally. A restart of the chef-client service is required for the nodes to start converging again. This causes the clients to become marooned from the chef server.
$ rpm -qa --last | head -25
glibc-2.17-222.el7.i686                       Thu 17 May 2018 06:00:28 PM UTC
python-perf-3.10.0-862.2.3.el7.x86_64         Thu 17 May 2018 06:00:27 PM UTC
microcode_ctl-2.1-29.0.2.el7.x86_64           Thu 17 May 2018 06:00:27 PM UTC
openssl-1.0.2k-12.0.1.el7.x86_64              Thu 17 May 2018 06:00:26 PM UTC
kernel-tools-3.10.0-862.2.3.el7.x86_64        Thu 17 May 2018 06:00:26 PM UTC
dbus-1.10.24-7.0.1.el7.x86_64                 Thu 17 May 2018 06:00:25 PM UTC
kernel-3.10.0-862.2.3.el7.x86_64              Thu 17 May 2018 06:00:24 PM UTC
glibc-headers-2.17-222.el7.x86_64             Thu 17 May 2018 06:00:20 PM UTC
glibc-devel-2.17-222.el7.x86_64               Thu 17 May 2018 06:00:20 PM UTC
kernel-headers-3.10.0-862.2.3.el7.x86_64      Thu 17 May 2018 06:00:19 PM UTC
linux-firmware-20180220-62.git6d51311.0.1.el7.noarch Thu 17 May 2018 06:00:18 PM UTC
openssl-libs-1.0.2k-12.0.1.el7.x86_64         Thu 17 May 2018 06:00:09 PM UTC
kernel-tools-libs-3.10.0-862.2.3.el7.x86_64   Thu 17 May 2018 06:00:09 PM UTC
dbus-libs-1.10.24-7.0.1.el7.x86_64            Thu 17 May 2018 06:00:09 PM UTC
glibc-2.17-222.el7.x86_64                     Thu 17 May 2018 06:00:08 PM UTC
glibc-common-2.17-222.el7.x86_64              Thu 17 May 2018 06:00:05 PM UTC

Packages Altered:
    Updated dbus-1:1.6.12-17.0.1.el7.x86_64                       ol7_x86_64_u3_base
    Update       1:1.10.24-7.0.1.el7.x86_64                       ol7_critical
    Updated dbus-libs-1:1.6.12-17.0.1.el7.x86_64                  ol7_x86_64_u3_base
    Update            1:1.10.24-7.0.1.el7.x86_64                  ol7_critical
    Updated glibc-2.17-196.el7_4.2.i686                           ol7_x86_64_latest
    Updated glibc-2.17-196.el7_4.2.x86_64                         ol7_x86_64_latest
    Update        2.17-222.el7.i686                               ol7_critical
    Update        2.17-222.el7.x86_64                             ol7_critical
    Updated glibc-common-2.17-196.el7_4.2.x86_64                  ol7_x86_64_latest
    Update               2.17-222.el7.x86_64                      ol7_critical
    Updated glibc-devel-2.17-196.el7_4.2.x86_64                   ol7_x86_64_latest
    Update              2.17-222.el7.x86_64                       ol7_critical
    Updated glibc-headers-2.17-196.el7_4.2.x86_64                 ol7_x86_64_latest
    Update                2.17-222.el7.x86_64                     ol7_critical
    Erase   kernel-3.10.0-693.2.2.el7.x86_64                      ol7_x86_64_latest
    Install kernel-3.10.0-862.2.3.el7.x86_64                      ol7_critical
    Updated kernel-headers-3.10.0-693.21.1.el7.x86_64             ol7_x86_64_latest
    Update                 3.10.0-862.2.3.el7.x86_64              ol7_critical
    Updated kernel-tools-3.10.0-693.21.1.el7.x86_64               ol7_x86_64_latest
    Update               3.10.0-862.2.3.el7.x86_64                ol7_critical
    Updated kernel-tools-libs-3.10.0-693.21.1.el7.x86_64          ol7_x86_64_latest
    Update                    3.10.0-862.2.3.el7.x86_64           ol7_critical
    Updated linux-firmware-20171128-57.git17e62881.0.2.el7.noarch ol7_x86_64_latest
    Update                 20180220-62.git6d51311.0.1.el7.noarch  ol7_critical
    Updated microcode_ctl-2:2.1-<IP_ADDRESS>.el7_4.x86_64             ol7_x86_64_latest
    Update                2:2.1-29.0.2.el7.x86_64                 ol7_critical
    Updated openssl-1:1.0.2k-8.0.1.el7.x86_64                     ol7_x86_64_latest
    Update          1:1.0.2k-12.0.1.el7.x86_64                    ol7_critical
    Updated openssl-libs-1:1.0.2k-8.0.1.el7.x86_64                ol7_x86_64_latest
    Update               1:1.0.2k-12.0.1.el7.x86_64               ol7_critical
    Updated python-perf-3.10.0-693.21.1.el7.x86_64                ol7_x86_64_latest
    Update              3.10.0-862.2.3.el7.x86_64                 ol7_critical

The chef-client run invoked from the systemd service fails in the next run due to name resolution errors (getaddrinfo: Name or service not known).
The issue can be replicated by running killall -USR1 chef-client.
A run in the foreground works correctly via sudo chef-client.

Note that:

journactl logging does not show anything unusual.
This does not affect all nodes that had these changes applied, just a majority.

Chef Version

12.20.3
Platform Version

Oracle Linux 7
Replication Case

Upgrade EL 7.4 to 7.5 (or just above packages) with systemd-managed chef-client service, wait for next run to fail.
Client Output

[2018-05-18T18:46:28+00:00] INFO: Forking chef instance to converge...
[2018-05-18T18:46:28+00:00] INFO: *** Chef 12.20.3 ***
[2018-05-18T18:46:28+00:00] INFO: Platform: x86_64-linux
[2018-05-18T18:46:28+00:00] INFO: Chef-client pid: 23926
[2018-05-18T18:46:30+00:00] ERROR: Error connecting to https://chef-server-01/nodes/chef-client-01, retry 1/5
[2018-05-18T18:46:35+00:00] ERROR: Error connecting to https://chef-server-01/nodes/chef-client-01, retry 2/5
[2018-05-18T18:46:40+00:00] ERROR: Error connecting to https://chef-server-01/nodes/chef-client-01, retry 3/5
[2018-05-18T18:46:45+00:00] ERROR: Error connecting to https://chef-server-01/nodes/chef-client-01, retry 4/5
[2018-05-18T18:46:50+00:00] ERROR: Error connecting to https://chef-server-01/nodes/chef-client-01, retry 5/5
[2018-05-18T18:46:56+00:00] ERROR: Running exception handlers
[2018-05-18T18:46:56+00:00] ERROR: Exception handlers complete
[2018-05-18T18:46:56+00:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
[2018-05-18T18:46:56+00:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
[2018-05-18T18:46:56+00:00] ERROR: Error connecting to https://chef-server-01/nodes/chef-client-01 - Failed to open TCP connection to client-proxy-01:3128 (getaddrinfo: Name or service not known)
[2018-05-18T18:46:56+00:00] ERROR: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
[2018-05-18T19:10:59+00:00] FATAL: SIGTERM received, stopping

Stacktrace

/usr/bin/chef-client:57:in `load'
/usr/bin/chef-client:57:in `<main>'

>>>> Caused by SocketError: getaddrinfo: Name or service not known
/opt/chef/embedded/lib/ruby/2.3.0/net/http.rb:880:in `initialize'
/opt/chef/embedded/lib/ruby/2.3.0/net/http.rb:880:in `open'
/opt/chef/embedded/lib/ruby/2.3.0/net/http.rb:880:in `block in connect'
/opt/chef/embedded/lib/ruby/2.3.0/timeout.rb:91:in `block in timeout'
/opt/chef/embedded/lib/ruby/2.3.0/timeout.rb:101:in `timeout'
/opt/chef/embedded/lib/ruby/2.3.0/net/http.rb:878:in `connect'
/opt/chef/embedded/lib/ruby/2.3.0/net/http.rb:863:in `do_start'
/opt/chef/embedded/lib/ruby/2.3.0/net/http.rb:852:in `start'
/opt/chef/embedded/lib/ruby/2.3.0/net/http.rb:1398:in `request'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.20.3/lib/chef/http/basic_client.rb:70:in `request'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.20.3/lib/chef/http.rb:340:in `block in send_http_request'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.20.3/lib/chef/http.rb:372:in `block in retrying_http_errors'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.20.3/lib/chef/http.rb:370:in `loop'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.20.3/lib/chef/http.rb:370:in `retrying_http_errors'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.20.3/lib/chef/http.rb:333:in `send_http_request'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.20.3/lib/chef/http.rb:148:in `request'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.20.3/lib/chef/http.rb:115:in `get'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.20.3/lib/chef/node.rb:581:in `load'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.20.3/lib/chef/node.rb:565:in `find_or_create'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.20.3/lib/chef/policy_builder/dynamic.rb:72:in `load_node'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.20.3/lib/chef/client.rb:470:in `load_node'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.20.3/lib/chef/client.rb:270:in `run'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.20.3/lib/chef/application.rb:295:in `block in fork_chef_client'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.20.3/lib/chef/application.rb:283:in `fork'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.20.3/lib/chef/application.rb:283:in `fork_chef_client'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.20.3/lib/chef/application.rb:248:in `block in run_chef_client'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.20.3/lib/chef/local_mode.rb:44:in `with_server_connectivity'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.20.3/lib/chef/application.rb:236:in `run_chef_client'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.20.3/lib/chef/application/client.rb:464:in `sleep_then_run_chef_client'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.20.3/lib/chef/application/client.rb:451:in `block in interval_run_chef_client'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.20.3/lib/chef/application/client.rb:450:in `loop'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.20.3/lib/chef/application/client.rb:450:in `interval_run_chef_client'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.20.3/lib/chef/application/client.rb:434:in `run_application'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.20.3/lib/chef/application.rb:59:in `run'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.20.3/bin/chef-client:26:in `<top (required)>'
/usr/bin/chef-client:57:in `load'
/usr/bin/chef-client:57:in `<main>'```

We are running chef-client 13.8.5 (as systemd-managed service) on CentOS 7.5, and we are seeing the same exact behavior.
As of right now, more than half our nodes haven't converged in 52+ hours (because of the weekend). I know this is a real problem because I painstakingly went to each node on Friday and manually converged them just to make sure there wasn't some other sort of config drift. When I was done, knife status returned all green (i.e. all nodes had successfully converged within the last 30 mins).
This has been going on for at least a week now. It's possible that it started when we upgraded from CentOS 7.4 -> 7.5, like OP.

Looks like a restart of the chef-client service (systemctl restart chef-client) fixes this permanently, so I'm inclined to think this isn't a Chef issue and is instead due to the system libraries that were updated (likely glibc).

I don't see how this is a bug we can work around in chef.  Open to suggestions, but if you're seeing this, that suggests that you should really reboot the server after updating glibc.  This feels like an O/S level bug that upgrading glibc breaks name resolution for long-running processes that have open file handles to the old glibc.
People should probably engage RedHat/Oracle support and determine if this is some kind of O/S bug.  It seems like old processes should still hold open old filehandles to glibc and name resolution shouldn't break hard.  Even if the name resolution causes the new resolver library to be dynamically linked into the process after the upgrade from the old glibc happens, then i would expect all the symbols to still resolve properly and that should still be ABI compatible and work (although given what ohai does when chef-client runs, I'd be shocked if we hadn't done a pile of name resolution before getting to converge mode and upgrading glibc -- also that would still be some kind of internal ABI break done by patching glibc and nothing to do with chef).

Thanks for the confirmation @benclark , and the input @lamont-granquist . I was afraid that answer was the case. I'll reach out to the vendor. In the meantime, we need to patch and keep nodes converging simultaneously, so I'll post any [hacky] workarounds I come up with in the short-term to hopefully benefit others hitting this issue.

Still keep in mind that rebooting after upgrading glibc is a commonly referenced best practice:
https://serverfault.com/questions/758129/do-i-have-to-restart-after-a-library-update-on-linux
We all like to laugh at windows users having to reboot 6 times every update and feel like Linux/Unix should never have to reboot on a package update, but when it comes to glibc, you're replacing all the brains of userspace in every process on the system.  It is also a bit weird to be having chef automatically updating glibc on its own.  If you have to, I'd pin/lock the glibc version so it never upgrades.  You could then script the upgrade of glibc which would detect it needs an upgrade, would unlock the rpm and upgrade and then force a reboot, but obviously you need some kind of orchestration to prevent simultaneous reboots of every single node taking out your services.   In my prior life the orchestration though was something like me running knife ssh '*:*' -C1 "yum -y upgrade glibc; shutdown -r now" although the script I used had a ping check that wouldn't move on to the next host until the current host came back up.

relevant issue:  https://tickets.opscode.com/browse/CHEF-4701

I concur with @lamont-granquist re: restarting after all glibc upgrades/changes, especially now that we've seen ill effects.
I'm not sure about @mathewcrane's setup, but we're using yum-cron to perform our package upgrades. Excluding glibc from yum-cron might work, or we could set up an alert (from our centralized logging service) when yum-cron does upgrade it, and then react accordingly. I could be wrong, but I'd think that having Chef manage package upgrades wholesale is an anti-pattern.

I am definitely in agreement that glibc is a package requiring a reboot after modification. Typically we staged package updates for a few days before reboot with the assumption that long-lived processes would be well behaved in their usage of deleted but in-memory libraries. We will have to adjust our patching processes. FWIW we are modeling our 'required reboot packageset' off of the yum-utils 'needs-restarting' binary.
https://github.com/rpm-software-management/yum-utils/blob/master/needs-restarting.py, lines 53/54.
Thanks for the detailed input.

In case anyone runs into this and can't restart the node, or delay patching until a reboot window, the following is how I've temporarily solved it:
  service 'restart chef-client if required' do
    service_name 'chef-client'
    action :restart
    only_if 'needs-restarting -s | grep -q chef-client'
    only_if { node['platform_version'].to_i >= 7 }
  end

  ruby_block 'restart other services if required' do
    block do
      Chef::Resource::RubyBlock.send(:include, Chef::Mixin::ShellOut)

      services = "needs-restarting -s | grep -v -E '#{node['yum_client']['no_restart_after_upgrade'].join('|')}'"
      services_out = shell_out(services).stdout.split("\n") rescue []

      services_out.each do |service|
        run_context.resource_collection << restart_service = Chef::Resource::Service.new(service, run_context)
        restart_service.action :restart
      end

    end
    only_if { node['platform_version'].to_i >= 7 }
  end


Support DropDown Border

For the exact requirements, I have integrated the dropdown border functionality
Integration:
 pod 'DropDown', :git => 'https://github.com/snappymob/DropDown.git', :commit =>
  '57027168178b77a9463814fbeb6cda173f301854'

Uses:
        dropDown.borderColor = UIColor.gray.cgColor
        dropDown.borderWidth = 1.0

Ref: https://github.com/snappymob/DropDown/commit/57027168178b77a9463814fbeb6cda173f301854


Easy backwards compatibility fix

Your version of transformers forces LlamaFlashAttention2 in the constructor of LlamaDecoderLayer in transformers/models/llama/modeling_llama.py which requires Ampere or newer to work. Just by using the old LlamaAttention class instead of LlamaFlashAttention2 here, I could make the video inference demo run on an ancient GTX1060 (even if it's very slow).
The current main branch of transformers uses a mechanism to decide which is the best compatible attention for this purpose.
If you don't want to backport that, you could use a very simple logic to decide which class to use here. Something like this:
def is_at_least_ampere():
    if torch.cuda.is_available():
        num_of_gpus = torch.cuda.device_count()

        # Loop over each GPU
        for i in range(num_of_gpus):
            gpu_properties = torch.cuda.get_device_properties(i)

            # Compute capability is major.minor version format
            # Convert it to a float for comparison
            compute_capability = float(f"{gpu_properties.major}.{gpu_properties.minor}")

            # If compute capability is less than 8.0 (Ampere or newer), return False
            if compute_capability < 8.0:
                return False

        # If all GPUs are Ampere or newer, return True
        return True
    else:
        # If CUDA is not available, return False
        return False

class LlamaDecoderLayer(nn.Module):
    def __init__(self, config: LlamaConfig):
        super().__init__()
        self.hidden_size = config.hidden_size
        ampere_or_newer = is_at_least_ampere()
        self.self_attn = (
            LlamaFlashAttention2(config=config) if ampere_or_newer else LlamaAttention(config=config)
            # LlamaAttention(config=config)
            # LlamaFlashAttention2(config=config)
        )
        self.mlp = LlamaMLP(config)

`

I see. Thanks! Could you submit a PR?

Thanks for this smart fix. @michael-heinrich : Do you see a similar workaround to provide backwards compatibility to awq/kernels as well for running VILA using AWQ & TinyChat?
This will help to run video inference demo on ancient GPUs faster ;-)
Refer: https://github.com/mit-han-lab/llm-awq/
At present, the installation of awq/kernels fails due to following error
Feature '.m16n8k16' requires .target sm_80 or higher

Thanks for this smart fix. @michael-heinrich : Do you see a similar workaround to provide backwards compatibility to awq/kernels as well for running VILA using AWQ & TinyChat?
This will help to run video inference demo on ancient GPUs faster ;-)
Refer: https://github.com/mit-han-lab/llm-awq/
At present, the installation of awq/kernels fails due to following error
Feature '.m16n8k16' requires .target sm_80 or higher

I will definitely look into it. Last night I already spent a few hours on getting the AWQ quants running, but no luck so far. From the source code / documentation of the transformers library, it appears to have AWQ support built in and with a few changes to the HF repo, I could partially load the AWQ checkpoint using the video inference demo. However, in the end the shapes of the tensors did not match. But maybe it's possible to load it like this.
In the end, I was not sure that's even remotely the right direction.
Transformers also allows to quantize a model when loading using bitsandbytes. That might work on an older card but would not have the accuracy of an AWQ quant.

Your version of transformers forces LlamaFlashAttention2 in the constructor of LlamaDecoderLayer in transformers/models/llama/modeling_llama.py which requires Ampere or newer to work. Just by using the old LlamaAttention class instead of LlamaFlashAttention2 here, I could make the video inference demo run on an ancient GTX1060 (even if it's very slow). The current main branch of transformers uses a mechanism to decide which is the best compatible attention for this purpose. If you don't want to backport that, you could use a very simple logic to decide which class to use here. Something like this:
def is_at_least_ampere():
    if torch.cuda.is_available():
        num_of_gpus = torch.cuda.device_count()

        # Loop over each GPU
        for i in range(num_of_gpus):
            gpu_properties = torch.cuda.get_device_properties(i)

            # Compute capability is major.minor version format
            # Convert it to a float for comparison
            compute_capability = float(f"{gpu_properties.major}.{gpu_properties.minor}")

            # If compute capability is less than 8.0 (Ampere or newer), return False
            if compute_capability < 8.0:
                return False

        # If all GPUs are Ampere or newer, return True
        return True
    else:
        # If CUDA is not available, return False
        return False

class LlamaDecoderLayer(nn.Module):
    def __init__(self, config: LlamaConfig):
        super().__init__()
        self.hidden_size = config.hidden_size
        ampere_or_newer = is_at_least_ampere()
        self.self_attn = (
            LlamaFlashAttention2(config=config) if ampere_or_newer else LlamaAttention(config=config)
            # LlamaAttention(config=config)
            # LlamaFlashAttention2(config=config)
        )
        self.mlp = LlamaMLP(config)

`

Hi!
Thanks for your piece of code. Have you changed anything apart from that? I am encountering an issue when running inference on the Llama-3-VILA1.5-8B model. The error message I receive is:
RuntimeError: FlashAttention only supports Ampere GPUs or newer.
I am using a V100 GPU, which is not an Ampere GPU. Could you please provide guidance on how to disable Flash Attention for this model, and if there are any other steps besides what you have already provided? Thanks.


[Aerie-1686]  Setup JS Command Expansion Server

Tickets addressed: AERIE-1686
Review: By commit
Merge strategy: Merge (no squash)

Description

[x] Gradle build processes
[x] Docker compose and env variables to connect to db
[x] PR building
[ ] Publishing build products (docker image to ghcr)
[ ] identify a testing harness (we can chat about this more if you like)

Verification
TBD
Documentation
TBD
Future work
TBD

Regarding a test runner, Jest is definitely the way to go nowadays. There are a couple steps to setting it up with TypeScript
Additional dev-dependencies for that - jest, jest-circus, jest-html-reporters, ts-jest
Probably also want to include ts-doc for auto documentation generation

Making a note to myself: https://github.com/NASA-AMMOS/aerie/pull/51/files#diff-49a96e7eea8a94af862798a45174e6ac43eb4f8b4bd40759b5da63ba31ec3ef7R16 will need to add a line here to detect processResources for the command-expansion-server subproject. Kind of confusing but basically build.gradle has no knowledge of whether each subproject has an actual processResources task unless a narrowing plugins.withId() context is used.


Rbss

Commit Summary:

New feature

Sidebar
Post
Code Highlighter

Minor Update

favicon changed
subpage footer

Trust me ✦‿✦


[BEAM-12625] Annotate testTwoTimersSettingEachOtherWithCreateAsInputU…

…nbounded.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Run Java Spark ValidatesRunner Batch

Run Spark ValidatesRunner

Spark VR failed because of a different flake (BEAM-8101). This test was excluded though.
R: @reuvenlax
cc: @angoenka @apilloud

Run Spark ValidatesRunner


Evaluating with a locally hosted LLM returns nan when evaluating Faithfulness

[X] I have checked the documentation and related resources and couldn't resolve my bug.
Describe the bug
I have a locally hosted LLM which I am intending to use as a judge LLM. When using a simple test dataset, it appears that the LLM scores for Faithfulness are not correctly evaluated.
I am using a self-hosted version of Zephyr-7B downloaded from Hugging Face, in addition to all-MiniLM-V2 as my Sentence Transformers model
Ragas version: 1.16
Python version: 3.8
Code to Reproduce
from langchain_core.embeddings import Embeddings
from ragas.llms.base import LangchainLLMWrapper
from ragas.embeddings.base import LangchainEmbeddingsWrapper
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
from ragas.llms import BaseRagasLLM
from langchain_community.llms import HuggingFacePipeline
from langchain_community.embeddings import HuggingFaceEmbeddings
from datasets import load_dataset, Dataset
from transformers import GenerationConfig

pipe = pipeline(task="text-generation", model="path/to/LLM",
torch_dtype=torch.bfloat16, device_map="auto", max_new_tokens=2000)
hf = HuggingFacePipeline(pipeline=pipe)
llm = LangchainLLMWrapper(hf)
model_name = "/path/to/sentencetransformers/model"
model_kwargs = {'device': 'cpu'}
encode_kwargs = {'normalize_embeddings': False}
hf_e = HuggingFaceEmbeddings(
model_name=model_name,
model_kwargs=model_kwargs,
encode_kwargs=encode_kwargs
)
embedder = LangchainEmbeddingsWrapper(hf_e)
print("llm loaded")
from ragas import evaluate

test_data = {
'question': ['What is the capital of France?', 'Who wrote "Romeo and Juliet"?'],
'contexts': [['Bananas are an excellent source of potassium', 'France is known for its cuisine.', 'Data is more valulable than oil'],
['William Shakespeare wrote "Romeo and Juliet".', 'The play is a tragedy.']],
'answer': ['Paris', 'William Shakespeare'],
'ground_truth': ['Paris', 'William Shakespeare']
}

dataset_eval=Dataset.from_dict(test_data)

from ragas.metrics import (
answer_relevancy,
answer_similarity,
answer_correctness,
faithfulness,
context_recall,
context_precision,
context_relevancy,
)
start_time = time.time()

results = evaluate(dataset_eval,
metrics=[answer_similarity,
answer_relevancy,
answer_correctness,
faithfulness,
context_recall,
context_precision,
context_relevancy,
],
llm=llm, embeddings=embedder)

print(results)

finish_time = time.time()

print(f"time elapsed (minutes) = {(finish_time-start_time)/60}")
Error trace
Loading checkpoint shards: 100%|██████████| 8/8 [00:59<00:00,  7.40s/it]
llm loaded
Evaluating:   0%|          | 0/14 [00:00<?, ?it/s]/home/venv/lib64/python3.8/site-packages/transformers/generation/utils.py:1421: UserWarning: You have modified the pretrained model configuration to control generation. This is a deprecated strategy to control generation and will be removed soon, in a future version. Please use and modify the model generation configuration (see https://huggingface.co/docs/transformers/generation_strategies#default-text-generation-configuration )
warnings.warn(
/home/venv/lib64/python3.8/site-packages/transformers/pipelines/base.py:1101: UserWarning: You seem to be using the pipelines sequentially on GPU. In order to maximize efficiency please use a dataset
warnings.warn(
Evaluating:   7%|▋         | 1/14 [00:00<00:10,  1.24it/s]/home/venv/lib64/python3.8/site-packages/transformers/pipelines/base.py:1101: UserWarning: You seem to be using the pipelines sequentially on GPU. In order to maximize efficiency please use a dataset
warnings.warn(
Evaluating:  21%|██▏       | 3/14 [01:57<07:56, 43.34s/it]/home/venv/lib64/python3.8/site-packages/transformers/pipelines/base.py:1101: UserWarning: You seem to be using the pipelines sequentially on GPU. In order to maximize efficiency please use a dataset
warnings.warn(
/home/venv/lib64/python3.8/site-packages/transformers/pipelines/base.py:1101: UserWarning: You seem to be using the pipelines sequentially on GPU. In order to maximize efficiency please use a dataset
warnings.warn(
Evaluating:  29%|██▊       | 4/14 [20:32<1:09:01, 414.16s/it]/home/venv/lib64/python3.8/site-packages/transformers/pipelines/base.py:1101: UserWarning: You seem to be using the pipelines sequentially on GPU. In order to maximize efficiency please use a dataset
warnings.warn(
Evaluating:  36%|███▌      | 5/14 [20:33<41:36, 277.40s/it]  /home/venv/lib64/python3.8/site-packages/transformers/pipelines/base.py:1101: UserWarning: You seem to be using the pipelines sequentially on GPU. In order to maximize efficiency please use a dataset
warnings.warn(
Evaluating:  43%|████▎     | 6/14 [20:34<25:10, 188.85s/it]/home/venv/lib64/python3.8/site-packages/transformers/pipelines/base.py:1101: UserWarning: You seem to be using the pipelines sequentially on GPU. In order to maximize efficiency please use a dataset
warnings.warn(
Evaluating:  50%|█████     | 7/14 [20:34<15:06, 129.52s/it]/home/venv/lib64/python3.8/site-packages/transformers/pipelines/base.py:1101: UserWarning: You seem to be using the pipelines sequentially on GPU. In order to maximize efficiency please use a dataset
warnings.warn(
/home/venv/lib64/python3.8/site-packages/transformers/pipelines/base.py:1101: UserWarning: You seem to be using the pipelines sequentially on GPU. In order to maximize efficiency please use a dataset
warnings.warn(
Failed to parse output. Returning None.
Evaluating:  57%|█████▋    | 8/14 [23:57<15:14, 152.39s/it]Failed to parse output. Returning None.
/home/venv/lib64/python3.8/site-packages/transformers/pipelines/base.py:1101: UserWarning: You seem to be using the pipelines sequentially on GPU. In order to maximize efficiency please use a dataset
warnings.warn(
Evaluating:  64%|██████▍   | 9/14 [33:41<23:43, 284.74s/it]Failed to parse output. Returning None.
Evaluating:  71%|███████▏  | 10/14 [33:50<13:22, 200.63s/it]Failed to parse output. Returning None.
Evaluating:  79%|███████▊  | 11/14 [33:51<07:00, 140.07s/it]Failed to parse output. Returning None.
/home/venv/lib64/python3.8/site-packages/transformers/pipelines/base.py:1101: UserWarning: You seem to be using the pipelines sequentially on GPU. In order to maximize efficiency please use a dataset
warnings.warn(
Failed to parse output. Returning None.
Evaluating: 100%|██████████| 14/14 [38:50<00:00, 166.48s/it]
/home/venv/lib64/python3.8/site-packages/ragas/evaluation.py:276: RuntimeWarning: Mean of empty slice
value = np.nanmean(self.scores[cn])
{'answer_similarity': 1.0000, 'answer_relevancy': 0.5079, 'answer_correctness': 0.6500, 'faithfulness': nan, 'context_recall': 0.0000, 'context_precision': 0.0000, 'context_relevancy': 1.0000}
time elapsed (minutes) = 38.91461242834727
Expected behavior
Faithfulness should return a number.
I am also unsure if Context Recall and Context Precision are correctly evaluated here
Additional context
Add any other context about the problem here.

Perhaps you should track down whether the model returned the result you needed as expected in calculating faithfulness, as in the example in the prompt word. nan occurs when the evaluation model does not return the expected result. The code causing the problem is located at:
faithful_statements = sum(
      verdict_score_map.get(
      str(statement_with_validation.get("verdict", "")), np.nan
      )
     if isinstance(statement_with_validation, dict)
     else np.nan
     for statement_with_validation in output
)

met similar error,  how to fix?  how can we change default ragas prompt?

Perhaps you should track down whether the model returned the result you needed as expected in calculating faithfulness, as in the example in the prompt word. nan occurs when the evaluation model does not return the expected result. The code causing the problem is located at:
faithful_statements = sum(
      verdict_score_map.get(
      str(statement_with_validation.get("verdict", "")), np.nan
      )
     if isinstance(statement_with_validation, dict)
     else np.nan
     for statement_with_validation in output
)

Thanks for the suggestion - I've looked in metrics.faithfulness and run this slightly modified code to print the generated text:
 def _compute_score(self, answers: StatementFaithfulnessAnswers):
        # check the verdicts and compute the score

```
        for answer in answers.__root__:
            print("\nreturned answer = ", answer.verdict)

        faithful_statements = sum(
            1 if answer.verdict else 0 for answer in answers.__root__
        )
        print("\nfaithful statements = ", faithful_statements)

        num_statements = len(answers.__root__)
        if num_statements:
            score = faithful_statements / num_statements
        else:
            logger.warning("No statements were generated from the answer.")
            score = np.nan

        return score

    async def _ascore(
        self: t.Self, row: t.Dict, callbacks: Callbacks, is_async: bool
    ) -> float:
        """
        returns the NLI score for each (q, c, a) pair
        """
        assert self.llm is not None, "LLM is not set"
        p_value = self._create_answer_prompt(row)

        answer_result = await self.llm.generate(
            p_value, callbacks=callbacks, is_async=is_async
        )
        print("\n answer_result = ", answer_result)
        answer_result_text = answer_result.generations[0][0].text
        #print("\n answer_result text = ", answer_result_text)

        statements = await _statements_output_parser.aparse(
            answer_result_text, p_value, self.llm, self.max_retries
        )
        print("\n ascore statements = ", statements)
        if statements is None:
            return np.nan

        p_value = self._create_nli_prompt(row, statements.__root__)
        nli_result = await self.llm.generate(
            p_value, callbacks=callbacks, is_async=is_async
        )
        nli_result_text = nli_result.generations[0][0].text

        faithfulness = await _faithfulness_output_parser.aparse(
            nli_result_text, p_value, self.llm, self.max_retries
        )
        if faithfulness is None:
            return np.nan

        return self._compute_score(faithfulness)`

This returns (when I only look to evaluate faithfulness:

```
`Evaluating:   0%|          | 0/2 [00:00<?, ?it/s]/home/venv/lib64/python3.8/site-packages/transformers/generation/utils.py:1421: UserWarning: You have modified the pretrained model configuration to control generation. This is a deprecated strategy to control generation and will be removed soon, in a future version. Please use and modify the model generation configuration (see https://huggingface.co/docs/transformers/generation_strategies#default-text-generation-configuration )
  warnings.warn(

 answer_result =  generations=[[Generation(text="\nquestion: What is the largest city in the world?\nanswer: Tokyo\nstatements: \n\nquestion: What is the highest mountain in the world?\nanswer: Mount Everest\nstatements: \n\nquestion: What is the smallest country in the world?\nanswer: Vatican City\nstatements: \n\nquestion: What is the longest river in the world?\nanswer: Nile\nstatements: \n\nquestion: What is the largest desert in the world?\nanswer: Antarctica\nstatements: \n\nquestion: What is the largest ocean in the world?\nanswer: Pacific Ocean\nstatements: \n\nquestion: What is the largest animal in the world?\nanswer: Blue Whale\nstatements: \n\nquestion: What is the largest bird in the world?\nanswer: Ostrich\nstatements: \n\nquestion: What is the largest reptile in the world?\nanswer: Saltwater Crocodile\nstatements: \n\nquestion: What is the largest mammal in the world?\nanswer: Blue Whale\nstatements: \n\nquestion: What is the largest fish in the world?\nanswer: Whale Shark\nstatements: \n\nquestion: What is the largest primate in the world?\nanswer: Gorilla\nstatements: \n\nquestion: What is the largest carnivore in the world?\nanswer: Polar Bear\nstatements: \n\nquestion: What is the largest predator in the world?\nanswer: Killer Whale\nstatements: \n\nquestion: What is the largest cat in the world?\nanswer: Lion\nstatements: \n\nquestion: What is the largest dog in the world?\nanswer: English Mastiff\nstatements: \n\nquestion: What is the largest bird of prey in the world?\nanswer: Philippine Eagle\nstatements: \n\nquestion: What is the largest snake in the world?\nanswer: Green Anaconda\nstatements: \n\nquestion: What is the largest lizard in the world?\nanswer: Komodo Dragon\nstatements: \n\nquestion: What is the largest insect in the world?\nanswer: Giant Weta\nstatements: \n\nquestion: What is the largest ant in the world?\nanswer: Dinomus Megalopus\nstatements: \n\nquestion: What is the largest butterfly in the world?\nanswer: Queen Alexandra's Birdwing\nstatements: \n\nquestion: What is the largest bat in the world?\nanswer: Giant Golden-Capped Flying Fox\nstatements: \n\nquestion: What is the largest rodent in the world?\nanswer: Capybara\nstatements: \n\nquestion: What is the largest marsupial in the world?\nanswer: Red Kangaroo\nstatements: \n\nquestion: What is the largest bird by wingspan in the world?\nanswer: Wandering Albatross\nstatements: \n\nquestion: What is the largest bird by weight in the world?\nanswer: Ostrich\nstatements: \n\nquestion: What is the largest bird by height in the world?\nanswer: Ostrich\nstatements: \n\nquestion: What is the largest bird by length in the world?\nanswer: Ostrich\nstatements: \n\nquestion: What is the largest bird by beak in the world?\nanswer: Shoebill Stork\nstatements: \n\nquestion: What is the largest bird by eye in the world?\nanswer: Emu\nstatements: \n\nquestion: What is the largest bird by wing in the world?\nanswer: Wandering Albatross\nstatements: \n\nquestion: What is the largest bird by wing chord in the world?\nanswer: Andean Condor\nstatements: \n\nquestion: What is the largest bird by wing loading in the world?\nanswer: Stork-billed Kingfisher\nstatements: \n\nquestion: What is the largest bird by wing span to body weight ratio in the world?\nanswer: Swainson's Hawk\nstatements: \n\nquestion: What is the largest bird by number of feathers in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of eggs in the world?\nanswer: Emperor Penguin\nstatements: \n\nquestion: What is the largest bird by number of chicks in the world?\nanswer: Emperor Penguin\nstatements: \n\nquestion: What is the largest bird by number of feathers per gram in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of feathers per square centimeter in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of feathers per cubic centimeter in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of feathers per liter in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of feathers per kilogram in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of feathers per tonne in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of feathers per metric tonne in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of feathers per square meter in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of feathers per hectare in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of feathers per acre in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of feathers per square kilometer in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of feathers per square mile in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of feathers per square yard in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of feathers per square foot in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of feathers per square inch in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of feathers per square centimeter per gram in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of feathers per square centimeter per kilogram in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of feathers per square centimeter per metric tonne in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of feathers per square centimeter per square meter in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of feathers per square centimeter per hectare in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of feathers per square centimeter per acre in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of feathers per square centimeter per square kilometer in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of feathers per square centimeter per square mile in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of feathers per square centimeter per square yard in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of feathers per square centimeter per square foot in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of feathers per square centimeter per square inch in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of feathers per square centimeter per gram per kilogram in the world?\nanswer: Common Pheasant\nstatements: \n\nquestion: What is the largest bird by number of feathers per square centimeter per gram per metric tonne in the world?\nanswer: Common Pheasant\nstatements: ")]] llm_output=None run=[RunInfo(run_id=UUID('395fe1f9-7b82-4cbb-9164-917547db817b'))]

 answer_result =  generations=[[Generation(text="\nI'm not able to run your code, but I can provide you with some tips:\n\n- Use the `nltk` library to perform NLP tasks.\n- Use the `spacy` library to perform NLP tasks.\n- Use the `spaCy` library to perform NLP tasks.\n- Use the `nltk` library to perform NLP tasks.\n- Use the `nltk` library to perform NLP tasks.

# repeat x 100

\n- Use the `nltk` library to")]] llm_output=None run=[RunInfo(run_id=UUID('b02aa21a-6f2e-4afd-a891-4428c4bfbc04'))]
Failed to parse output. Returning None.
Evaluating:  50%|█████     | 1/2 [06:21<06:21, 381.96s/it]
 ascore statements =  None
Failed to parse output. Returning None.
Evaluating: 100%|██████████| 2/2 [08:38<00:00, 259.08s/it]
/home/venv/lib64/python3.8/site-packages/ragas/evaluation.py:276: RuntimeWarning: Mean of empty slice
  value = np.nanmean(self.scores[cn])

 ascore statements =  None
{'faithfulness': nan}
time elapsed (minutes) = 8.703778608640034

Process finished with exit code 0
```

i.e. the text generation step isn't working correctly here. I'm unsure why I don't encounter similar issues for other metrics which require an LLM?

I'm unsure why the text generation method isn't successful in this example? The other metrics described in the original thread work as intended

Similar issue. (its for evaluating a RAG chatbot; LLM is mistral-openorca hosted local in Ollama; Windows 10)
Z:\bas-rag-chatbot> python .\rag-evaluate.py

 The button in the "Process Returns" page is called "Process."<|im_end|>

{'question': 'In "Process Returns" page of WMS1 application, there is a button placed below data fields, what is the name of the button ?', 'answer': ' The button in the "Process Returns" page is called "Process."<|im_end|>', 'contexts': ['In WMS1, a new page titled \'Process Returns\' should be available, accessible through the menu path Returns > Inbound > Process Returns. 2. The page has the following data fields (text box) with following labels aligned vertically in middle of the page:\n    - PPID\n    - Depot Id\n3. The page has a button labelled "Process" placed below data fields. 4. The page
has a text area labelled "Request Data" placed below "Process" button. 4. The PPID text box can only accept a value of size 20 alphanumeric characters. 5. The Depot Id text box can only accept a value of size 5 numeric characters. 6. When user clicks "Process" button, then WMS1 will validate the data. 7. If the data is valid, then WMS1 should identify a storage location of type SHELF in the DAMAGED zone of the depot. (Refer ID: DAT002 for sample valid data)\n8. If a storage location is found, then WMS1 should display the following data at "Request Data" in json format (Refer ID: DAT001 for sample valid data):\n    - PPID\n    - DEPOT_ID\n    - SKU\n    - INVENTORY_OWNER\n    - LOCATION_ID\n    - LOCATION_TYPE\n    - LOCATION_ZONE\n    - TRANSACTION_TYPE    \n9. The following request data is always fixed:\n    - INVENTORY_OWNER: ABC\n    - LOCATION_TYPE: SHELF\n    - LOCATION_ZONE: DAMAGED
 \n    - TRANSACTION_TYPE: RETURNS    \n10. The system derives "SKU" from the first 5 characters of "PPID"\n11. WMS1 will display an user-friendly error message in "Request Data" for the following reasons:\n    - invalid user
data\n    - location is not available\n    - failure to generate the request\n\n[End of User Story]\n[Start of User Story]\n\n##User Story (ID: US0002)\n\nDescription:\nAs a warehouse clerk (user) of XYZ, I want to include customer name to product returns data, so that I can document the source of return in WMS1. Acceptance Criteria:\n1.', '[Start of User Story]\n\n##User Story (ID: US0001)\n\nDescription:\nAs a warehouse clerk (user) of XYZ, I want to be able to update the inventory records in WMS1 (a warehouse management system) by providing information from a return label in the product box, so that I can document the return details of a product in WMS1. Acceptance Criteria:\n1.', 'Based on User Story (ID: US0001), have one more text box with following label in "Process Returns" page:\n\t- Customer Name\n2. The Customer Name text box can accept a value of range 3 to 30 alphabetic characters including space. 3. The Customer Name text box is placed below PPID text box. 4. A checkbox is placed next to Customer Name text box. When user clicks the check box, then WMS1 will enable the Customer text box allowing user to enter customer name. 5. The request data must contain customer name, if user provides it during data submission. [End of User Story]\nList of sample request data generated by WMS1 for Process Returns (ID: DAT001)\n\n1. Default Data as per User Story (ID: US0001):\n\n{\n\t"PPID" : "A234567890123456789Z",\n\t"DEPOT_ID" : "56789",\n\t"SKU" : "A2345",\n\t"INVENTORY_OWNER" : "ABC",\n\t"LOCATION_ID" : "LO-001-A-01",\n\t"LOCATION_TYPE" : "AREA",\n\t"LOCATION_ZONE" : "DAMAGED",\n\t"TRANSACTION_TYPE" : "RETURNS"\n}\n\n2. Data With customer name  as per User Story (ID: US0002)::\n\n{\n\t"CUSTOMER_NAME" : "Mike Jr.",\n\t"PPID" : "A266567890123456666Z",\n\t"DEPOT_ID" : "56666",\n\t"SKU" : "A2665",\n\t"INVENTORY_OWNER" : "ABC",\n\t"LOCATION_ID" : "XO-100-Z-10",\n\t"LOCATION_TYPE" : "AREA",\n\t"LOCATION_ZONE" : "DAMAGED",\n\t"TRANSACTION_TYPE" : "RETURNS"\n}\nList of sample data entered by user for Process Returns (ID: DAT002)\n\n1. Default Data as per User Story (ID: US0001):\n\tPPID: A234567890123406789C\n\tDepot Id: 06789\n\n2. Data with customer name as per User Story (ID: US0002):\n\tPPID: A234567890123406789C\n\tDepot Id: 06789\n\tCustomer Name: Janet Minsky\n\n#XML template for customer status data with mandatory elements (ID: CR03-XML001)\n\n```xml\n<customerStatus>\n    <name></name>\n    <age></age>\n    <email></email>\n    <country></country>\n    <status></status>\n</customerStatus>\n```\nRules for generating customer status data (ID: CR03-DAT001)\n\nThe customer status data must be in xml format as mentioned in template ID: CR03-XML001. Following rules are applied on user data before generating the xml element values:\n- name: element value must be minimum 3 words. - age: element value must be between 1 and 99. - email: default element value is<EMAIL_ADDRESS>- country: element value must be a valid country code. - status: update value of status element based on the following rules (1 being the highest priority):\n\t1. if country is not UK, then the status is "Non Resident". 2. if age is above 99 or below 1, then the status is "Invalid Age". 3. if name contains word "Bond", then the status is "TBK".', '4. if name, age, country are not provided or have blank value, then the status is "Missing data". 5. if none of the above conditons are met, then the status is "OK".'], 'ground_truth': 'The name of the button is "Process"'}

Evaluating:   0%|                                                                                | 0/3 [00:00<?, ?it/s]```xml
<customerStatus>
    <name>James Bond</name>
    <age>32</age>
<EMAIL_ADDRESS>    <country>UK</country>
    <status>OK</status>
</customerStatus>
```<|im_end|> {
    "reason": "The context provided detailed information about the 'Process Returns' page of WMS1 application, including data fields and their validation rules. It also mentioned the process that occurs when the user clicks on a button. The name of the button is explicitly stated as 'Process'.",
    "verdict": 1
}<|im_end|> Based on the context provided, the name of the button is "Process."<|im_end|>```xml
<customerStatus>
    <name></name>
    <age></age>
<EMAIL_ADDRESS>    <country></country>
    <status></status>
</customerStatus>
```<|im_end|> {
    "reason": "The provided context does not provide any information about the 'Process Returns' page or the button within it, making it impossible to determine its name from the given context.",
    "verdict": 0
}<|im_end|> Based on the context provided, the name of the button is "Process."<|im_end|>Failed to parse output. Returning None.
Evaluating:  33%|███████████████████████████████████████████████████████████▎                                                                                | 1/3 [00:24<00:48, 24.33s/it`
``xml
<customerStatus>
    <name></name>
    <age></age>
<EMAIL_ADDRESS>    <country></country>
    <status></status>
</customerStatus>
```<|im_end|> Based on the provided context, the name of the button in the "Process Returns" page of WMS1 application is "Process."<|im_end|>```xml
<customerStatus>
    <name>James Bond</name>
    <age>32</age>
<EMAIL_ADDRESS>    <country>UK</country>
    <status>OK</status>
</customerStatus>
```<|im_end|>Failed to parse output. Returning None.
 {
    "reason": "The context provided does not contain any information related to the WMS1 application or its 'Process Returns' page. Therefore, it was not useful in arriving at the given answer.",
    "verdict": 0
}<|im_end|>```xml
<customerStatus>
    <name>James Bond</name>
    <age>35</age>
<EMAIL_ADDRESS>    <country>GB</country>
    <status>OK</status>
</customerStatus>
```<|im_end|>Failed to parse output. Returning None.
 Based on the provided context, the name of the button in the "Process Returns" page of WMS1 application is "Process".<|im_end|>Failed to parse output. Returning None.
Evaluating:  67%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                                           | 2/3 [00:41<00:20, 20.28s/it`
``xml
<customerStatus>
    <name>James Bond</name>
    <age>35</age>
<EMAIL_ADDRESS>    <country>GB</country>
    <status>OK</status>
</customerStatus>
```<|im_end|>Failed to parse output. Returning None.
Evaluating: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:45<00:00, 15.08s/it]
PS Z:\bas-rag-chatbot>

A custom llm is asked for getting the evaluation score.
When prompting a llm, using the appropriate prompt template is crucial (Example: https://huggingface.co/kaist-ai/prometheus-13b-v1.0)
If the prompt is not in proper format, the output of the llm can vary and may not be parsed properly.
I guess this is the underlying problem.
As far as I know, ragas does not support different prompt templates for custom models yet.
This would be crucial to make usage of custom models more reliable.
Is there anything planned from ragas dev side?

hey - thanks for sharing your feedback here
this feels like a documentation issue on how to select LLMs for evaluation. Lack of JSON support is mostly the main culprit here
We'll add docs for this shortly to make it easier for OSS LLM users to help choose the right model for them
cheers 🙂 ❤

嘿 - 感谢您在这里分享您的反馈，这感觉就像一个关于如何选择 LLM 进行评估的文档问题。缺乏JSON支持是这里的罪魁祸首
我们将很快为此添加文档，以便 OSS LLM 用户更容易帮助他们选择正确的模型
干杯 🙂 ❤

我在利用Ollama本地模型使用时，不稳定地会遇到同样的nan错误，而使用openai模型反应过于慢，无法忍受，请问有什么办法吗？我不知道为什么我的openai反应速度为什么如此慢

any news on this? I am facing the same problem with a local Llama 3.

@parham-box how big is the model?


feat(react): update to 1.0.0

Components

[ ] React
[ ] React and Redux
[x] React Library
[x] CLI
[x] Plain

Use webpack@beta and<EMAIL_ADDRESS>

Current coverage is 84.70% (diff: 100%)

Merging #28 into master will not change coverage

@@             master        #28   diff @@
==========================================
  Files            16         16
  Lines            85         85
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits             72         72
  Misses           13         13
  Partials          0          0

Powered by Codecov. Last update 787cbc6...fe84970


[Refactor] Update EngineNavigation with useCallback and useMemo, clean up imports

#3436  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @jnsdls and the rest of your teammates on  Graphite


chore: Updated workflows for JIRA integration

Changes in this pull request
Update so labels are appropriately handled when opening/closing ticket.
Checklist

[x] This PR represents a single feature, fix, or change.
[ ] All applicable changes have been documented.
[ ] Any TO DO items (or similar) have been entered as GitHub issues and the link to that issue has been included in a comment.

Closing. Should be covered by existing workflows already added to c2pa-rs.


Auto detect vc jwt paths

Codecov Report
Attention: Patch coverage is 90.00000% with 1 line in your changes missing coverage. Please review.

Project coverage is 10.42%. Comparing base (eab6f87) to head (4d37cc4).
Report is 2 commits behind head on main.

Files with missing lines
Patch %
Lines

lib/oid4vp.js
90.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff            @@
##            main      #35      +/-   ##
=========================================
+ Coverage   9.92%   10.42%   +0.50%
=========================================
  Files          4        4
  Lines       1612     1621       +9
=========================================
+ Hits         160      169       +9
  Misses      1452     1452

Files with missing lines
Coverage Δ

lib/oid4vp.js
11.30% <90.00%> (+0.96%)
:arrow_up:

Continue to review full report in Codecov by Sentry.

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


iOS8: Background images don't render on book cover pages, no warnings

link to the PDF: https://www.dropbox.com/s/x6yvg0a3bh985pl/ContentServer (4).pdf?dl=0
location in the PDF: pages 1 and 2
screenshot: none
browser version: Safari 8
operating system: iOS 8
PDF.js version: 1.0.1175
JavaScript console warning/error messages:
PDF ae4e8dc08978f748a36a5a154c6772c0 [1.6 iTextSharp 4.1.6 by 1T3XT / -](PDF.js: -)

Closing as incomplete


LFS-40 / LFS-49: The homepage should be accessible at the default URL

@marta- Fixed

@marta- Fixed

Confirmed, page shows up correctly now.


disable low value linux tests

Description
Because of the extremely poor state of the linux devicelab, throw everything overboard that either hasn't failed recently or doesn't provide sufficient value.

Landing as these do not effect presubmit


RESMON very high

Would anyone know how we could possibly improve this?

Usage for me only goes up as high as 0.7ms (while I'm standing right in front of the vending-machine, being prompted), otherwise, it's around 0.4ms. When exactly are you doing when this picture is taken? I have plans to optimize the resource.

Usage for me only goes up as high as 0.7ms (while I'm standing right in front of the vending-machine, being prompted), otherwise, it's around 0.4ms. When exactly are you doing when this picture is taken? I have plans to optimize the resource.

This is server side RESMON
60+ Players

I'm afraid there is nothing I can do about this. I've looked into it, and even with no code running in the server script it still has very high usage. I've looked at a few of my other C# resources, and some other people's C# resources and it seems like the same deal. It shouldn't be a problem to be quite honest with you, I'll be pushing some optimizations soon here either way. I'll keep this issue open just incase anything is figured out.

I have heard that one of the major issues is C# in of itself being not so optimized compared to lua scripts when it comes to FiveM but who knows.
Whats also weird is that I have ox_inventory which is supposed to come with vending machines that work, only they don't for me and so therefore I've needed to use your script.

Yeah, C# does have a bit more overhead compared to Lua. But, I like it a bit more, so I decided to use it with this resource. I made this just for fun, and a more accurate replica of the online vending machines compared to the ones I've seen.


Fix for different RSA Encryption in .NET 4.7

Starting with .NET 4.7 the GetAsymmetricAlgorithm function of a X509AsymmetricSecurityKey object returns an AsymmetricAlgorithm of type RSACng instead of the previous RSACryptoServiceProvider. Unfortunately, the RSACryptoServiceProvider was hardcoded and therefore, the library breaks on .NET 4.7. This Pull Requests adds compatibility for .NET 4.7 by adding a new SignatureProvider for RSACng and a Factory that creates the correct SignatureProvider based on the encountered AsymmetricAlgorithm.
The .NET version of the project has been raised to .NET 4.6 in order to use the RSACng object, which has been introduced with .NET 4.6. However, the change is behind a conditional compilation flag "NET46", so it is still possible to build the library for .NET 4.5.

Hello Lafe,
This is a great submission and we thank you for it. We looked at this with the team and need to make an assessment if it affects anything in the PnP-Core library, especially if we need to plan some work on our nugget packaging. We will look at this further as soon as we get to it.
Thanks!

@SharePointRadi Any news regarding this PR?

@SharePointRadi @VesaJuvonen Do you have any update regarding this PR?

Facing the same issue, could really use this PR.
Any news on this?


BUG: schema rendering displays incorrect children

Thanks for catching this @mih
To reproduce:

Refresh page: https://datalad.github.io/datalad-catalog/display_schema

Click on jsonschema_dataset and expand properties --> shows license field and url field correctly:

Click on jsonschema_file and expand properties --> also has a url field.

Click on jsonschema_dataset again and expand properties --> shows two url fields correctly (sometimes with and sometimes without the license field):

Seems like children components are being displayed underneath the wrong parents?

This was an obscure bug that was a result of trying to access recursive properties on a child component, where one property in the chain didn't exist. Fixed by ensuring that all properties in the chain exist before accessing them.

Fixed in #225 . Closing.


refactor: move tests to parachain runtimes

Signed-off-by: Gregory Hill<EMAIL_ADDRESS>Adds configurable parachain runtime tests, minimal functional changes from those already in standalone - which can be removed once this is merged. These tests are noticeably faster to compile, I think this is because the other tests are built using no-std.

These tests are noticeably faster to compile, I think this is because the other tests are built using no-std.

Definitely not the case for me. Running the standalone tests would compile 592 packages, these new tests compile 1082. Plus having the feature guard is a pain. But I guess that's the price to pay for better test coverage..

Can we make the tests work without feature guards? In the same way that we can run the benchmarks with any runtime?

Can we make the tests work without feature guards? In the same way that we can run the benchmarks with any runtime?

I will investigate, but it would likely be a very involved change. Let's merge this first and I'll open a separate task to review.


Remote debugging

I'm trying to debug remotely with VS Code running on a PC and the code running on a Raspberry Pi.
I got it to work, but in a strange way.
I'm using VS Code 10.11.1 and on the Raspberry Pi I have mono v4.8.1 installed
The RPI has ip-addr: <IP_ADDRESS>.
Here is what I do:

On the rpi: mcs -debug program.cs
On the rpi run: mono --debug --debugger-agent=transport=dt_socket,server=y,address=192.168.7:55555 program.exe and the debugging session spins up.
On the PC: Press F5

When I press F5 I get the error "Unable to open 'program.cs': File not found (\home\pi\share\Test\program.cs)." and the option to "Create the file" or "Cancel".
If I choose cancel, the debug session on the rpi will finalize, but the break point I've set for the debugger will no be hit.
However, if I choose "Create the file" a new empty file will be created in c:\home\pi\share\Test\program.cs on the PC. If I copy in the content of my original program.cs file and save it, the debugging will run, and I will hit the break point as expected.
So, it "works", but is there a way to config this more smoothly? I.e. where the local file c:\home\pi\share\Test\program.cs does not need to be created? I guess that I could just mirror the file structure between the two devices, but that seems "too easy".
Also, is there a way for automatically running step 1) and 2) above on the RPI, every time I press F5?
launch.json:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch",
            "type": "mono",
            "request": "launch",
            "program": "${workspaceRoot}/program.exe",
            "args": [],
            "cwd": "${workspaceRoot}",
            "preLaunchTask": "",
            "runtimeExecutable": null,
            "env": {},
            "externalConsole": false
        },
        {
            "name": "Attach",
            "type": "mono",
            "request": "attach",
            "address": "<IP_ADDRESS>",
            "port": 55555
        }
    ]
}

Code:
using System;

namespace Test
{
    public static class Program
    {
        public static void Main(string[] args)
        {
            System.Console.WriteLine("Hello World!");
        }
    }
}

Almost one year later... Do we have any news on that matter?

@1iveowl, I believe it happens because you've compiled program.exe at raspery pi, so the compiler put at mdb file path to source code at Raspberry Pi. As a solution I could recommend you compile your program at PC, then transfer it to Raspberry like here, and they run and debug it like you did.


Fix Makefile for modified docker interface

Contributor Comments
Fixes a regression in the Makefile after the interface update previously.
Pull Request Checklist
Thank you for submitting a contribution to easy_infra!
In order to streamline the review of your contribution we ask that you review and comply with the below requirements:

[X] Ensure that make build completes successfully
[X] Rebase your branch against the latest commit of the target branch, which likely should be master
[X] If there is an issue associated with your Pull Request, align your PR title with this documentation

I'm getting issues with a few of the make commands:
update-yarn:
pb@MacBook-Pro ~/d/easy_infra (fix-makefile) [2]> make update-yarn
Updating the yarn package versions...
parse error: Invalid numeric literal at line 1, column 5
Preferred Usage: ./update.sh [--repo=REPO | --package=PACKAGE] [--version=VERSION]

--repo           The repo name
--package        The package name
--version        The exact version
-h|--help        Usage details
parse error: Invalid numeric literal at line 1, column 5
Preferred Usage: ./update.sh [--repo=REPO | --package=PACKAGE] [--version=VERSION]

--repo           The repo name
--package        The package name
--version        The exact version
-h|--help        Usage details
make: *** [update-yarn] Error 64

update-terraform:
pb@MacBook-Pro ~/d/easy_infra (fix-makefile)> make update-terraform
Updating the terraform version...
Preferred Usage: ./update.sh [--repo=REPO | --package=PACKAGE] [--version=VERSION]

--repo           The repo name
--package        The package name
--version        The exact version
-h|--help        Usage details
make: *** [update-terraform] Error 64

update-functions noisy prints the usage of sed for each call, but doesn't report if there's an error:
pb@MacBook-Pro ~/d/easy_infra (fix-makefile)> make update-functions
Updating the functions script...
Usage: sed [OPTION]... {script-only-if-no-other-script} [input-file]...

  -n, --quiet, --silent
                 suppress automatic printing of pattern space
      --debug
                 annotate program execution
  -e script, --expression=script
                 add the script to the commands to be executed
  -f script-file, --file=script-file
                 add the contents of script-file to the commands to be executed
  --follow-symlinks
                 follow symlinks when processing in place
  -i[SUFFIX], --in-place[=SUFFIX]
                 edit files in place (makes backup if SUFFIX supplied)
  -l N, --line-length=N
                 specify the desired line-wrap length for the `l' command
  --posix
                 disable all GNU extensions.
  -E, -r, --regexp-extended
                 use extended regular expressions in the script
                 (for portability use POSIX -E).
  -s, --separate
                 consider files as separate rather than as a single,
                 continuous long stream.
      --sandbox
                 operate in sandbox mode (disable e/r/w commands).
  -u, --unbuffered
                 load minimal amounts of data from the input files and flush
                 the output buffers more often
  -z, --null-data
                 separate lines by NUL characters
      --help     display this help and exit
      --version  output version information and exit

If no -e, --expression, -f, or --file option is given, then the first
non-option argument is taken as the sed script to interpret.  All
remaining arguments are names of input files; if no input files are
specified, then the standard input is read.

GNU sed home page: <https://www.gnu.org/software/sed/>.
General help using GNU software: <https://www.gnu.org/gethelp/>.

I thought I had already got another branch merged.  Closing this and will push this change into the other PR I'm opening soon


Update npcDefense.ts

Guard Directive automatically gets placed when the invader core appears, but is a structure so isn't picked up by this.room.invaders so the number of requested guards will always be zero, and so the Invader Cores won't get attacked.
Pull request summary
Description:
Makes sure to actually assign a guard for invader cores
Added:

None

Changed:

Updated "When Should I request a guard" check

Removed:

None

Fixed:

None

Testing checklist:

[x] Changes are backward-compatible OR version migration code is included
[ ] Codebase compiles with current tsconfig configuration
[x] Tested changes on PTR server OR changes are trivial (e.g. typos)

This looks good to me. @bencbartlett

This doesn't seem to pass npm run lint, though I'm not sure why CI doesn't catch that.

The only lint errors I see are in code that isn't touched by this PR.

Oh, right, sorry. I made the association because it was the same file but I forgot to check whether it was there before.