Your requirements could not be resolved to an installable set of packages.

Hi @aaiyo ,
Of recent I started getting the error below, I have not changed anything and I see that this project has not changed. I have also logged this issue @ https://github.com/fxpio/composer-asset-plugin/issues/234.
Any suggestions what I can do to resolve?
Regards,
Adam
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for amilna/yii2-blog dev-master -> satisfiable by amilna/yii2-blog[dev-master].
- amilna/yii2-blog dev-master requires iutbay/yii2-kcfinder dev-master -> satisfiable by iutbay/yii2-kcfinder[dev-master].
- iutbay/yii2-kcfinder dev-master requires iutbay/yii2-fontawesome dev-master -> satisfiable by iutbay/yii2-fontawesome[dev-master].
- iutbay/yii2-kcfinder dev-master requires iutbay/yii2-fontawesome dev-master -> satisfiable by iutbay/yii2-fontawesome[dev-master].
- Conclusion: don't install iutbay/yii2-fontawesome dev-master

Facing the same issue. Couldn't install

+1
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for amilna/yii2-blog dev-master -> satisfiable by amilna/yii2-blog[dev-master].
- amilna/yii2-blog dev-master requires iutbay/yii2-kcfinder dev-master -> satisfiable by iutbay/yii2-kcfinder[dev-master].
- iutbay/yii2-kcfinder dev-master requires iutbay/yii2-fontawesome dev-master -> satisfiable by iutbay/yii2-fontawesome[dev-master].
- iutbay/yii2-kcfinder dev-master requires iutbay/yii2-fontawesome dev-master -> satisfiable by iutbay/yii2-fontawesome[dev-master].
- Conclusion: don't install iutbay/yii2-fontawesome dev-master

i'm sorry for my late respon guys, i don't know why it didn't work, but then a change the require repo to "iutbay/yii2-fontawesome": "*" (also in https://github.com/aaiyo/yii2-kcfinder"), now it is working.


how work with maxFalsePosProbability

i want set maxFalsePosProbability > 0.0000001 (part per million)
BloomFilter bloomFilter = new BloomFilter(sourceNumber, 0.0000001D);
but not work，maxFalsePosProbability have top？
this site https://hur.st/bloomfilter
so i make bigger numElements fix this.
BloomFilter bloomFilter = new BloomFilter(sourceNumber * 3, 0.0000001D);
but bitset nbits is a Integer, so............
how fix ti

What error are you getting?  What are you trying to accomplish with such a
low max false positive rate?  At that point you may just consider a set or
some other deterministic data structure.
Matt
On Wed, May 15, 2019 at 2:50 AM yunkai<EMAIL_ADDRESS>wrote:

i want set maxFalsePosProbability > 0.0000001 (part per million)
but not work，maxFalsePosProbability have top？
this site https://hur.st/bloomfilter
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/addthis/stream-lib/issues/156?email_source=notifications&email_token=AAAF623XVN5DF4FQAZCTUNLPVPFGVA5CNFSM4HNBBQZ2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4GT3V4OA,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAF626ZREDQQPFIVQ2BZPDPVPFGVANCNFSM4HNBBQZQ
.

thx


chore: promote test15 to version 0.0.20

chore: promote test15 to version 0.0.20
this commit will trigger a pipeline to generate the actual kubernetes resources to perform the promotion which will create a second commit on this Pull Request before it can merge

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign q1323829945
You can assign the PR to them by writing /assign @q1323829945 in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@q1323829945: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

verify
5867c5f93b6c55c24b116c688d79db968a3879db
link
/test verify

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.


Questions on using tf-controller - how do you create the TF resources?

Hello Folks - a few simple questions. I plan on using this tool to deploy into different clouds such as AWS, OCI, GCP etc, as there are already providers created for these clouds.
There are examples on creating the source object for the source controller - but what is in those repositories? Is it normal .tf files? Are there Kubernetes Objects defined with the resources?
For instance if I wanted to create a little API around tf-controller - would I create the source controller object, then K8s will look in a GitRepo or S3 bucket for the code, would I need to create those .tf files or k8s resources?
From what I saw, the Terraform would be regular terraform in a repo - then Flux would pick it up and deploy it. Is this correct?

There are examples on creating the source object for the source controller - but what is in those repositories? Is it normal .tf files?

Yes, they are normal .tf files.

For instance if I wanted to create a little API around tf-controller - would I create the source controller object, then K8s will look in a GitRepo or S3 bucket for the code, would I need to create those .tf files or k8s resources?

For the normal use cases, you can just create .tf files, and store them in the GitRepo.

From what I saw, the Terraform would be regular terraform in a repo - then Flux would pick it up and deploy it. Is this correct?

Yes. It is correct.

Thank you again @chanwit


Memory leak in hmap memory

The function SetFinalizer was not initialized correctly, leading to the GC never invoking it on an object going out of scope

@CodFrm said:
You mistakely returned wrong value here.
This causes the wrapper to be collected by GC immediately.


image_intel: supress warning on reset

During resetting Intel-based hardware this tool shows a warning
about bad CRC. That happens due to writing into a cleaned partition,
and is not an error.
This commit brings stderr redirection into the fw_setenv/fw_printenv
calls to suppress such warnings.
Signed-off-by: Alexander Filippov<EMAIL_ADDRESS>

Please also update the commit log message according to my edits to the PR description.

done


feat: code block execution

Is your feature request related to a problem? Please describe.
Executing code allow the tool to be used as an ideation and copilot in software development for brainstorming purposes. It also allows user to instead of asking question to LLM and hopping for the correct answer, to actually create code and run it to get correct answer.
Eventually having something like code interpreter as shared in #851 will be great but I think that may require much more changes to get it right e.g. some form of function calling pattern that works across multiple models to pick the code interpreter and some form of chaining to respond based on those results.
This can be a good stepping stone to eventually build that.
Describe the solution you'd like
Have a 'Run Code' in the Code block which sends the code over to a new API in backend e.g. /code/api/v1/run, which executes that code in a somewhat secure manner and responds back with response. To start with we can support only Python code.
Additional context
Here is very basic prototype I whipped up: https://github.com/zabirauf/open-webui/pull/1/files
Want to get thoughts before I work on it further.

nice work, this looks very promising! here's my thought:
Looking into your implementation, the only thing I don't feel comfortable with is running the code locally without any kind of isolation with the host system. It's conceivable that any user could have code be written or just paste code themselves into chat, it's run in python through subprocess and the host system is compromised. What I'm about to propose isn't necessarily a simple change so I humbly request that you add a way to disable code execution in the admin panel.
I believe it would be best to use containers for code execution. They can be tracked, isolated and then destroyed accordingly. Considering how open-webui can be started locally, in docker or kubernetes, what I'm proposing has interesting implications about how this feature would need to be implemented.
Local - could just use docker python bindings - no fuss
Docker - dind + docker python bindings should work
Podman/etc. - ?
Kubernetes - Service account + kubernetes python bindings to create/destroy pods should work

Agreed on the need to provide the code isolation from host. I also am not comfortable with the current direct execution :). I was already leaning towards docker as it helps both from perspective of isolation from host and also for future support for other languages. I'll need to dig a bit more on the dind and see the pros/cons.
Good idea on also having an admin toggle to disable it. Will also track that.

Love this suggestion! I'll take a look and see how this could be safely implemented soon!

@tjbck We can leverage Piston https://github.com/engineer-man/piston for running code in an isolated manner. It's already used in various projects, supports multiple languages, has a straight forward API.
I updated the prototype to use that (main code here). How I anticipate the complete solution can be done is

With the Open-WebUI docker, also run the Piston docker where its API is hosted
Make sure the open-webui docker can access the piston API running in its own docker container
Have a mapping of supported languages and corresponding version
When user tries to execute code block, detect language and make sure correct runtime is installed
Piston takes care of executing and we returning back its results back to open-webui

How about supporting sandboxed executions on cloud providers like Modal?
This way we can put security concerns away and work on the actual code execution feature first, then implement the sandbox locally later.

Next to python, it would be nice to support SQL. I think it will be very useful to many people.

Nice work, I am compiling together research notes on this discussion item and further defining the roadmap for this epic.
https://github.com/open-webui/open-webui/discussions/1629

Next to python, it would be nice to support SQL. I think it will be very useful to many people.

Please provide more information on how you would like / expect this to function.
Also what limitations can you think of?

really need this feature lol

Partially implemented with 0.1.125.

Hello, have you tried adding E2B for code execution?
It runs code in isolated sandboxes (full VM environment) in the cloud, it's open-source and has also special SDK for code interpreter use cases.
It also supports any LLM and here are some open-source examples of how it is used: https://github.com/e2b-dev/e2b-cookbook.

Hello, have you tried adding E2B for code execution?
It runs code in isolated sandboxes (full VM environment) in the cloud, it's open-source and has also special SDK for code interpreter use cases.
It also supports any LLM and here are some open-source examples of how it is used: https://github.com/e2b-dev/e2b-cookbook.

Setting the infrastructure up yourself for self-hosting is currently not possible. They use Terraform to deploy the infrastructure and according to their documentation, "right now it is deployable on GCP only". (1)
Therefore, I tend towards the solution proposed by @zabirauf in this comment.

I just tested the last version and it is very promising. Including the possibility to plot graphs! Wonderful!
I have a question though. And it may be difficult from the point of view of architecture. But I'd love the capacity to interact with the uploaded file.
Let me exemplify, I would like to upload a CSV file and prompt python to read it in panda, manipulate it and plot it. Ultimately, I would love open-webui to be able to act as the data-science feature of GPT4 while keeping my data private.
Is that doable in a forseable future?
Thanks for the job already done.

@cyrpaut Pipelines is the solution for that, write a "Code Interpreter" pipeline: https://github.com/open-webui/pipelines

Let's see a Pipelines x E2B integration then @tizkovatereza 🤘

I have implemented an Open WebUI function for Python and Bash code block execution. It uses gVisor for sandboxing.

You can install it here.

I have implemented an Open WebUI function for Python and Bash code block execution. It uses gVisor for sandboxing.

You can install it here.

So, I created a code with a function to export to a file from an AI response. After running the code and getting a successful response, I can't find or locate the file. Where can I find the file that has been successfully saved?

@sultanjulyan In general, for discussion about this tool, please open issues on the tool's repository rather than in this bug.
But to answer your question: The code runs in a sandbox, so all traces of its execution are gone as soon as the code finishes running. So this file no longer exists anywhere. However, it would be quite cool if code that produces files would let you download these files from the chat UI. That seems like a good feature request for Open WebUI to support, worth filing a new feature request about.

I have implemented an Open WebUI function for Python and Bash code block execution. It uses gVisor for sandboxing.我已经实现了用于 Python 和 Bash 代码块执行的 Open WebUI 函数。它使用gVisor进行沙箱。

You can install it here.

如何将数据文件传送到沙箱准备执行？


Moderators should be exempt from file upload restrictions in the mods channel

Overview
When moderators are chatting in the #mods channel, they are blocked from uploading files outside of the accepted extensions. Occasionally we have good reasons for uploading PDFs or other types of documents.
Expected Behaviour
Moderators are exempted from file upload restrictions in the #mods channel
Actual Behaviour
Please descripbe how this fucntionality is actually working:

Should the exception be based on role, channel or both?

I'd advocate for channel. We had the same request for Verified members with #180 and it closed without implementation. If it's truly for just moderation activities, a channel list might be appropriate.
i.e. #mods, #verified, and #member-notes

yea, i can see an argument for it being scoped to roles as well, but I don't think any of us are really the type to send PDFs when teaching people something. we'd likely just link to the pdf online

Cool, let's leave it at channels for now. Makes sense.


Extract breaks when upgrading to TypeScript 5.1

Bug Report
Some of my code using Extract stopped working when I upgraded from 5.0 to 5.1. This may be related to https://github.com/microsoft/TypeScript/issues/54676. I didn't see anything in the release announcement to suggest that this might happen.
🔎 Search Terms
Extract, TypeScript 5.1, discriminated union
🕗 Version & Regression Information

This changed between versions 5.0.4 and 5.1.3

⏯ Playground Link
https://typescript-eslint.io/play/#ts=5.1.3&sourceType=module&code=C4TwDgpgBAglC8UDeAoKVSQFxQEQ1wG40oA3AQwBsBXCHAZ2ACcBLAOwHNiBfYlTaACEEyEgJy5BREhRp0obagFsARhCY8+AqAFkI9euQ7REcAD5RBfCAA8wAeybAoAM2psAxsBb22UABbkbAAmlBAAPDpQtsAQIfS6+obGAHwAFB5UlCrkHgDW9Dio6ADaANJQ7LoluAK4ALr1OGlK9Bw4AKI2zLnAkQA0yBjg8hXcKTWytA0AlAgpUO55bPYA7mw8c8VQq+zBawB05MHBHaRxwAAyLIxx6mm4SklGELiDaRDnbMBz8Avb6A8vkYUFaHBEnwuB2C5GA5Cg5ASOmI6EBWRy+XoJTBB20iKgeQgIHsLmGkBJUEylGyuQK9RabQOUwgMxRUG4rJQ3BQQA&eslintrc=N4KABGBEBOCuA2BTAzpAXGYBfEWg&tsconfig=N4KABGBEDGD2C2AHAlgGwKYCcDyiAuysAdgM6QBcYoEEkJemy0eAcgK6qoDCAFutAGsylBm3TgwAXxCSgA
💻 Code

type A = {
  type: "A";
  value: string;
};

type B = {
  type: "B";
  value: number;
};

type Message = A | B;

export function handle<M extends Message>(callbacks: {
  [K in M["type"]]: (msg: Extract<M, {type: K}>["value"]) => unknown;
}) {
  window.addEventListener("message", (event) => {
    const msg = event.data as M;
    callbacks[msg.type as keyof typeof callbacks](msg.value);
  });
}

🙁 Actual behavior
In TypeScript 5.0, this code works. In TypeScript 5.1, it complains about msg.value, with the error
Argument of type 'string | number' is not assignable to parameter of type 'Extract<M, { type: M["type"]; }>["value"]'.
  Type 'string' is not assignable to type 'Extract<M, { type: M["type"]; }>["value"]'.
    Type 'string' is not assignable to type 'never'.ts(2345)

🙂 Expected behavior
Code should work as it did in 5.0.4. If this is now intended behavior, I would like to know how to fix my code.

Bisects to #53098.
@ahejlsberg

As a workaround you can use this:
export function handle<M extends Message>(callbacks: {
-  [K in M["type"]]: (msg: Extract<M, { type: K }>["value"]) => unknown;
+  [K in M["type"]]: (msg: (M & { type: K })["value"]) => unknown;
}) {
  window.addEventListener("message", (event) => {
    const msg = event.data as M;
    callbacks[msg.type as keyof typeof callbacks](msg.value);
  });
}

I think the new behavior is defensible. The old behavior was too permissive and would for example allow
callbacks[msg.type as keyof typeof callbacks](42);
callbacks[msg.type as keyof typeof callbacks]("hello");

even though one or the other must be wrong.
I think this is an instance of the pattern that was addressed in #47109. I'd suggest rewriting the example to
type MessageMap = {
  A: string,
  B: number
}

type Message<K extends keyof MessageMap> = { type: K, value: MessageMap[K] };
type Callbacks<K extends keyof MessageMap> = { [P in K]: (value: MessageMap[P]) => unknown };

export function handle<K extends keyof MessageMap>(callbacks: Callbacks<K>) {
  window.addEventListener("message", (event) => {
    const msg = event.data as Message<K>;
    callbacks[msg.type](msg.value);
  });
}

It kinda means that the workaround that I suggested here is broken, right? I mean, if this Extract-based solution is considered to be flawed (I understand the argument behind it) then the intersection variant should really be treated the same way.


Wrong lastest update 1.3.22

I download version 1.3.23 from GitHub release pages.
After install, the app says has a new update and preparing. Then, I jump to 1.3.22 again. WTF.
EDITED: I using graphql-playground-electron-1.3.23-mac.zip
This issue pertains to the following package(s):

[x] GraphQL Playground - Electron App
[ ] GraphQL Playground HTML
[ ] GraphQL Playground
[ ] GraphQL Playground Express Middleware
[ ] GraphQL Playground Hapi Middleware
[ ] GraphQL Playground Koa Middleware
[ ] GraphQL Playground Lambda Middleware

What OS and OS version are you experiencing the issue(s) on?
What version of graphql-playground(-electron/-middleware) are you experiencing the issue(s) on?
What is the expected behavior?
What is the actual behavior?
What steps may we take to reproduce the behavior?
Please provide a gif or image of the issue for a quicker response/fix.

Just confirming that this happens to me as well.
Steps to reproduce:

Download the latest stable version (1.4.4 in my case)
Set betaUpdates in the settings to true
Restart the app and check for updates
The latest beta version is downloaded and replace the latest stable version


Increment version to 2.1

Manual testing:

[ ] Ubuntu: @stellatsv
[x] Windows: @jaakkonarhi
[ ] Mac: @nikke234

Manual test

Date
2021-03-25

Operating system
Windows 10 Education 1909

IDEA version
2020.3.1 CE

Plugin version
2.1 (pre-release)

Tester
Jaakko

Note
-

When the software doesn't comply with the testing manual...

...it is marked with...
...if the reason for the incompliance is that...

FAILED!!!
there's a bug in the software.

REMARK.
the software should (perhaps) be changed.

normal
the testing manual should be changed.

Notes

4.21 The label is Loading... while it's loading
5.17 FAILED!!! It doesn't get unhighlighted when clicking in some parts of the IDE
10.2 The submission appeared when it reloaded automatically

Manual test

Date
2021-03-25

Operating system
Ubuntu 20.04.2 LTS

IDEA version
2020.3.3 CE

Plugin version
2.1 (pre-release)

Tester
Stella

Note
-

When the software doesn't comply with the testing manual...

...it is marked with...
...if the reason for the incompliance is that...

FAILED!!!
there's a bug in the software.

REMARK.
the software should (perhaps) be changed.

normal
the testing manual should be changed.

Notes

REMARK. 5.16 If I click on the area in the middle which now displays "Search Everywhere Double+Shift etc." the letters remain visible. Same if I click on one of the top toolbars.
6.1 Update instructions about opening REPL
8.5 Screenshot is outdated
9.1 Screenshot is outdated.
9.7 Mention the new hourglass icon.
11.5 The button's description now says "Open In Browser"
12.6 It should say "Non-submittable assignments are still invisible"

This is what I have so far by following the testing manual. I still need to run the UI tests which I will do later tonight.

Manual test

Date
2021-03-26

Operating system
macOS Mojave

IDEA version
2020.3.2 CE

Plugin version
2.1 (pre-release)

Tester
Pawel

Note

When the software doesn't comply with the testing manual...

...it is marked with...
...if the reason for the incompliance is that...

FAILED!!!
there's a bug in the software.

REMARK.
the software should (perhaps) be changed.

normal
the testing manual should be changed.

Notes

5.16 Change the operation to "Press Escape"
6.7 Figure out some other command that does not spawn a window (has minimal side effects)


Missing device configuration: Fakro AMZ Solar / Device ID 0x0085-0x0005-0x0112

Checklist

[X] It is not in the configuration DB

[X] It was not merged recently or has a pending PR

Which device is missing?
FAKRO AMZ Solar
Manufacturer ID
0x0085
Product Type
0x0005
Product ID
0x0112
Firmware Version
3.1
Is the device listed on the Z-Wave Alliance website?
https://products.z-wavealliance.org/products/2627
Do you have a manual?
Note: the configuration exist already but for Product ID 0x0002
https://devices.zwave-js.io/?jumpTo=0x0085:0x0005:0x0002:0.0
This configuration is working also for Product ID 0x0112

@zwave-js-bot add fingerprint 0x0005:0x0112 to 0x0085:0x0005:0x0002:0.0


7 Segment display lacks negative sign element.

As you can see in the image below the negative number appears quite positive on the 7 segment display:

With all the number being signed 32bit values I think the 7 segment display should have a negative sign element showing up with negative numbers.
Awesome mod and thanks for all the work ;)
EDIT: I discovered the signed decimal encoding option but that seems even less useful:

The unsigned decimal encoding (default) displays the 4 four least significant digits and ignores the sign as well as all higher digits. But it outputs the value divided by 10 000 so those can be displayed on another display to the left *.
The signed decimal encoding can only display numbers in range -1999 ... +1999. Numbers outside that range will display as overflow +1___ or underflow -1___.
To display large signed numbers, the leftmost display (last in the chain) should be signed and all the other ones unsigned.
*: In case the number is negative and rounds up to 0 after division by 10 000, it actually emits as -2^31 which is used to represent negative zero so the last (signed) display in the chain will correctly show the negative sign.

Ah wow ... alright that works but that wasn't super obvious (I also think its undocumented). Wouldn't it be an idea to make the default mode support sign by out of the box?
Thanks ;)

I could swap the signed one to be default and name the unsigned one "extender" instead.
The problem is that these displays need to behave in a way that they show correctly without having any way of knowing, where they are placed within a potential chain of displays so options for versatility are a bit limited.


Think of a name for the game

Bonus points if it matches the C.C. teamname

@Foknetics @missingfragment How about "Climate Clicker"?

"Climate Clicker" approved ^_^


Add --allow-dirty to command hint at end of init

This commit modifies the command hint cargo shuttle deploy that appears at the end of cargo shuttle init so that it includes the --allow-dirty flag.
Without this flag, cargo shuttle will fail every time a newbie tries to init a new project because shuttle adds files to the project but doesn't commit them to git. Shuttle then notices that there are uncommitted files, and doesn't allow the newbie to deploy the project without specifically allowing the dirty files. This is a bit of a bad experience, because the newbie is just following instructions but also being told that those instructions were wrong.
This PR is a bit of a nit-pick, so feel free to close!

Thanks!


first time I open the app I get and unable to load screen

after not using the app for a few hours I open it, get the spinner on the home screen and then get the unable to load screen. After tapping the refresh button I get new content. Can we just save/store where the user was last?

Might be related to https://github.com/artsy/emission/issues/317

Interesting, it appears that there does exist internal hooks for Relay to maybe make offline caching work https://github.com/facebook/relay/issues/1030, I could take a stab at writing a native component for that.

Going to punt on this for now.

Aye, probably worth waiting till Relay 2.0


Not sure if this is possible

When using .Players and adding a track using multiPlayer.add.  How can I get the percentage of the track being loaded from 0%-100%

under the hood samples are loaded with the fetch API which does not provide any progress indication, so it's not currently possible

Lets say you have 5 tracks in a JSON object.  Can you add a loading then loaded after that once each track is loaded.  Keep it simple for now.  Just getting some ideas how to tackle this


Add ClusterRole to get, list and watch "awssqssources", "camelsources", "kafkasources" and "githubsources"

Expected Behavior
Add ClusterRole to get, list and watch "awssqssources", "camelsources", "kafkasources" and "githubsources"
Actual Behavior
In PR knative/eventing#1849, we added ClusterRole to get, list and watch  "awssqssources", "camelsources", "kafkasources" and "githubsources" in config/200-source-resolvers-clusterrole.yaml.
This is a temporary solution. Such ClusterRole should eventually be moved to config directories in https://github.com/google/eventing-contrib.
Steps to Reproduce the Problem

Additional Info

/assign @capri-xiyue


new release (0.2.6) snark-worker sometimes stop

Program version:                3.0.2
Operating system:               Linux
Operating system name:     Ubuntu
Operating system version:  18.04
Kernel version:                    4.15.0
Hardware platform:            x86_64
coda version:                      Commit [DIRTY]5c08d6d51111d31269e77f3c62a544b3262ee4c8 on branch HEAD
Sync status:                         Synced
SNARK worker:                    B62qr6Ef4JtL5uAfLx51usxRSGMBPtFhYjYYihbh3rWRW6ZvmURjcEH
SNARK work fee:                 500000000
processor:                           8vCPU
model name:                      Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz
cpu MHz:                            2199.996
cache size:                          16384 KB
                 total            used            free            shared   buff/cache   available

Mem:           30875040    21553928    4580596     1040      4740516      10399360
Swap:           2097148      114484        1982664
du -sh:                              1.8G
Capasity:                           800GB SSD
daemon.json:                    not configure
crontab -e:                        send tx every 15 min
Block producers running: 1 (B62qr6Ef4JtL5uAfLx51usxRSGMBPtFhYjYYihbh3rWRW6ZvmURjcEH)
Speedtest by Ookla:
Latency:     0.40 ms   (0.24 ms jitter)

Download:   526.41 Mbps (data used: 442.5 MB)
Upload:   558.99 Mbps (data used: 279.4 MB)
Packet Loss:     0.0%
Connecting Doc:              https://minaprotocol.com/docs/connecting
Connected using:            systemd
-super-catchup:               enable
ufw:                                  enable
ufw allow:                        value based on Hackerone notes
ufw deny out:                  value based on Hackerone notes
issue:                               sometimes everytime i check the terminal, the snark-worker stop, and it makes me to setting it up again

Closing this issue as it is stale for a long time.


Make data_path nullable

Making data_path nullable will allow us to add it to a runbook without specifying a default value.

@LiliDeng LGTM


There should be an easy way to compute expectation values for operators

What should we add?
Currently there is no way good way to compute expectation values in Qiskit.  The StateVector and DensityMatrix objects in quantum_info have expectation_value methods, but there is no general way to do this.
In general expectation values are defined with respect to the operator in question and not the state.  To quote Sakurai:

We define the expectation value of $A$ taken with respect to $|a\rangle$

So it makes sense to have the operator as the primary object, and having a method by which one can pass Counts, QuasiDistribution or the like and obtain the desired value.  Obtaining these values requires the bit-string representation to be available via those objects efficiently.
There is no unique way to define operators in Qiskit, eg there is are Pauli and PauliOp.  So not even sure what flavor of operator is primary to Qiskit as well.

In my opinion, the opflow module is quite useful. You define your operator and then sampler of any QuantumInstance (statevector, QASM, noise, etc), then you get your measurement results.

It's certainly true that referring to the expectation value of an observable (often without reference to the state) is common. But, I don't agree that it's the only useful way to discuss the average value of the measurement of a particular observable on a system in a particular state.
In their book, Nielsen and Chuang do not use the term expectation value. They use "average" or "expected value" when discussing both classical and quantum systems as well as probability theory. They do introduce the notation $\langle A \rangle$. Doing a quick search, I find only one place (pg 116) where they use this notation. In fact, they go out of their way to say "the average value for these observables, written in the quantum mechanical $\langle \cdot \rangle$ notation, are:".  And in this case it's clear that this is because it makes the expression for the CHSH inequality more clear.
In Qiskit, we do frequently use expectation value. Regardless of the term we use for it, we have to decide whether it belongs to the state or the operator. But that's because Sapir-Whorf applies here. Our world view is so constrained by class-based OO languages that we tend to project the constraints from the programming language onto the subject domain.
But there is a way out! There are several multiple-dispatch libraries available for Python. Multiple-dispatch is well suited to mathematical and scientific domains. The problem at hand is a good example.
We would define a function expectation that is not a method that belongs to any class.
Several methods would be defined for expectation (in general in different files) like this
@dispatch(PauliOp, StateVector)
def expectation(op, state):
...

@dispatch(PauliOp, DensityMatrix)
def expectation(op, state):
...

@dispatch(PauliOp, QuasiDistribution)
def expectation(op, state):
...

@dispatch(Operator, DensityMatrix)
def expectation(op, state):
...

The consumer would use them like this:
from qiskit.quantum_info import expectation

op = ...
state = ...
expectation(op, state)

@jlapeyre  Hmm, I think expectation value and average mean the same thing here.  I guess your advocating for less physics orientated terminology?  Even the Mike and Ike quote above does talk about the "average value" as corresponding to the operators and not of the states.  This is to be expected as the operator is the thing that tells you what you are measuring (assuming a Hermitian operator) and not the state.
I am not sure Sapir-Whorf is really applicable as mathematics is the universal language we should be using.  I think it is more a question of how to accomplish the exact same task.  I am advocating we follow the mathematical way, in particular notation wise where things are written $\langle O \rangle$, $\mathbb{E}[O]$, etc, and treat the operator as the primary object and not the state.  Although I to have fallen into the state first notation, eg. see #7822.
The state first approach is easy to fall into because Qiskit is built around circuits.  Now circuits are just evolution operators, but in practice we often assume that they start from the ground state and thus equate them with producing statevectors.  So states, or finite sampling distributions obtained from those states, are primary in the eyes of much of Qiskit as well.  So perhaps states is the way to go, and what I am advocating for is something that exists on a level above Qiskit Terra and which calls expectation values using states as the primary object.  Regardless, this is a big gap in the Qiskit core functionality, and is something that should be added regardless of the implementation details

@nonhermitian, I suppose I do favor the less physics-y terminology for QI and QC. Sakurai and other texts of that period made a conscious break with earlier presentations, such as omitting a long section on the development of QM. I think Mike and Ike did a good job of adapting the presentation of the material to a new context. But, I'm not advocating purifying the Qiskit documentation to use only one approach. Mostly, I'm arguing that none of these different approaches to presentation and notation are right or wrong in the sense that math can be right or wrong.
In some physics writing, and more so in math, you find things like $\langle O \rangle_\phi$ and $\mathbb{E}_p[O]$ as the fundamental notation, with the state or measure omitted if it is clear from the context. (For example the wikipedia article uses this notation.)
Since I'm appealing to authorities, I'll mention that Mark Wilde's book has

It is common for physicists to denote the expectation as $\langle Z \rangle \equiv \langle \psi |  Z | \psi \rangle$ when it is understood that the expectation is with respect to the state $|\psi\rangle$.

In any case, I'd argue that a reasonable way to use math notation to present the expected value (for pure states) with the standard physics notation (provided $\langle \phi | A | \psi \rangle$ is already defined) is:

Let $X$ be a complex Euclidean space and ${\cal H}(X)$ the Hermitian operators on this space. The expected value is a function
$$\langle \cdot \rangle_\cdot : {\cal H}(X) \times X \rightarrow \mathbb{R}; (O, |\phi\rangle) \mapsto \langle O \rangle_\phi $$
given by $\langle O \rangle_\phi = \langle \phi | O | \phi \rangle$.

The main point is that the operator, the state, and the resulting value enter on equal footing, just as with any other map that maps two values to one value.
Mentioning Sapir-Whorf is probable an overstatement; I just meant that  a class-based-OO (CBOO) approach is so dominant that we don't imagine other options. Or at least we'd say "Since we have a big software project that is already committed to a CBOO approach, we have to decide whether expectation value belongs to our operator classes or our state classes." Of course, you could do both, but that would be confusing.
In any case, you have been bringing up practical needs in several issues. If one solution ruins our abstractions, we should find another. As I said above, I think making mathematical operations belong to one object in an expression is forcing CBOO thinking on a problem that does not naturally have this structure. It doesn't really naturally have a multiple-dispatch structure either. But, I think MD is a much better fit. It does add another dependency, but it is pure python and quite light. I'm not 100% sure about how perfect it is for this situation, I'd have to look at details. But, I'd be willing to make a trial PR. (I made a PR in the past, putting MD in several places, just to show what it looks like.)

The consumer would use them like this:
from qiskit.quantum_info import expectation

op = ...
state = ...
expectation(op, state)

@jlapeyre I think I understand what you mean now and this is also what I prefer to think, expectation as a method that works together with state and operator. In practice, I usually go by using CircuitSampler to convert an expectation operator to expectation values, where the expectation operator is built by composing the initial state and the ansatz. So, in a way, the workflow is similar to what you described above.
From a physics perspective, the expectation value, $\braket{\psi|\hat{O}|\psi}$, is always on the quantum state itself, i.e., $\ket{\psi}$, be it omitted or not. So I think it is fine that functions like "Statevector" and "DensityMatrix" have those convenient functions that take an operator to compute expectation values, which is helpful for directly manipulating your simulation results. Though from a software design point of view, it might be a different story.

I do not think the operator and the state are on the same footing exactly.  Namely it is the operator that determines much of the physical properties of the expectation value.  The most obvious of course is the Hermitian structure, or lack thereof, determines whether the expectation value corresponds to a physical observable or not.  The state has no such bearing on that.
From a programmatic viewpoint, the operator instance makes more sense as the place to put a method.  For example, Qiskit has Pauli, PauliOp , PauliSumOp etc etc, and each would have its expectation value computed differently.  If this was done in the distributions then it would have to know about all these types, and dispatch appropriately.  In contrast, each operator type can carry around its own definition in its expval method.

I am also not a big fan of the expectation(op, state) way of doing things as it is a very Matlab way of doing things and does not leverage the OO nature of Python.

I believe that Estimator in Primitives provides the unified interface. But we can have another approach for quantum_info.
First, Operator class cannot have expval methods because it introduces cyclic dependency. (Many deprecations of methods in states are necessary...)
States and observables are the dual concept. There are no priority. so I vote expectation function John proposed.
(Either MD would be fine. I think you would say it isn't clean, but we could branch out with isinstance in the fuction.)

I thought the purpose was to calculate the expectation value in this issue (but I found it was wrong...). Also, in discussion there are two types of expectation values. (we are confusing.) One is the quantum expectation $<\psi |A \psi>$ that John and I are talking about, and the other is the Z-diagonal expectation (in a sense, the classical expectation) that is calculated from the probability distribution you mention.
If you are arguing that a method to calculate the classical expectation is needed for Counts or Probability, I completely agree.
The point you don't understand comes from the difference in expectations as described above, and I mistakenly thought we were talking about quantum expectations. My apologies.

We are considering adding a DiagonalOperator class to quantum_info for the next release. For classical expectation, I think it is sufficient to support SparsePauliOp and DiagonalOperator. Other operator classes can be easily converted to them.

@ikkoham , I'm not sure that @nonhermitian was only concerned with computing expectations of things like Counts, although that was emphasized as a pain point. I was reading this as arguing first that the operators are the natural place to put a method for expected value. And an important case is when the state is Counts, etc.
I don't see a large distinction between what you call classical and quantum expectations. If you assign a number $-1^{n_1}$ to each bitstring where $n_1$ is the number of 1s in a bitstring, and average them, you have computed the value of $Z\otimes\ldots\otimes Z$ on the state from which the counts were collected, right? We may want to organize this in software differently than  other expectation values. But, it's still the expectation value of a quantum state.
But, people have also mentioned in other issues (https://github.com/Qiskit/qiskit-terra/issues/7822) the following:

Counts are not documented as being the result of a Z measurement. In principle a backend could support other bases. In fact, we could do the same in software. Provide an abstraction saying that we want to measure in the $X$ basis, then insert a layer of $H$, then collect counts. And we could tag the the resulting data structure by the basis it was measured in.
Since the phase information is no longer in the counts (or quasiprobability), you can only have I and Z in your measurement string.

I suppose we could offer a method that computes the expectation with $IAIBCII$, etc. where $A,B,C\ldots$ are not specified, but the user understands that they correspond to whatever measurement basis was used. The input would just be the positions without a I. If I understand correctly, this is the most general expectation you can compute from the probabilities and the implementation doesn't depend on the measurement basis. But the semantics of method are that it computes the (partial) expectation value in whatever basis you measured in. It seems that a method for this operation must belong to Counts and not to the observable.
When to use MD: If it is just a few if isinstance here and there, it's not worth the trouble. But, I think there is the possibility to find a situation where it really removes some complexity. This may or may not meet the bar. In particular, on a PL level, the semantics of the expectation value are rather different between: 1) That outlined above (for Counts) , and 2) that of the expectation given an explicit numeric matrix and vector representing an observable and state. Enough so, that trying to fit them into the same generic function might be stretching the meaning of that function too much.

The Estimator doesn't actually provide a unified interface. If all someone wanted was expectation values then yes. But what if I want to compute expectation values and also plot the distribution that generated that value, or compute the fidelity with the distribution? Then I need to drop down to the Sampler and then I am back to needing an expectation value routine.

Estimator was specifically created to return expectation values. If the concern is it doesn't give you the distribution, can't we just add that to the estimator result?

If I understand what's asked for here, I think Estimator is probably not the right tool. The documentation and implementation require that the observables be represented by lists of circuits and those circuits are required to have parameters. (They don't really require parameters, but in this case you are required to pass an empty list of values when calling). Estimator looks convenient for wrapping a lot of workflows that come up in algorithms.
I'm thinking of a simple, uniform, interface that takes something representing an observable and something representing a state and returns the expectation value.

I would also say that Qiskit is about more than the Runtime.  Other hardware vendors might not implement the Runtime interfaces, and anyway the base implementations are statevector only.  Thus one still needs the expectation values from counts functionality somewhere if the reference implementations are modified to work with counts.
The Estimator could return counts, but then one could ask why do I need the Sampler?  You also get into situations where I run readout mitigation, but cannot return the quasi-distribution.  So one has to return the original.  But then for parity reasons one should probably return the original distribution in the Sampler as well.   And then people will complain about the data sizes being too large, etc etc.  So taken as a whole, it seems like a lot of round-a-bout to avoid making a method whose functionality we already know how to code up, but have not done so to date.

My point was can't we improve qiskit-terra's implementation of Estimator to be the "simple, uniform interface" that we want? Qiskit is about more than Runtime, but the primitive interfaces live in qiskit-terra.  If there is a presumably better method for doing that, then why do we need Estimator in terra? And doesn't this mean I'll need to learn a new interface when trying to do the same thing on ibm or other third party hardware?

So yeah when improving the Estimator your going to end up writing something like counts.expectation_value and then the request of this Issue is fulfilled, and others outside of Runtime can use it as well.  But perhaps expanding the Runtime base implementations is the motivation for doing so.

My point was can't we improve qiskit-terra's implementation of Estimator to be the "simple, uniform interface" that we want?

I don't think so. Not in the sense that I meant. By itself, the phrase I used: "simple, uniform interface" is not precise enough to understand what I meant. Here is a bit more detail...
I was not involved in the design of the primitives. But, looking at Estimator, it seems to be a high-level, generic tool for handling complexity in implementing high-level (not just one circuit) algorithms. In particular, hybrid quantum-classical algorithms. To me, it looks like a good attempt at "finding the right abstraction". It has a clear purpose that is (probably) very widely applicable. And the implementation (at least here, with Statevector) is simple. We'll see how this plays out when using it in several algorithms.
But, what I'm thinking about here (and I think it overlaps substantially with what @nonhermitian is talking about) is a lower-level abstraction. Perhaps something that would be used inside implementations of primitives.
It is possible to modify Estimator to do low-level expectation calculations. But, this would introduce complexity at the conceptual as well as the coding level: It would muddy the intended abstraction, and add significantly more branchy code.

I pushed a branch implementing (some) methods for expectation_value using multiple dispatch.
Following is an example script that calls these methods:
import numpy as np

from qiskit.quantum_info.states import Statevector
from qiskit.quantum_info.operators import Pauli
from qiskit.quantum_info import expectation_value

diagop = Pauli('ZZ')
oneop = Pauli('Z')

state = Statevector([1, 2, 2, 1])
state = state / np.linalg.norm(state.data)

cs = state.sample_counts(10000)

# Compute expectation of ZZ operator on state
print(expectation_value(diagop, state))

# Explicitly specify all qubits
print(expectation_value(diagop, state, range(len(diagop))))

# Explicitly specify only first qubit
print(expectation_value(oneop, state, [0]))

# Compute expectation value from counts, using all qubits
print(expectation_value(cs))

# Explicitly specify all qubits
# Note, I probably will use a different interface here. Best is probably
# following exactly how qargs works above.
print(expectation_value(cs, '11'))

# Explicitly specify only first qubit
print(expectation_value(cs, '10'))

In addition to aiding in designing a uniform API, the complexity and repetition in the code can be reduced with MD.
As an example the benefit of using multiple dispatch in this mathematical setting. This branch implements expectation_value for both Statevector and DensityMatrix in a single method, rather than two. Furthermore, all details of the structure of the operator are hidden in this method. Note that some, but not all, of this can be done with single dispatch; for example with class methods. In any case, I find that the design style with MD encourages the factoring of code shown above.

This is done


Incorrect query results in dev

Not happening in prod.

The ring in dev is completely screwed:

Ring seemed to break on 5th May at ~16:30:

These were the changes deployed around that time - 105841ece is related to this area:
commit a1f9806251ad677920646cb0f9e2a60398191253
Author: Tom Wilkie<EMAIL_ADDRESS>Date:   Tue May 30 17:22:04 2017 +0100

    {Extract,Inject}OrgID, not UserID. (#450)

commit c1453af108de57e8958f513c6678ab5874312ea2
Author: Tom Wilkie<EMAIL_ADDRESS>Date:   Tue May 30 16:16:18 2017 +0100

    Update weaveworks/common to get new httpgrp error handling. (#447)

    * Update weaveworks/common to get new httpgrp error handling.

    * s/user.{Inject,Extract}(FromHTTPRequest)/user.{Inject,Extract}UserID(FromHTTPRequest)/

commit 105841ece8c82e8788ceecd0dca6552d7fdd679f
Author: Tom Wilkie<EMAIL_ADDRESS>Date:   Tue May 30 15:19:22 2017 +0100

    Don't flush chunks after a successful transfer (#449)

    * Don't flush chunks after a successful transfer

    * Add log message for successful chunk transfer.

    * Remove old log line.

Pretty hard to figure out what happened, but it does appear some ingesters got transfer requests whilst they themselves were joining
This is for ingester-1269235122-w5mq1:
time="2017-05-30T15:27:21Z" level=info msg="Changing ingester state from JOINING -> ACTIVE" source="ingester_lifecycle.go:314"
time="2017-05-30T15:27:16Z" level=warning msg="GET /ready (500) 102.49?s"
time="2017-05-30T15:27:08Z" level=info msg="Processing TransferChunks request from ingester '%!s(MISSING)'." source="ingester_claim.go:58"
time="2017-05-30T15:27:08Z" level=info msg="Changing ingester state from PENDING -> JOINING" source="ingester_lifecycle.go:314"

This would also explain the blip of "cannot find enough ingesters to write to" we had previously.

I think this can be explained by the lack of user id on the transfer chunks requests, which has been fixed.  Just need to figure out how to get back to a health situation.

Deleting the offending pods with --grace-period=0 (so they don't have a chance to try and transfer chunks) seems to fix the problem.


Reduce Image Size - Alpine Linux, update apk

Hi,
are there any plans to use optimize the image size?
We where using iojs image and a customer complained about the image with more than 700 MB, and suggested iojs-slim. The result was still 300 MB - including spm-agent-docker.
After using this as base:
FROM alpine:edge
RUN echo "http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories
RUN apk update
RUN apk add --update iojs
RUN apk add --update git

RUN apk update
RUN apk upgrade
RUN rm -rf /var/cache/apk/*

the image size for spm-agent-docker had a final size of 123 MB.
But here is my concern:

how to ensure that there is the latest io.js available as .apk package?

In any case I would like to see a tiny, offical iojs base image.
Thanks
Stefan

Hi @megastef, yes the current image is not as slim as it could be. There is a lengthy disucssion in issue #44 regarding the possibility to provide a bussybox/alpine linux image which would be much smaller than the one currently available. The difficulty is to maintain the integrity of the Docker Image since this would be considered an official distribution of Node.JS / io.js. We also need to make sure that the Node.JS / io.js test suite does not fail on a Alpine Linux container.

@megastef You can use https://github.com/mhart/alpine-node

I was also surprised when I saw the size of the official images.
~700MB for running node is... wrong.
Fortunately I found @mhart 's nice alpine-linux node containers, which are MUCH smaller ( ~35MB or 5% ! ) , and I'm using those for everything.
So my question was, how come a container that's 5% the size of another one, do practically the same thing ( for someone that wants to run node on it )
@brianredbeard, gave a detailed and enlightening answer to my question https://www.youtube.com/watch?v=gMpldbcMHuI
So maybe we should start an effort to maintain an image that ONLY runs node and not unnecessary things... ?

@AntouanK:
A lot of work has gone into this. And that effort is underway: https://github.com/nodejs/docker-iojs/issues/44 (the maintainer of alpine-node image you use is in that discussion)
Right now, if you inspect the image layers for iojs:latest (using docker history iojs:latest), you will see that:

34.6MB - Installing node.js iteslf
26.45kb - Downloading the gpg keys

The rest of the 605.5MB is buildpack-deps:jessie which itself depends on debian:jessie. These two images are the base of nearly every other official base image on the Docker Registry.
What are the implications of this? The typical usecase for docker is running multiple containers from multiple images on a single host.
When downloading these dependencies over the network, they all share the same core image where most of the important shared libraries and system utilities exist. This allows them to take advantage of that environment but ownly download that large 605.5MB base image once.
You will notice that, in an environment where you are running more than just a single image, that the on-disk size and over the network size of minimal images which only pull in exactly what they need to run actually ends up being much larger because they aren't able to share that nice base image.
The alpine linux images we are working on will be for the specific usecase where you are on a host that will only be running node/iojs. In this case, the shared base image isn't really helpful.

@wblankenship Glad to hear you are working on this.
I do know that the "fs layers" are reused.
But why do we need that debian one in the first place ( apart from "it's convenient" )? Just because a lot of other images are based on it? Doesn't sound like a good enough reason to me.
I thought that those 600MB have things that you need in order to run node.
I did the same exact process for building my raspberry pi io.js image (docker history antouank/rpi-iojs:3.1.0 it's based on resin/rpi-raspbian:wheezy ). But mostly because I didn't know how to start and build a smaller one.
Building your own image from "scratch" will give you much more control over it and make it efficient for every user I believe.
Hope you will get those official alpine images up soon. :+1:
PS
Maybe we should include a raspberry pi in the official ones?

Some companies want to use Node.js but there are concerns about security. Own images need some sort of trust between devs and that is ok for low/middle size open source projects, but large OS projects and companies need more levels of trust, thats why debian/ubuntu even fedora/rhel images are used as base, those images are reviewed for more eyes and have more users that could discover some issues very quick.
I could resume on two things.

If you need efficiency for your own project, that will be a good to have for you.
If you need broad usage for other projects and other people (and business), that will be a good to have for Node.js organization.

I agree that for raspberries and custom projects there is a need for a very light images but official images need to be trustworthy for anyone else.
Glad that using docker repo we can share any effort on both fronts: efficiency AND broad usage :-D

@cronopio Well, I think using less 3rd party software increases security, and not the opposite.

@AntouanK buildpack-deps:jessie comes with a bunch of handy shared libraries and tools. There are many common natvie modules in Node.js that can build inside of the official docker images because these packages are included in our base image.
This includes things like:

image-magick
libncurses
python
g++
gcc
make
git
curl
and many more

Its not practical for every base image to install these common packages, because on-disk size would explode. But if we want an environment that can build/run native modules, these packages are necessary.
Not every use case needs these packages, because not every use case needs to be able to build and use native modules. Hopefully the minimal alpine images willl fill that role, but the base images are supposed to be for the general use case (the "one size fits all"), that is why they look the way they do today.


How can I use it in a freezed or json_serializable class?

I want to use this package in classes from freezed or json_serializable, there is a built in way?
If not, how should be the code of a JsonConverter that use your decoder/encoder, can you guide me please?
Thank you

None of the above are supported by this package, and there's no intention to support them at this time.


Explore: Fullscreen map view button doesn't work

From https://forum.inaturalist.org/t/full-screen-function-doesnt-respond/36767/2 I can replicate in FF 106.0.1

Go to https://www.inaturalist.org/observations?place_id=any&subview=map
Click on the fullscreen button
Nothing happens

Probably linked to boundary drawing tool implementation.
Here's a console shot:

Potentially related: the "find my location" button is not working. If you click on it (and you're allowing iNat to access your location) you get a pop-up saying it failed to find your location.
Console from Firefox:

The fullscreen functionality should be restored in 7891e9ee.
I can't replicate the "Find your current location" failure in any browsers I have installed (Chrome, Brave, Safari, and Firefox on Mac OS 12.6). I get a prompt asking if I want to grant location access to the browser. If I accept it zooms to my location, and if I deny it says "Failed to find my location". Do you see the prompt? Do you have other permissions settings in your computer's OS that prevents the browser from access location information? Does it fail in all browsers or just Firefox?

Missing step: make sure Location Services are turned off for your device... Works fine now, sorry about that.


Added AudioMNIST dataset.

@harritaylor - would you still be willing to resolve the comments and then have us merge this code?

@harritaylor - would you still be willing to resolve the comments and then have us merge this code?

Yes, sorry - I'll see if I have some time this weekend to sort it out.

@soumith @cpuhrsch Sorry about the long delay on this, I've been preoccupied with other work. I'd like to rewrite this code and resubmit a pull but I'm not sure the best way of doing that. Is it best to get rid of this pull request and submit a new one when ready?

@harritaylor you can just close the PR at the bottom of the thread, and submit a new one when is ready.

I'll close this PR for now, but please feel free to open a new one when ready :)
PS. I'll link pytorch/pytorch#24915 since we are discussing new dataset constructs.

Do you have any update on including AudioMNIST to torchaudio


PostCSS handling of absolute deployUrl paths

When a deployUrl consists of an absolute path, it needs to be prepended to the outputUrl since url.resolve will just ignore it. The proposed patch simply checks for an absolute path to perform a prepend, falling back to the existing logic otherwise.
Without this patch resources within stylesheets do not get their paths prefixed with the deployUrl if for example that deployUrl is "/static".

This is operating as intended.  /static and /static/ have two different meanings.  The deployUrl, if used (base href is generally the more appropriate option), should end in a / if the last segment represents a directory and not a file.

Setting to /static/ does fix it. However given the context of a deployUrl, it can only be a directory. Hence is there not a reasonable expectation that it either warns about a missing slash or adds it itself? It seems other parts of the code do the latter, for example https://github.com/angular/angular-cli/blob/e48d54558f3640920a6adf6793bcf5eb1b9e4070/packages/%40angular/cli/models/webpack-configs/styles.ts#L113.

There's a more in-depth discussion on the deployUrl option in this PR: https://github.com/angular/angular-cli/pull/8740.
If the goal is to normalize the deploy URL to always refer to a directory, then similar code to the above linked PR should be placed after this line in the configuration builder: https://github.com/angular/angular-cli/blob/1.7.x/packages/%40angular/cli/models/webpack-config.ts#L41
As an aside, in general, anywhere that someone attempts to use deploy URL, they should be using the base href option instead.  For a comparison, see here: https://github.com/angular/angular-cli/blob/master/docs/design/deployurl-basehref.md


[WIP] Add abstract class for object detection

[x] Add DetectionLink
[x] Support score in vis_bbox
[x] Modify DetectionVisReport to use DetectionLink

I defined APIs for object detectors. And modified some functions to fit the APIs.
@yuyu2172 how do you think of this APIs?

Here is my comments.
Since this is WIP I haven't checked tests and docs yet.

I updated.

Remove DetectionLink https://github.com/pfnet/chainercv/pull/144#discussion_r114769462.
I will add a doc which describes the APIs of detection links. (where should I add it?)
Change the input of predict from img to imgs https://github.com/pfnet/chainercv/pull/144#discussion_r114757410.
Change the output of predict from bbox, label, score to bboxes, labels, scores. https://github.com/pfnet/chainercv/pull/144#discussion_r114777871
The type of output, ndarray or Variable, is under discussion https://github.com/pfnet/chainercv/pull/144#discussion_r114762476. I simply add cupy support.

Remove DetectionLink #144 (comment).
I will add a doc which describes the APIs of detection links. (where should I add it?)

This can be added at top of links.rst.
However, I think that this can be done after adding concrete models.
For the time being, we only need to make sure that newly added models (e.g. SSD and FRCNN) to follow the conventions we agreed on.

However, I think that this can be done after adding concrete models
OK. I will add the doc in another PR.

APIs for detection links

It inherits chainer.Link directly or indirectly.
It has predict method.
This method takes a batch of images and returns predictions.

inputs:

imgs: a list of numpy.ndarray. Each array holds an image, in CHW, BGR, [0, 255] format. The sizes of images are not same even in a batch.

outputs:

bboxes: a list of numpy/cupy.ndarray
labels: a list of numpy/cupy.ndarray
scores: a list of numpy/cupy.ndarray

Thanks for summarizing the discussion.
I support that conclusions.

I updated this PR to obey the design mentioned in https://github.com/pfnet/chainercv/pull/144#issuecomment-299682956.
@yuyu2172 Could you review this PR?

I fixed.

LGTM


dev or local chains log errors in the offchain worker

command: cargo run -- --dev --tmp as stated in the docs
log:
2022-02-01 14:46:48  No local account available
2022-02-01 14:46:48  err: OffchainSignedTxError

Edit docs in: https://github.com/threefoldtech/tfchain/commit/e7c6083b8837dcfbdf4b35784282cd5b26b6e2aa


Java installation no longer found

Current Behavior
Running ./gradlew clean build  fails with the message Cannot find a Java installation on your machine matching this tasks requirements: {languageVersion=21, vendor=any vendor, implementation=vendor-specific} for LINUX on x86_64.
Expected Behavior
Running ./gradlew clean build  should result in a successful build.
Context (optional)
No response
Self-contained Reproducer Project
gradle-regression.zip
Gradle version
8.10 /8.11
Gradle version that used to work
8.9
Build scan URL (optional)
No response
Your Environment (optional)
OpenSUSE Tumbleweed
This install jvms in /usr/lib64 instead of /usr/lib

The issue is in the backlog of the relevant team and is prioritized by them.

I can confirm the regression from 8.9 to 8.10 using an opensuse container.

Could you run gradle javaToolchains on Gradle 8.9 and latest and provide the output here?

Were you actually compiling anything?  Maybe we're being more strict about having a JDK installed even if you're not compiling Java source files.

The attached zip file contains a java source file that got compiled. So it remains a bit of a mystery to me.
But at least thanks for the pointers!


The output of gru tests with backward/both direction are incorrect

Any additional information like expected vs actual output?


fix: remove leftover CMake debug message

Whoops, sorry did not see this PR, message went away with last commit. Thanks!


feat: Add option to trigger full page reloads on css changes

Fixes https://github.com/phoenixframework/phoenix_live_reload/issues/122
Adds a configuration option to trigger full page reloads when a CSS asset changes.
In the client, if the option is true, the strategy for reloading css files is set to pageStrategy, which is the same as what is used by all other asset types.

:green_heart: :blue_heart: :purple_heart: :yellow_heart: :heart:


Add examples for namespaceSelector via matchLabels and matchExpressions.

Fixes #1439
/kind documentation

/assign

/ok-to-test

@alizaidis could you resolve Aldo's comment?

The link is actually already there, but maybe it's not prominent enough. Our assumption when writing this page was that users were familiar with labels and selectors, but it seems that it's not always the case.
Can you give it another pass with a fresh set of eyes and see how you can incorporate this other link https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/

@alculquicondor as I understand it, the namespaceSelector in ClusterQueue not as generic as labelSelector is in K8s. It seems it only works on a single key which is kubernetes.io/metadata.name so I wonder if we need to make the label selector doc any more prominent.

No, it works for any key that matches a label in the Namespace objects.

That makes a lot more sense then.

@alizaidis I think you are already adding that example?

@alizaidis I think you are already adding that example?

Yes, commit incoming!

/lgtm

/lgtm
/approve

@alizaidis Can you address https://github.com/kubernetes-sigs/kueue/pull/1442#issuecomment-1858508593?
/release-note-none

/cherry-pick website

@mimowo Rebase complete, would appreciate a review!

/lgtm
Thanks for the update

@alizaidis looking at https://github.com/kubernetes-sigs/kueue/pull/1442#issuecomment-1960410160 you should probably eliminate "Fixes #" from the commit message. This info goes to the PR description.

/cherry-pick website

@alizaidis Could you drop the message "Fixes https://github.com/kubernetes-sigs/kueue/issues/1439" from the commit message?
https://github.com/kubernetes/community/blob/master/contributors/guide/pull-requests.md#github-keywords

@moficodes can you rebase and fix the commit message?

Apologies for the delayed update, fixed the commit message!


Amupedia courses branch card is not smooth when hover

Link to website: https://www.amupedia.com/courses/btech
How to setup this application:

Clone the repo
write npm install
And then go to pages/courses/btech/index.js to fix this issue

Yoo @anmode  assign me to this task

Done with smoothness,
pls checkout pr #10 ...

Could you please commit these changes again? cloning the test branch.

Done pr #14


Permission denied /tmp/jobbergate.py

Procedure:

Reinstalled jobbergate in my venv using pip uninstall followed by the pip install git.....

Trying to create a job script with the command:
jg create-job-script --name kabooom -i 34

Traceback:
File "/home/sssnks/test/nash/jobbergate-cli/lib64/python3.6/site-packages/jobbergate_cli/jobbergate_api_wrapper.py", line 290, in create_job_script
application_file = open(MODULE_PATH, "w")
PermissionError: [Errno 13] Permission denied: '/tmp/jobbergate.py'

Whats in /tmp
(jobbergate-cli) /home/sssnks/test/nash> ll /tmp/
-rw-r--r--. 1 nsxbxc scaniausers 4.1K Aug 27 13:22 jobbergate.py
-rw-r--r--. 1 nsxbxc scaniausers  305 Aug 27 13:22 jobbergate.yaml

Is the problem connected to concurrent usage?

Yes it is. I thought we had patched this already. We can get a fix put the door momentarily. @niklasmelin thank you for reporting this.

PR that resolves this by writing to ~/.jobbergate https://github.com/omnivector-solutions/jobbergate-cli/pull/16


suppress missing declaration errors

Hi, I'm using the tsserver for javascript only (no typescript files) is there a way to keep the functionality for js, but not get the missing declaration errors for imported modules?
example of what I mean: the module listed has no ts types
[tsserver 7016] [I] Could not find a declaration file for module '@ux/radio-group'. '/Documents/Projects/top-navigation/n
  Try `npm install @types/ux__radio-group` if it exists or add a new declaration (.d.ts) file containing `declare module '@ux/radio-group

thanks!

Change javascript.suggest.enabled to false in your coc-settings.json.
But it's not recommended, since tsserver would not work well without type information,

While setting javascript.suggest.enabled work as advertised, I am puzzled by that fact that setting the following in the jsconfig.json file seems not to have any effect:
        "compilerOptions": {
                "suppressImplicitAnyIndexErrors": true,
                "noImplicitAny": true
        }

Any idea why the latter did not work?

Don't know, I think you need ask at https://github.com/microsoft/TypeScript

Change javascript.suggest.enabled to false in your coc-settings.json.
But it's not recommended, since tsserver would not work well without type information,

Wouldn't javascript.suggest.enabled be a better candidate for this?

Should be javascript.suggestionActions.enabled and typescript.suggestionActions.enabled


The gluwa/ci-linux:production image on Dockerhub doesn't match with this creditcoin Dockerfile.

The gluwa/ci-linux:production image on Docker hub doesn't match with current creditcoin Dockerfile.
I tried to build from 2.0.0-beta-6 version.

The ci-linux:production is built in another branch. A merge operation created a new commit in the Dockerfile in release/2.0.0-beta-6, hence the discrepancy between the last pushed on docker-hub and commit.


Scenario 2:  Add reviewers

Entry point: Drop down list from the manage reviewers groups message
User Story
As a system administrator
I want to add a new reviewer
So that I can organize reviewers into different groups
Acceptance criteria
OK
Given a valid group, select the desired group from the dropdown list
When the manage member button is executed
Then the add member button can be executed and a new member can be added from the members drop down list, a confirmation message will be shown
KO
Given a duplicate member name is selected
When the add member button is executed
Then the system returns an error message indicating the issue
User type: Admin / Admin discord channel

I added new members to a group called "reviewers-group" and received a confirmation:
Successfully added 3 member(s) to the group. 0 member(s) were already in the group and skipped.

Then, I tried to add the same users as new members to a group called "reviewers-group", and I received a correct notification:
Successfully added 0 member(s) to the group. 3 member(s) were already in the group and skipped.

Then, I tried to add the same users plus a new one as members to a group called "reviewers-group", and I received a correct notification:
Successfully added 1 member(s) to the group. 3 member(s) were already in the group and skipped.

Proof:
https://github.com/user-attachments/assets/bd55e680-5627-46ab-88bf-9dc37d2b8e64
Comments:

Unify colors - please review messages and buttons and unify their appearance. For example,

When a user selects a group, they see two buttons: "Remove SME Group" and "Manage Members"
After clicking "Manage Members," the user sees two buttons: "Add Members" and "Remove Member"
In the first view, the first button is red and indicates removal action; in the second view, the red button is the second
I'd suggest the following order: Blue buttons (for navigating through the menu and sub-categories); Green buttons (for actions resulting in executing a specific functionality, for example, showing a pop-up modal, adding members, etc.); Red buttons (for actions resulting in removing or rejecting something, for example, removing members, etc.).

The same for messages. For example, when managing members in a group, there are different notifications, such as whether a user adds new members, existing ones, new+existing, or removes some of them. All of them have the same green color.
I'd suggest a green color for the successful addition/deletion of members, yellow for when some proposed members are already in the group, and red if there was no positive result. All proposed members are already part of the group, and no one new was added or no one could be removed.

Adjust the dropdown - when adding new members to the group, the dropdown where I could select them shows all channel members where the command is executed, which is correct behavior. However, when wanting to remove members, the dropdown again shows all channel members, not only the group members. Hence, it isn't easy to understand who is already a member and who should be removed.

ACK, thank you.

@iluxonchik
please update the order of the buttons:

When the user has action buttons of manage and removal, or edit an remove, the remove button should go at the right side, meaning that is the last option.


[Main screen] Try to enable location lock when the app is opened

Currently, there viewport is not explicitly defined when the app is opened. We assume users will be collecting data in situ, so it generally makes sense to pan/zoom the map to their current location.
Note: the project selector will be moved to its own fragment in which the map will not be shown, so for now it's ok to show attempt location lock as soon as the HomeScreenFragment is shown.

Hi @shobhitagarwal1612, I gave this some more thought, and from zero state I think it would make more sense to zoom out to show the extend of the survey rather than the zoom to the current location. This is because data collectors will open the app for the first time in their office or camp where they have internet access, not in the field. In that case, locking to the current location will not be helpful. Instead, they'll probably want to see an overview of the work so they can plan accordingly.
Rather than enabling location lock when the app is first opened, can we instead persist the state across configuration changes and app restart?

Marking this as obsolete for now. Let's discuss persisting the viewport (per user? per device?) and create a new issues for it.


Make run-test-suite.py handle crashes properly

Changes:

Crashing jerry / jerry-snapshot is always "FAIL",
only the 1 return code is accepted as expected fail.
"FAIL (XPASS)" string is only used if the test marked
as expected fail, but the return code is 0.
Simple "FAIL" string is used if the test marked as expected
fail, but the return code is not 0 or 1. (crash)

JerryScript-DCO-1.0-Signed-off-by: Csaba Osztrogonác<EMAIL_ADDRESS>

Note: It is a regression, the old sh runner worked properly, but I missed to add crash handling to the new python runner. We realized this bug after #3498.
CI will be red now, can be landed after #3498 is fixed.


Downloading different songs depending of the folder I am currently in

System OS
Linux
Python Version
3.8 (CPython)
Install Source
pip / PyPi
Install version / commit hash
3.9.3
Expected Behavior vs Actual Behavior
I tried downloading this song using this spotify link.
But when I'm in my music directory spotdl tries to download this cover.
And when I'm in my /home/user folder it tries to download the correct song.
Steps to reproduce

Download song in /home/user folder
Download same song in another folder

Traceback
Using spotdl in my music folder :
user@desktop:/data/musique/RedHide$ spotdl https://open.spotify.com/track/4JK1kDUdH9RTBQrrSO1QfR?si=4f1b7e9f79d144ab
Fetching Song...
Found YouTube URL for "Yuuri - ベテルギウス" :
https://www.youtube.com/watch?v=gMzDv3oxDZI

Using spotdl in my /home/user folder :
user@desktop:~$ spotdl https://open.spotify.com/track/4JK1kDUdH9RTBQrrSO1QfR?si=4f1b7e9f79d144ab
Fetching Song...
Found YouTube URL for "Yuuri - ベテルギウス" :
https://www.youtube.com/watch?v=pV5ZvlRSclg

Other details
I tried using the -o argument but its the same as going into the music folder
Same thing happens when using --use-youtube

will fix in v4, no clue why it's happening v3


Add codecov coverage reporting

Also added the badge to the README.

Current coverage is 87.60%

Branch #3 has no coverage reports uploaded yet.

No diff could be generated. No reports for master found.

Powered by Codecov. Updated on successful CI builds.


Feedback 'From: Kmefmiem Jdnfidnf Banners too narrow shou...'

Message from 57fe450d139b2151650006b5 sent on 2016-10-12 14:15:30 UTC###

From: Kmefmiem Jdnfidnf
Banners too narrow should be 160 tall

Link to HockeyApp

https://rink.hockeyapp.net/manage/apps/37020/feedback/637307

Continuing from here https://github.com/artsy/eigen/issues/1439
@katarinabatina The banners are currently 160 points on both iPhone and iPad, should there be a difference?

I fucked up on the spec sorry, I said the value was 160 when in reality its 300

I should have caught that too, 160 points was very narrow indeed.


Make query string "fields" optional

This library is great and very easy to use - thanks for putting it together!
One thing that is limiting a use-case I have is the "fields" attribute for the Query String type.
https://github.com/mottaquikarim/esquerydsl/blob/5080f1570121/esquerydsl.go#L159
This attribute is optional in ElasticSearch, as per the docs below, and excluding it allows the query string to run on any field specified in the query string.
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html#query-string-multi-field
It would be nice to make this optional so that query string can be applied to any field for use-cases that require that kind of flexibility.

PR - https://github.com/mottaquikarim/esquerydsl/pull/15

Nevermind, this will not work with the current logic for sanitizing query string.


Client Name Duplications

When using Dynamic Client Registration, should the "Client Name" format be defined in order to prevent duplicate client names within the auth server? It would also provide a meaning to client names (where client IDs and client secrets are usually just random strings) and would provide a deterministic format for potential automation?
The client name could simply be the FQDN of the device, if the device is unlikely to change hostname. Perhaps in a more dynamic scenario where devices are likely to change domain it could perhaps be a concatenation of the product name with their MAC address to prevent registering multiple clients per device.

Discussed on call. Will become more important once #76 is known.

Closed following approval of #77


Default Minecraft Mod

Currently in the global.conf, in the entity activation range section, it mentions a 'default minecraft mod', however one cannot be found:
# Per-mod overrides. Refer to the minecraft default mod for example.
mods {}

This is currently present in the 4.1 release.

Turn on auto-populate.


Add a proxy configuration interface

We want to be able to specify some proxy specific settings, like e.g. the proxy runtime socket path for our Clear Containers proxy implementation. Eventually, this will also include the proxy shim socket path.

Coverage decreased (-0.5%) to 66.867% when pulling af46930a824469d0164b36e51a2a8b18c45c6a04 on sameo/topic/proxy into 3fed663d835f72269c3a12b262fad4d987a8732b on master.

Coverage decreased (-0.5%) to 66.867% when pulling 95c7a9cd26ee1d38b9bd8dff0ed3e5d06a0d8806 on sameo/topic/proxy into 3fed663d835f72269c3a12b262fad4d987a8732b on master.

Coverage decreased (-0.5%) to 66.867% when pulling 95c7a9cd26ee1d38b9bd8dff0ed3e5d06a0d8806 on sameo/topic/proxy into 3fed663d835f72269c3a12b262fad4d987a8732b on master.

Coverage decreased (-0.5%) to 66.867% when pulling 703de7776c716dd8de9762669cee27ea5e763e2e on sameo/topic/proxy into 3fed663d835f72269c3a12b262fad4d987a8732b on master.

@sboeuf @dlespiau PTAL

lgtm


Set code owners for extensions

Description

Define code owner for Azure Data Studio and Visual Studio Code extensions
Motivation and Context

Make sure correct reviewer is automatically assigned
How Has this Been Tested?

N/A
Screenshot (if appropriate, usually isn't needed):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Migrated package (a package has been migrated from another repository)

Checklist:

[ ] My code follows the code style of this repository.
[ ] My change requires a change to documentation (this usually means the notes in the description of a package).
[ ] I have updated the documentation accordingly (this usually means the notes in the description of a package).
[ ] I have updated the package description and it is less than 4000 characters.
[ ] All files are up to date with the latest Contributing Guidelines
[ ] The added/modified package passed install/uninstall in the chocolatey test environment.
[ ] The changes only affect a single package (not including meta package).

:white_check_mark: Package verification completed without issues. PR is now pending human review

@pascalberger awesome work! Thanks for your contribution!


Handle Andrii's patchset

The goal is to generate the SMT encoding for the patchset at<EMAIL_ADDRESS>It only adds the wrapper for check_cond_jmp_op corresponding to that patchset.

This currently fails with:
$ /home/paul/ebpf-range-analysis-verification-cav23/llvm-to-smt/llvm-passes/llvm_to_smt.sh /home/paul/ebpf-range-analysis-verification-cav23/reproduce-results/bpf-encodings/andrii-patchset BPF_JEQ.ll check_cond_jmp_op_wrapper_BPF_JEQ 1 BPF_JEQ.smt2
[...]
[getBitVecSingValType] %struct.bpf_reg_state* %src_reg
[getBitVecSingValType] type: %struct.bpf_reg_state*
opt: /usr/include/llvm-12/llvm/Support/Casting.h:269: typename llvm::cast_retty<X, Y*>::ret_type llvm::cast(Y*) [with X = llvm::IntegerType; Y = const llvm::Type; typename llvm::cast_retty<X, Y*>::ret_type = const llvm::IntegerType*]: Assertion `isa<X>(Val) && "cast<Ty>() argument of incompatible type!"' failed.
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
Stack dump:
0.	Program arguments: /usr/bin/opt -load-pass-plugin /home/paul/ebpf-range-analysis-verification-cav23/llvm-to-smt/llvm-passes/LLVMToSMT/build/libLLVMToSMT.so --passes=print<llvm-to-smt> --disable-output /home/paul/ebpf-range-analysis-verification-cav23/reproduce-results/bpf-encodings/andrii-patchset/BPF_JEQ.ll
 #0 0x00007f6ff79732a1 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/lib/x86_64-linux-gnu/libLLVM-12.so.1+0xd732a1)
 #1 0x00007f6ff79713d0 llvm::sys::RunSignalHandlers() (/lib/x86_64-linux-gnu/libLLVM-12.so.1+0xd713d0)
 #2 0x00007f6ff79739ad (/lib/x86_64-linux-gnu/libLLVM-12.so.1+0xd739ad)
 #3 0x00007f6ff6442520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x00007f6ff64969fc __pthread_kill_implementation ./nptl/./nptl/pthread_kill.c:44:76
 #5 0x00007f6ff64969fc __pthread_kill_internal ./nptl/./nptl/pthread_kill.c:78:10
 #6 0x00007f6ff64969fc pthread_kill ./nptl/./nptl/pthread_kill.c:89:10
 #7 0x00007f6ff6442476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
 #8 0x00007f6ff64287f3 abort ./stdlib/./stdlib/abort.c:81:7
 #9 0x00007f6ff642871b _nl_load_domain ./intl/./intl/loadmsgcat.c:1177:9
#10 0x00007f6ff6439e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#11 0x00007f6ff6b9001d llvm::cast_retty<llvm::IntegerType, llvm::Type const*>::ret_type llvm::cast<llvm::IntegerType, llvm::Type const>(llvm::Type const*) /usr/include/llvm-12/llvm/Support/Casting.h:271:72
#12 0x00007f6ff6b8fa12 llvm::Type::getIntegerBitWidth() const /usr/include/llvm-12/llvm/IR/DerivedTypes.h:97:46
#13 0x00007f6ff6b8de36 BitVecHelper::getBitVecSingValType(llvm::Value*) /home/paul/ebpf-range-analysis-verification-cav23/llvm-to-smt/llvm-passes/LLVMToSMT/BitvecHelper.cpp:59:65
#14 0x00007f6ff6b98e45 FunctionEncoder::handleSelectInst(llvm::SelectInst&) /home/paul/ebpf-range-analysis-verification-cav23/llvm-to-smt/llvm-passes/LLVMToSMT/FunctionEncoder.cpp:456:75
#15 0x00007f6ff6b9d67a FunctionEncoder::populateBBAssertionsMap(llvm::BasicBlock&) /home/paul/ebpf-range-analysis-verification-cav23/llvm-to-smt/llvm-passes/LLVMToSMT/FunctionEncoder.cpp:1005:23
#16 0x00007f6ff6b9e688 FunctionEncoder::encodeFunctionBody(llvm::Function&) /home/paul/ebpf-range-analysis-verification-cav23/llvm-to-smt/llvm-passes/LLVMToSMT/FunctionEncoder.cpp:1238:3
#17 0x00007f6ff6ba0b0f FunctionEncoder::buildSMT() /home/paul/ebpf-range-analysis-verification-cav23/llvm-to-smt/llvm-passes/LLVMToSMT/FunctionEncoder.cpp:1572:54

I tried to work around that failure with the following patch:
diff --git a/llvm-to-smt/llvm-passes/LLVMToSMT/BitvecHelper.cpp b/llvm-to-smt/llvm-passes/LLVMToSMT/BitvecHelper.cpp
index 7ed63f6..c9fd74f 100644
--- a/llvm-to-smt/llvm-passes/LLVMToSMT/BitvecHelper.cpp
+++ b/llvm-to-smt/llvm-passes/LLVMToSMT/BitvecHelper.cpp
@@ -56,8 +56,9 @@ z3::expr BitVecHelper::getBitVecSingValType(Value *v) {
     outs() << "[getBitVecSingValType] "
            << "returning existing BV\n ";
   } else {
+    unsigned bitwidth = t->isPointerTy() ? 64 : t->getIntegerBitWidth();
     std::string bvName = v->hasName() ? std::string(v->getName()) : "bv";
-    resBV = getBitVec(t->getIntegerBitWidth(), bvName);
+    resBV = getBitVec(bitwidth, bvName);
     outs() << "[getBitVecSingValType] "
            << "returning new BV\n ";
     BitVecHelper::singleValueTypeMap.insert({v, resBV});

but now it fails with:
$ /home/paul/ebpf-range-analysis-verification-cav23/llvm-to-smt/llvm-passes/llvm_to_smt.sh /home/paul/ebpf-range-analysis-verification-cav23/reproduce-results/bpf-encodings/andrii-patchset BPF_JEQ.ll check_cond_jmp_op_wrapper_BPF_JEQ 1 BPF_JEQ.smt2
[...]
-------------------
  %type.i30.i = getelementptr inbounds %struct.bpf_reg_state, %struct.bpf_reg_state* %spec.select, i64 0, i32 0
-------------------
[handleGEPInst]
[handleGEPInst] resVal:  %type.i30.i = getelementptr inbounds %struct.bpf_reg_state, %struct.bpf_reg_state* %spec.select, i64 0, i32 0
[handleGEPInst] argVal:   %spec.select = select i1 %i9.i27.i, %struct.bpf_reg_state* %src_reg, %struct.bpf_reg_state* %dst_reg
[handleGEPInst] getNumOperands:3
[handleGEPInst] offsetOperandValue:i64 0
opt: /home/paul/ebpf-range-analysis-verification-cav23/llvm-to-smt/llvm-passes/LLVMToSMT/FunctionEncoder.cpp:675: void FunctionEncoder::handleGEPInst(llvm::GetElementPtrInst&): Assertion `GEPMap.find(argVal) != GEPMap.end()' failed.
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
Stack dump:
0.	Program arguments: /usr/bin/opt -load-pass-plugin /home/paul/ebpf-range-analysis-verification-cav23/llvm-to-smt/llvm-passes/LLVMToSMT/build/libLLVMToSMT.so --passes=print<llvm-to-smt> --disable-output /home/paul/ebpf-range-analysis-verification-cav23/reproduce-results/bpf-encodings/andrii-patchset/BPF_JEQ.ll
 #0 0x00007ffb9c7732a1 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/lib/x86_64-linux-gnu/libLLVM-12.so.1+0xd732a1)
 #1 0x00007ffb9c7713d0 llvm::sys::RunSignalHandlers() (/lib/x86_64-linux-gnu/libLLVM-12.so.1+0xd713d0)
 #2 0x00007ffb9c7739ad (/lib/x86_64-linux-gnu/libLLVM-12.so.1+0xd739ad)
 #3 0x00007ffb9b242520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x00007ffb9b2969fc __pthread_kill_implementation ./nptl/./nptl/pthread_kill.c:44:76
 #5 0x00007ffb9b2969fc __pthread_kill_internal ./nptl/./nptl/pthread_kill.c:78:10
 #6 0x00007ffb9b2969fc pthread_kill ./nptl/./nptl/pthread_kill.c:89:10
 #7 0x00007ffb9b242476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
 #8 0x00007ffb9b2287f3 abort ./stdlib/./stdlib/abort.c:81:7
 #9 0x00007ffb9b22871b _nl_load_domain ./intl/./intl/loadmsgcat.c:1177:9
#10 0x00007ffb9b239e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#11 0x00007ffb9b930fcb FunctionEncoder::handleGEPInst(llvm::GetElementPtrInst&) /home/paul/ebpf-range-analysis-verification-cav23/llvm-to-smt/llvm-passes/LLVMToSMT/FunctionEncoder.cpp:676:38
#12 0x00007ffb9b9336eb FunctionEncoder::populateBBAssertionsMap(llvm::BasicBlock&) /home/paul/ebpf-range-analysis-verification-cav23/llvm-to-smt/llvm-passes/LLVMToSMT/FunctionEncoder.cpp:1009:20
#13 0x00007ffb9b93467e FunctionEncoder::encodeFunctionBody(llvm::Function&) /home/paul/ebpf-range-analysis-verification-cav23/llvm-to-smt/llvm-passes/LLVMToSMT/FunctionEncoder.cpp:1238:3
#14 0x00007ffb9b936b05 FunctionEncoder::buildSMT() /home/paul/ebpf-range-analysis-verification-cav23/llvm-to-smt/llvm-passes/LLVMToSMT/FunctionEncoder.cpp:1572:54

I've cherry picked https://github.com/bpfverif/agni/commits/handle-select-with-pointers on top of this branch. It now fails with the following when ran against Linux 40d0eb0259ae:
-------------------
  %bpf_capable.i8.i = getelementptr inbounds %struct.bpf_verifier_env, %struct.bpf_verifier_env* %env, i64 0, i32 22
-------------------
[handleGEPInst]
[handleGEPInst] resVal:  %bpf_capable.i8.i = getelementptr inbounds %struct.bpf_verifier_env, %struct.bpf_verifier_env* %env, i64 0, i32 22
[handleGEPInst] argVal:   %env = alloca %struct.bpf_verifier_env, align 8
[handleGEPInst] getNumOperands:3
[handleGEPInst] offsetOperandValue:i64 0
terminate called after throwing an instance of 'std::runtime_error'
  what():  [handleGEPInst]argVal not found in GEPMap

Note that the version of Andrii's patchset that was merged was slightly different from the one linked to above. In particular, I had to adjust wrapper_jmp_7 a bit because reg_set_min_max now takes env as an argument. I passed NULL but maybe that's actually breaking things.

@pchaigno Thank you for trying this out, and pointing to the updated commit.
I tried my handle-select-with-pointers branch on the older commit cd9c12, and it worked on most jump instructions. But I might have claimed victory prematurely, I can see that it fails on BPF_JGE on my end as well. I'm looking into this.
What was the jump instruction it failed on you for?

I'm working on some patches on top of your PR #5, which will allow running generate_encodings.py on a particular commit instead of kernel version tags. This makes more sense to me as that's how I imagine this tool will be used in the future. That is, instead of providing --kernver and using our own wrappers.py, we have users provide a --commit, and a separate wrapper file for that particular commit using --wrapper=<wrapper_path.py>. This might be more scalable than maintaining the wrappers.py.  Any thoughts on this?

I've cherry picked https://github.com/bpfverif/agni/commits/handle-select-with-pointers on top of this branch. It now fails with the following when ran against Linux 40d0eb0259ae:
-------------------
  %bpf_capable.i8.i = getelementptr inbounds %struct.bpf_verifier_env, %struct.bpf_verifier_env* %env, i64 0, i32 22
-------------------
[handleGEPInst]
[handleGEPInst] resVal:  %bpf_capable.i8.i = getelementptr inbounds %struct.bpf_verifier_env, %struct.bpf_verifier_env* %env, i64 0, i32 22
[handleGEPInst] argVal:   %env = alloca %struct.bpf_verifier_env, align 8
[handleGEPInst] getNumOperands:3
[handleGEPInst] offsetOperandValue:i64 0
terminate called after throwing an instance of 'std::runtime_error'
  what():  [handleGEPInst]argVal not found in GEPMap

Note that the version of Andrii's patchset that was merged was slightly different from the one linked to above. In particular, I had to adjust wrapper_jmp_7 a bit because reg_set_min_max now takes env as an argument. I passed NULL but maybe that's actually breaking things.

The tool will fail on "handlePhiNode" in FunctionEncoder.cpp if a "lower-switch" pass isn't run before the "llvm-to-smt" pass is run, and that you can cherry-pick your own "handle switch instructions" (that is,  llvm-to-smt: Support LLVM IR switch instructions https://github.com/bpfverif/agni/pull/7 ). Really sorry for the brain fart (in my email)
Regardless, we now know that the tool fails on some other branch instructions like BPF_JGE, so there is no point trying it out yet.

The tool will fail on "handlePhiNode" in FunctionEncoder.cpp if a "lower-switch" pass isn't run before the "llvm-to-smt" pass is run, and that you can cherry-pick your own "handle switch instructions" (that is, llvm-to-smt: Support LLVM IR switch instructions #7 ). Really sorry for the brain fart (in my email)

Ah, I see. I didn't know how to run a lower-switch pass, so I just thought I could cherry-pick #7 :sweat_smile:


053_BlazePose / 058_BlazePose_Full_Keypoints  source

Issue Type
Documentation Feature Request
OS
Windows
OS architecture
x86_64
Programming Language
Other
Framework
ONNX
Model name and Weights/Checkpoints URL
053_BlazePose / 058_BlazePose_Full_Keypoints / 10_new_256x256
Description
I was reviewing 053_BlazePose for any change, and I've noticed there's a 058_BlazePose_Full_Keypoints section
And within it, there's a 10_new_256x256 model.
From where does this model come from?  I couldn't correlate it with any of the existing pose tracking models of google's mediapipe.
Recently here in the EU, regulations related to AI models are going to become more strict, and I want to keep track of the model source, specially considering that Google usually publishes a model card for every one of their models.
Relevant Log Output
No response
URL or source code for simple inference testing code
No response

058_BlazePose_Full_Keypoints
It's a misprint in the README. No such thing exists today.

it's not a big deal, I was just surprised that executing   download_fullkey.sh  extracts a directory called 058_BlazePose_Full_Keypoints

I see. The MediaPipe repository is updated frequently. Therefore, it is difficult to identify multiple versions of a model file without going back about four years in the commit history of the MediaPipe repository.


Design6

@grijos

[ ] Can we add a little padding here? In the cellphone, it's too close to the left and right sides.

[ ] Something is broken there.

[ ] Also, we should not show the shop id as a number, we should use the encoded one (letters) I can change it.


Fast gif resize

https://github.com/pressly/imgry/blob/f7a2a8c41a15417782a37f4fbc3a90a2ef34c20f/imagick/imagick.go#L195-L199

The current imagick implementation for gif resizing will flatten each layer, which creates a larger in filesize image, and is MUCH slower to resize because it effectively resizes more bytes per frame to generate the image.
For example: http://imgry.pressly.com/test/fetch?url=http%3A%2F%2Fwww.thisiscolossal.com%2Fwp-content%2Fuploads%2F2015%2F04%2Fcine-1.gif&size=800x
this will load quickly because its already sized/cached -- but, try to change the size query param to 840x or 730x .. pick something ... it will take over 2 seconds. And compare the filesize to the original image url: http://www.thisiscolossal.com/wp-content/uploads/2015/04/cine-1.gif
if you open the gif in an image editor, you will see the layers (frames), the subsequent frames are actually offset positions, layered on top of eachother. Other gifs do use full frames and a 0,0 offset.
The goal is to not have to flatten each frame, and try to keep the frames intact, and resize the respective layers etc. to get the final image.

Closed by https://github.com/pressly/imgry/pull/9?


Integrate travel guidelines documentation

Following on from the proposal on footer content, I'd like to ask for help in bringing the GBIF Travel Guidelines fully into the site. A search for this document /'travel guidelines'/ on the new site returns no results—probably the result of this originally inhabiting the IMS-legacy netherworld of files and documentation.
The link currently in the footer resolves here:
http://www.gbif.org/sites/default/files/documents/GBIFtravelguidelines.pdf
As mentioned in #77 , admin staff note that this document need NOT appear in the footer, so long as it appears via search. As such it is probably a prime candidate for the featured search term 'travel guidelines' if it's brought into Drupal.
Whatever the most efficient solution is, we might want to address the legacy URLs, too, and redirect them to the file's new location.

@burkeker what would be the best approach for this? Only generic contenttype supports featured search terms at this point.

I am afraid that's not true, @MortenHofft. All editable content types support featured search term, just that, in this case, the travel guideline is not a Drupal "resource" per se, but merely a proxied link http://links.gbif.org/travel_guidelines.pdf to the actual file in the Drupal filesystem.
I'll then

[ ] create such a resource so it appears in the search result.

Don't be afraid - it it good news - I must have misunderstood you then

Highlighted again in review discussion with AMN & SLS.

Notes surfaced from admin discussion. Two other docs that need to be available in the same way are
-[ ] [travel authorization](www.gbif.org/sites/default/files/documents/GBIF Travel Authorisation Form (visitors) 2014.dot)
-[ ] travel reimbursement

To address this, I have:

[ ] Modified allowed file extensions in the file field setting.
[ ] Created 3 resources mentioned above with "travel guidelines", "travel authorization" and "travel reimbursement" as their featured search terms, respectively.
[ ] Revised the URL http://links.gbif.org/travel_guidelines.pdf to http://www.gbif.org/travel-guidelines via http://links.gbif.org.
[ ] Updated the footer link to the travel guideline.

Please feel free to re-open this if there is still anything needed.