Explore a way to explain the results of analysis that generate several columns

Analysis such as Morans I or Spatial Markov generate a few columna a the result that might need to be explained.

Cc/ @urbanphes

from my point of view we should do many things here:

find names for the columns so they explain what they mean
split the analysis in different ones, for example for moran we could split it in hotspots, coldspots and outliers
using the default styling for the analysis so it's self explanatory

one map worth more than thousand words

All that + an state of the analysis panel when the analysis ends
explainning the results for it. In some cases it might be very simple but
in other scenarios we will need a longer and better structured text.
On Jul 3, 2016 8:17 PM, "javi santana"<EMAIL_ADDRESS>wrote:

from my point of view we should do many things here:

find names for the columns so they explain what they mean
split the analysis in different ones, for example for moran we could
split it in hotspots, coldspots and outliers
using the default styling for the analysis so it's self explanatory

one map worth more than thousand words
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/CartoDB/cartodb/issues/8426#issuecomment-230167251,
or mute the thread
https://github.com/notifications/unsubscribe/AAIENZWkfFn0gv6epXWFZMA4SAIg1WH3ks5qR_yjgaJpZM4JD6th
.

This is related to: https://github.com/CartoDB/cartodb/issues/8016.

Maybe we could use a info-box to explain that.
Something like this:

cc/ @saleiva

In some cases it might be really useful to add some widgets by default associated to those columns. We could make them temporal with a help text explaining why the user should add it and why the that column/widget matters. Then the user can decide to keep it or to remove it.

@javisantana ask me for the visual designs.

Hey @urbanphes can you update here?

Here some examples of visual designs after apply analysis

Message 1

Message 2

Message 3

Yep that's in a separate issue.
On Jul 4 2016, at 11:36 am, Raul Ochoa<EMAIL_ADDRESS>wrote:

In some cases it might be really useful to add some widgets by default
associated to those columns. We could make them temporal with a help text
explaining why the user should add it and why the that column/widget matters.
Then the user can decide to keep it or to remove it.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on
GitHub,
or mute the
thread.


Add integration test for testing WHERE clause in QWATCH.

WHERE clause support was added to DSQL in #187. However, we don't have any integration test cases validating its behavior.
Requirements

Add test cases that validate E2E flow for QWATCH queries using the WHERE clause.
See tests/qwatch_test.go for reference.
benchmark the code and measure the time taken and memory allocs using benchmem and try to keep them to the bare minimum.
Add integration test results as a screenshot in the PR description (since we don't run integration tests on the CI for now)

Hi @JyotinderSingh I would like to pick this.

Hi @JyotinderSingh I would like to pick this.

Assigned

Issue is unassigned now. Feel free to pick this up.

Hi @JyotinderSingh I would like to pick this.

Hi @JyotinderSingh I would like to pick this.

Assigned.

@JyotinderSingh is there any way to overcome comparison issue between string and integer. I am setting up integer in SDK test case but while comparison in where condition, it is giving me error that can't compare string and integer.

@JyotinderSingh is there any way to overcome comparison issue between string and integer. I am setting up integer in SDK test case but while comparison in where condition, it is giving me error that can't compare string and integer.

The issue was fixed recently, please pull the latest master

@deep-adeshraa Thanks a lot for picking this up. Do you have any updates on it? If you have any blockers please discuss this over the discord.

Hi @AshwinKul28 I have started working on it but having some difficulties in understanding code. I will try to push asap

Hi @JyotinderSingh @AshwinKul28 - I am working on benchmarking the Qwatch, however I am not sure how to benchmark the code. I am checking BenchmarkLargeByteArray2 tests and seems like we run the function for large number of inputs and check the time taken. Could you please give me some suggestions what would be the best way to benchmark Qwatch ?

Hello @deep-adeshraa,
There has been no activity on this issue for the past 5 days.
It would be awesome if you keep posting updates to this issue so that we know you are actively working on it.
We are really eager to close this issue at the earliest, hence if we continue to see the inactivity, we will have to reassign the issue to someone else. We are doing this to ensure that the project maintains its momentum and others are not blocked on this work.
Just drop a comment with the current status of the work or share any issues you are facing. We can always chip in to help you out.
Thanks again.

Hello @arpitbbhayani  - I have created PR for integration test cases. However for Benchmark JyotiderSingh asked me to wait until some fixes are deployed. The reason was QWATCH command was failing if I fire large amount of concurrent requests.

Hello @deep-adeshraa,
There has been no activity on this issue for the past 5 days.
It would be awesome if you keep posting updates to this issue so that we know you are actively working on it.
We are really eager to close this issue at the earliest, hence if we continue to see the inactivity, we will have to reassign the issue to someone else. We are doing this to ensure that the project maintains its momentum and others are not blocked on this work.
Just drop a comment with the current status of the work or share any issues you are facing. We can always chip in to help you out.
Thanks again.

@JyotinderSingh - please assign to me.

Hello @psrvere,
There has been no activity on this issue for the past 5 days.
It would be awesome if you keep posting updates to this issue so that we know you are actively working on it.
We are really eager to close this issue at the earliest, hence if we continue to see the inactivity, we will have to reassign the issue to someone else. We are doing this to ensure that the project maintains its momentum and others are not blocked on this work.
Just drop a comment with the current status of the work or share any issues you are facing. We can always chip in to help you out.
Thanks again.


Clarify that write interts can use more specific error codes.

Since MODIFY allows for more specific error codes where applicable it seems like the intent may have been to allow INSERTS the same discretion?

Some examples:

Insert of an action that doesn't exist: NOT_FOUND.
Modify of a table entry that uses an action set_nexthop_id where the nexthop doesn't exist (some targets may have checks like this): NOT_FOUND.

Thanks Antonin & Stefan,
The NOT_FOUND for set_nexthop_id example also works on insert, and could signal the controller isn't ordering it's requests properly.

Some examples:

Insert of an action that doesn't exist: NOT_FOUND.

I would be more tempted to return INVALID_ARGUMENT here, and save NOT_FOUND for entities created at runtime by the controller

Modify of a table entry that uses an action set_nexthop_id where the nexthop doesn't exist (some targets may have checks like this): NOT_FOUND.

That one makes sense to me, although it is target-specific

Some examples:

Insert of an action that doesn't exist: NOT_FOUND.

I would be more tempted to return INVALID_ARGUMENT here, and save NOT_FOUND for entities created at runtime by the controller

Why is that? Seems like exactly what NOT_FOUND is supposed to be used for, no? Generally INVALID_ARGUMENT should only be used if there is no more specific code.

@stefanheule  You're right. If the action doesn't exist at all, I would return NOT_FOUND. If the action exists but is not in the action list for that table, I would return INVALID_ARGUMENT.


Content-Type response header missing charset=utf-8

ads returns a Content-Type response header, but its missing the charset=utf-8 component. HTML documents with a <meta charset="utf-8"> declaration works anyway, but other text resources like text/plain doesn’t have a reliable fallback mechanism like this (the BOM character causes more problems than it solves). text/css has @charset="utf-8"; but when did you last see that in use?

adsf has no way of inferring the encoding of textual files. I think defaulting to UTF-8 could create more problems than it’s worth.
There is rchardet, but it does not seem to be maintained, and my personal feeling is that I’d rather rely on the browser to guess the encoding.
@da2x What is your use case for having the charset provided by adsf in the header?

adsf has no way of inferring the encoding of textual files. I think defaulting to UTF-8 could create more problems than it’s worth.

Possibly. It’s a really good default, though.
You can express all of Unicode with UTF-8 and it’s backwards-compatible with US-ASCII and ISO-8859. That covers at least 96 % of the web, according to BuiltWith Trends and W3Techs.
The only real contestant to UTF-8 is GB 2312 (for the Chinese market), which is initially compatible with US-ASCII but their character tables diverges after that.

@da2x What is your use case for having the charset provided by adsf in the header?

Well, I’m previewing a project in my web browser that will later be deployed on a webserver configured to work serve Unicode content. Isn’t that what adsf is for? Some examples:
awesome.css:
.popular::before {
  content: "💛";
}

robots.txt
# Welcome robots! 🤖
User-agent: *
Disallow: /مرحبا بالعالم/


Hci channel user

Hi @sandeepmistry ,
Here is a pull request which allows creating a HCI_CHANNEL_USER socket.
Refs :

http://www.spinics.net/lists/linux-bluetooth/msg37345.html
https://github.com/paypal/gatt

This mode allow to completely bypass the BlueZ layer and gain a direct access to the device.
It's very useful for my use case, which consists in emulating a peripheral: I need to change the default behavior of BlueZ ( auto reconnections, auto service discovery after connection, etc... )

Sorry for the mess in the commits... I'll close this one and open another one...


Source Code (yes, again)

A lot of people requested to make this project open source again, and it would be awesome to have some launchers other than BlockLauncher. Currently there is BlockLauncher, which blocks ModPE on servers; MCPE Master, which is terribly slow and glitchy; ForgePE which is outdated and only downloadable in Russia; and Toolbox for Minecraft PE which I use, but there is a built-in cheat thing, that slows the game really much. On the pc version of Minecraft there is MCP, which allows you to create cool clients by modifying the source code of Minecraft, so there are lots of custom clients. Please @zhuowei make this possible on Android by reopening the source!

@SlimePharaoh I hate to tell you this but the reason he stopped sharing the code was others literally taking the code and charging money for it while giving none of the money nor credit to @zhuowei at all!
He intentionally does not want others to use cheats on public servers, and I totally agree in his logic, as normally people would be using it to cheat such as flying / teleporting around the map. Anti-Cheat mechanisms should NOT be thought of as a solution to be on every server not wanting it because once implemented in the official game's code, say bye-bye to those using mods on LAN games w/o heavy modifications to the game's binary, meaning a LONGER wait until you can use mods on the latest release.


Fix typo.

Just a heads up, this stuff is auto-generated from the markdown in the hakyll branch. I have addressed your change in my pull request here:
https://github.com/haskell-servant/haskell-servant.github.io/pull/29
Nice catch!

Great, thanks :)

Done as #29 - thanks a lot!


[WIP] Fix Kubernetes bookshelf.

Use latest Datastore client library
RSpec testing against Datastore emulator
Update Pub/Sub topic and subscription to be assigned variables
Update task queue tests.
[not kubernetes] Added retries to Datastore tests as the emulator impacts the second step for Datastore.
Fixes: #72, #87

Tests passed for Kubernetes, merging.


Fix Certificate Thumbprints

This PR fixes the Certificate Thumbprint calculation. (Missing leading "00")
This PR also includes a Liquibase Changeset to repair invalid entities in the database.
closes #94

@mschulte-tsi @ascheibal are my comments on the SQL "fix", not a concern?

which comments? I cannot see anything :(

@f11h oh no, sorry! I haven't submitted the comments as a review, you should see them now. Thought others can see them. :frowning_face:


symbol completion - defining tuples, arrays, and lists

Update Handled by TupleNode

Note that aa is offered here:

but not here:

however, it is offered here:

but not here:

This last one is the oddest - and applies only to tuple. No.s 1 to 3 apply to tuples, arrays, lists.

Fixed


Fix CI setup of fabric8 maven plugin

Since we enabled Openshift 3.7 on Travis CI, we were facing lots of issues on Travis due to extremely slow regression tests and they were getting timeout because by default Travis gives a job a maximum time limit of 50 minutes to run. For more information see here.
So due to this, we switched to CircleCI in the meantime. But now the build timeout limit of Travis has been extended; So we should revert back to Travis CI.

CI is not working because of VertxHTTPBooster. The test is locally working fine for me but on CI it is failing because of Pod Timeout every time. This may be because of some changes in the booster or maybe in Openshift because it was working fine previously or may be in FMP as we are checking current master. For the time being, tests are failing and are are blockers for PR merging.
@rohanKanojia Just an initial thought, can you check with a released version in spite of FMP master, if this works then it will help in eliminating one condition that it is breaking because of FMP changes.
Also, can you please check by simple running only this booster in place of all 6 boosters to find out that if this is because of resource issue on CI.
I may be wrong on some thoughts, but we need to get it fixed soon.


CFBundleShortVersionString has .beta.2 in it

What did you do?
Archive then distribute my app to the AppStore
What did you expect to happen?
to successfully upload my app to the AppStore
What happened instead?
the ".beta.2" from CFBundleShortVersionString key in info.plist still remain in, Apple do not want string in there and the upload fails
Alamofire Environment
Alamofire image version: 4.0.0-beta.2
Alamofire version: 5.0.0-beta.6
Xcode version:
Swift version:
Platform(s) running AlamofireImage:
macOS version running Xcode:

Thank you for the feedback @xGoPox. We fixed this in Alamofire, but forgot to fix AFI and AFNAI. Would you be able to push up PRs against both repos that drop the -beta.x in both Info.plists? Then we could work to get beta releases out for both libraries today.

Closing this out in favor of #359.


[common] Add opcode, operation, immidiate, register types aliases

Adds

PVM trivial types aliases Int, Float
opcode, operand, register identifier types aliases Opcode, OperationId, RegisterId
constant definition of register file size kRegisterCount that depends on RegisterId type size

Approve


setup: change description (was that of sphinx-copybutton)

The description metadata in setup.py is wrong, it seems to have not
been changed from sphinx-copybutton.
Noticed when searching on PyPI

ah good catch! thanks very much :-)


question: add CommonJS support

Support CommonJS as some of my node_modules do not work with this.

There already is CommonJS support and when using require it will be loaded automatically because it's set as the main field in the package.json
https://unpkg.com/browse/<EMAIL_ADDRESS>https://unpkg.com/browse/<EMAIL_ADDRESS>
That said however, this is a web library and when developing for the web you should always use something like Webpack / Snowpack / Parcel / Esbuild to bundle your code and they all use ESM style packages and imports so please do enlighten me to what bizarre environment you want to use this lib or what you're workflow is that you need CJS.

Because your react components do not work, and I refuse to switch to MJS.
Can't import the named export 'defineCustomElements' from non EcmaScript module (only default export is available)```

You do not use the .mjs file extension when writing React code. You use Webpack / Snowpack / Parcel / ESBuild to bundle your web code and you use ESM. Why? Because the web literally doesn't support Require. The web is 100% ESM.
If you don't want to use ESM, that's your problem.


HOW TO CREATE COUNTDOWN TIMER USING JS,PHP AND MYSQL DATABASE

Brief Summary:
The learner will be able to write jquery in a laravel project to achieve a a timer countdown
Key Takeaways:
1.using Javascript in a laravel project.
2.Creating Timer on a Laravel website.
3.Manipulating the DOM.
References:
Please list links to any published content/research that you intend to use to support/guide this article. (If none, please indicate 'N/A'.)

Thank you for the topic suggestion @jumamiller. Are you able to either expand on the description that you've provided, or provide a short (1-2 paragraph) writing sample that allows us to better assess readability/grammar upfront? We don't provide editing services and try our best to avoid having to reject submitted drafts that don't meet our writing standards.

@ninjaginja, I think this title is now self-explanatory.


Create script for pushing Docker image to Bintray on release

In order to complete #1680 we need a script that handles certain things in order to effectively push new Docker images without the fear of overwriting a previously pushed Docker image since Docker registries do not guard against this.
What this script should accomplish:

get the Wallaroo version in order to tag the image properly when actually releasing. (we'll want this to use a commit hash as a tag on certain branches for testing purposes of the Docker image instead of the version, version only on release)
verify that an image of the same name:tag combination does not already exist in our registry before pushing
push new image

closed by #1731


Add Kokonico to members.json

I would like to be added to the hack club web ring, you can verify I'm in the slack by looking for @Kokonico (or KKNC) within it.

Hey @Kokonico , did you add the HTML code to your site as I am looking on your site so webring isn't present anywhere

Oh sorry! Didn't see your comment. I'll add the code to the website in a few hours.

Hey @Kokonico , will Wait till today for changes

hello, I have added the changed to my website.
sorry it took so long! my footer code is weird, so I needed to inject the js after the badge 🫠

I forgot to add a comma in the members.json file 😭, can you fix that?

But your site is looking well to me

It's not the site that's the problem. It's the actual file in this repository that I edited. I forgot to put a comma before putting my entry.


CILogon Broken

Dropping CILogon.  We get auth to academic institutions from Globus, and CILogon itself doesn't provide anything other than an identity.  Closing...


[Feature] Wither totem added to main skill calcs

It would be nice if wither totem stacking could be accounted for in the main skill.

Duplicates #129
Refer to that issue for the solution.


Attribute Array: sample query change

Hi team,
The JSON in the sample below does not allow us to get the size value we want to SELECT in the query.
https://github.com/Azure-Samples/cosmos-db-design-patterns/blob/242a27fdc79a02f1bfbcfba2202c3c305b5004a6/attribute-array/README.md?plain=1#L98-L128
Query result (could not include s.site)
[
    {
        "name": "Practical Metal Sausages",
        "count": 96
    },
    {
        "name": "Practical Metal Sausages",
        "count": 80
    }
]

Therefore, why not change the query to this?
SELECT p.name, s.name as size, s.count FROM products p JOIN s IN p.sizes WHERE s.count >= 75

Query result (included size name)
[
    {
        "name": "Practical Metal Sausages",
        "size": "Medium",
        "count": 96
    },
    {
        "name": "Practical Metal Sausages",
        "size": "Large",
        "count": 80
    }
]

This was updated some time ago but did not mark issue as closed. Closing now.


Document initializing Elm app in getting-started.md

When trying to make elm-watch working for my project, I struggled because I forgot to initialize the elm app. Adding this little snippet would make it really obvious to no have this mistake.

Thanks!


Move kalilinux.kalilinux <IP_ADDRESS> to KaliLinux.KaliLinux <IP_ADDRESS>

Microsoft Reviewers: Open in CodeFlow

Manifest: The manifest file path must match PackageIdentifier and PackageVersion properties from manifest.
actual 'manifests\k\KaliLinux\KaliLinux\<IP_ADDRESS>',
expected 'manifests\k\kalilinux\kalilinux\<IP_ADDRESS>'

I'm guessing that the removal PR hadn't been Published when this PR was run. Here's verification that the removal has since completed:

@wingetbot run

Manifest: The manifest file path must match PackageIdentifier and PackageVersion properties from manifest.
actual 'manifests\k\KaliLinux\KaliLinux\<IP_ADDRESS>',
expected 'manifests\k\kalilinux\kalilinux\<IP_ADDRESS>'

I'm guessing that the removal PR hadn't been Published when this PR was run. Here's verification that the removal has since completed:

The waiver file still exists in the old path, blocking this PR.


Network - View of the map

Same remark than on scientific evidence: When we first arrive on the network module, we don't see much of the map (the zoom is too high):
![image](https://github.com/Orcasa-Platform/orcasa/assets/139888940/3a72da75-588e-4442-926e-0ca7fd48c0ab
We should have harmonized views of the map for each module

ok for me


Turn off runtime type-checking of Enum.has_serialized?

Motivation
This method can get pretty expensive to runtime-typecheck, especially in deeply-nested recursion that uses string->Enum conversions. Let's turn it off.
Test plan
Added one test for the (faintly absurd) possibility that somebody might pass an arbitrary instance of something weird in.

Jake looked deeper than I did :-)


Filters aren't all working (ownership?)

Click on HUC @ Stockton, CA.

gives 26 results

Filter out "unknown" ownership

gives 2 results

Report

shows 12 results

The 10 "new" barriers have "NA" for estimated cost - they are not fixable (I think).

Issue related to card in MVP project. RH is working on it.

This is a non-issue - the extra barriers presented in the report are a result of not excluding downstream barriers. If downstream barriers are included in the optimization, or even have impacts that are considered in optimization, then they will show up in the report as their data is relevant.


call of duty modern warfere 2 (2009) main menu

When I start the game I can skip the intro easily, but in the main menu when I click anything it didn't do something

I just changed the graphics driver from turnip + zink to LLVMpipe


Go Through Tutorial on Next.js

User Story: As a developer, I'd like to go through a Next.js tutorial, in order to better understand how it works.
Acceptance Criteria:

Go through a tutorial that helps understand the concepts you're trying to implement.
Tutorial should be by someone that knows what they're doing
Tutorial should help build a practice application

https://www.youtube.com/watch?v=ZVnjOPwW4ZA

https://www.youtube.com/watch?v=wm5gMKuwSYk


don't keep the memory stats in the collections to save disk space

http://jenkins01.arangodb.biz:8080/view/PR/job/arangodb-matrix-pr/5454/

tests blue except unrelated failure


GenerateResourcesAndImage reaches error that Connect-AzAccount is not recognized

Description
Following this instruction,
the script helpers/GenerateResourcesAndImage.ps1 calls Connect-AzAccount but it is not found.
Area for Triage:

I'm sorry, I'm not sure.
Question, Bug, or Feature?:
Bug
Maybe documentation need to be updated how to install Connect-AzAccount or the script should be revised not to use Connect-AzAccount.
Virtual environments affected

[x] Ubuntu 16.04
[x] Ubuntu 18.04
[x] Ubuntu 20.04
[ ] macOS 10.15
[ ] macOS 11
[x] Windows Server 2016 R2
[x] Windows Server 2019

Image version
n/a
Expected behavior
The script GenerateResourcesAndImage.ps1 successfully runs.
Actual behavior
The script GenerateResourcesAndImage.ps1 shows an error as below.
GenerateResourcesAndImage : The term 'Connect-AzAccount' is not recognized as the name of a cmdlet, function, script
file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct
and try again.

Repro steps
A description with steps to reproduce the issue. If your have a public example or repo to share,
please provide the link.

Open a Windows PowerShell
Run these commands

choco install packer
Invoke-WebRequest -Uri https://aka.ms/installazurecliwindows -OutFile .\AzureCLI.msi; Start-Process msiexec.exe -Wait -ArgumentList '/I AzureCLI.msi /quiet'; rm .\AzureCLI.msi
Set-Location c:\
git clone https://github.com/actions/virtual-environments.git
Set-Location C:\virtual-environments
Import-Module .\helpers\GenerateResourcesAndImage.ps1
GenerateResourcesAndImage -SubscriptionId {YourSubscriptionId} -ResourceGroupName "myTestResourceGroup" -ImageGenerationRepositoryRoot "$pwd" -ImageType Ubuntu1604 -AzureLocation "East US"

Install Azure CLI - https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-windows?view=azure-cli-latest&tabs=azure-cli.

Looks like guide is incorrect. You should install Azure PowerShell instead of Azure CLI: https://docs.microsoft.com/en-us/powershell/azure/new-azureps-module-az?view=azps-6.0.0

@norihiro, I have created https://github.com/actions/virtual-environments/pull/3466 PR with a section how to install Az module.

I checked Apps & features shows Microsoft Azure CLI 2.24.0 but Connect-AzAccount is not found.

@norihiro Azure CLI != Azure PowerShell. It is two different tools. See updated guide: https://github.com/actions/virtual-environments/pull/3466/files

Thanks @maxim-lobanov,
I can install Azure PowerShell by Install-Module -Name Az -Scope CurrentUser -Repository PSGallery -Force and now the command is found now.
Unfortunately I got another error below. It would be another problem I need to debug.
Set-AzContext : SharedTokenCacheCredential authentication failed: AADSTS9002332: Application
'1950a258-227b-4e31-a9cf-717495945fc2'(Microsoft Azure PowerShell) is configured for use by Azure Active Directory
users only. Please do not use the /consumers endpoint to serve this request.


VIP.DirectDatabaseQuery sniff doesn't recognize wp_cache_delete()

The VIP.DirectDatabaseQuery sniff checks that all database queries are cached. It checks for the wp_cache_get() and wp_cache_set() functions, but not wp_cache_delete(). Maybe VIP requires that when a database option is updated the new value is added to the cache, although this is not the pattern used in WordPress core (the cache is deleted on update and only set on select).

It should also recognize wp_cache_add().


executor client: Plan Failed

I've tried running the full BT example in the tutorials with move transport and assemble actions but am unable to run the full plan. Here is my knowledge initialization:
set instance r2d2 robot
set instance wheels_zone zone
set instance steering_wheels_zone zone
set instance body_car_zone zone
set instance assembly_zone zone
set instance recharge_zone zone
set instance wheel_1 piece
set instance body_car_1 piece
set instance steering_wheel_1 piece
set instance car_1 car
set predicate (robot_at r2d2 body_car_zone)
set predicate (is_assembly_zone assembly_zone)
set predicate (piece_at wheel_1 wheels_zone)
set predicate (piece_at body_car_1 body_car_zone)
set predicate (piece_at steering_wheel_1 steering_wheels_zone)
set predicate (is_recharge_zone recharge_zone)
set predicate (piece_is_wheel wheel_1)
set predicate (piece_is_body_car body_car_1)
set predicate (piece_is_steering_wheel steering_wheel_1)
set predicate (piece_not_used wheel_1)
set predicate (piece_not_used body_car_1)
set predicate (piece_not_used steering_wheel_1)
set predicate (robot_available r2d2)
set predicate (battery_full r2d2)
set goal (and(car_assembled car_1))
The following plan is generated:
plan:
0       (transport r2d2 body_car_1 body_car_zone assembly_zone)    5
5.001   (move r2d2 assembly_zone steering_wheels_zone)     5
10.002  (transport r2d2 steering_wheel_1 steering_wheels_zone assembly_zone)       5
15.003  (move r2d2 assembly_zone wheels_zone)   5
20.004  (transport r2d2 wheel_1 wheels_zone assembly_zone) 5
25.005  (assemble r2d2 assembly_zone wheel_1 body_car_1 steering_wheel_1 car_1)    5
However when I run, the plansys2_bt_example node shows the following output:
[bt_action_node-5] [INFO] [1624737309.265907883] [transport_1]: Waiting for "navigate_to_pose" action server
[bt_action_node-5] [INFO] [1624737309.267119276] [transport_1]: "move" BtActionNode initialized
[bt_action_node-5] OpenGripper tick 0
[bt_action_node-5] OpenGripper tick 1
[bt_action_node-5] OpenGripper tick 2
[bt_action_node-5] OpenGripper tick 3
[bt_action_node-5] OpenGripper tick 4
[bt_action_node-5] OpenGripper tick 5
[bt_action_node-5] ApproachObject tick 0
[bt_action_node-5] ApproachObject tick 1
[bt_action_node-5] ApproachObject tick 2
[bt_action_node-5] ApproachObject tick 3
[bt_action_node-5] ApproachObject tick 4
[bt_action_node-5] ApproachObject tick 5
[bt_action_node-5] CloseGripper tick 0
[bt_action_node-5] CloseGripper tick 1
[bt_action_node-5] CloseGripper tick 2
[bt_action_node-5] CloseGripper tick 3
[bt_action_node-5] CloseGripper tick 4
[bt_action_node-5] CloseGripper tick 5
[bt_action_node-5] [INFO] [1624737312.295797407] [transport_1]: Waiting for "navigate_to_pose" action server
[bt_action_node-5] [PublisherZMQ] Server quitting.
[bt_action_node-5] [PublisherZMQ] just died. Exeption Context was terminated
[bt_action_node-5] [PublisherZMQ] Publisher quitting.
[bt_action_node-5] [PublisherZMQ] just died. Exeption Context was terminated
[bt_action_node-5] [PublisherZMQ] just died. Exeption Socket operation on non-socket
[bt_action_node-5] OpenGripper halt
[bt_action_node-5] ApproachObject halt
[bt_action_node-5] CloseGripper halt
[bt_action_node-5] OpenGripper halt
[plansys2_node-1] [ERROR] [1624737316.838242090] [executor]: Executor BT finished with FAILURE state
[plansys2_node-1] [INFO] [1624737316.838742886] [executor]: Plan Failed
[plansys2_node-1] [PublisherZMQ] Server quitting.
[plansys2_node-1] [PublisherZMQ] just died. Exeption Context was terminated
[plansys2_node-1] [PublisherZMQ] Publisher quitting.
[plansys2_node-1] [PublisherZMQ] just died. Exeption Context was terminated
I have tried small variations on the knowledge and goal but have the same result for any plan combining different actions other than simple moves from one zone to another.

The common step where things go wrong in the by_action_node is:
[bt_action_node-2] [INFO] [1624738478.858006125] [move_1]: Waiting for "navigate_to_pose" action server
[bt_action_node-2] [PublisherZMQ] Server quitting.

Hi @tammerb
This example is designed to interact with Nav2. You can start nav2 in another terminal or use a nav2_sim_node that implements a "fake" Nav2 (a navigate_to_pose` action server).

@fmrico yes I have the Nav2 node running (the real one) and it works for a simple plan with only a move action. This error only happens when there is transport or assemble actions and then a move action is called after that, as in the output above.

Closing... reopen if you continue with this error


Multiple row selection without pressing control  button

currently for selecting multiple rows we have to press control button along with click.
Is there any way we can get multiple row selection by only on mouse click ?
current behavior
https://www.ag-grid.com/javascript-grid-selection/index.php

suppressRowClickSelection: true
suppressCellSelection: true
  gridDiv = document.getElementById 'table'

  observer = new MutationObserver (mutations) ->
    mutations.forEach (mutation) ->
      if mutation.type == 'childList' && mutation.target.className.split(' ')[0] == 'ag-row'
        $(gridDiv).delegate '.ag-row', 'click', ->
          console.log @
          #  How to toggle class 'ag-row-selected' for selected row?
  config =
    subtree: true
    childList: true
  observer.observe gridDiv, config

Solution:
gridDiv = document.getElementById 'table'
$(gridDiv).delegate '.ag-row', 'click', ->
    $(@).toggleClass 'ag-row-selected'

gridOptions =
  suppressRowClickSelection: true

there is no way in the grid to have row click select multiple rows.
what you can do is turn selection off, and then do the selection yourself (using the api). the selection will still work through the api, but the grid will not do selection when you click.
then add rowClicked listener to ag-grid, and the select or unselect using the api.

or use checkbox selection.

Select by click and deselect by second click the same rows.
.coffee
gridDiv = document.getElementById 'tracker-table'

$(gridDiv).delegate '.ag-row', 'click', ->
  $(@).toggleClass 'ag-row-selected'
  select = $(@).hasClass 'ag-row-selected'
  gridOptions.api.rowModel.rowRenderer.renderedRows[@.getAttribute('row')].rowNode.setSelected select`

gridOptions =
  rowSelection: 'multiple'
  suppressRowClickSelection: true
  suppressCellSelection: true
  suppressMenuHide: true

Hi Niall Crosby,
Thanks for the suggestion


General balance comments

catch-all for balance discussions in invictus chat

"similarly, when you look at the MIL difference between Bohemia and England, it doesn't at all line up with our barracks difference (where I think England has a few more) but might line up with our ammunition/arms/electrical factory difference (tho the cap must be influencing this also)"
"I personally feel that neither Eng or Boh should have more total factories than the next two tier 2 powers combined if we want a legitimately interesting Hoi, esp. when we factor in the ability to build additional mils and civies."
"I think our capacity to build more factories is less different than it seems because of state caps"

vaniver (Bohemia): unclear how much to balance 'interesting hoi' vs. 'power -> power'; I think it is the case in V3 that both Tazzzo and I are stronger than 2 tier 2 players, and selfishly would like to keep that going into HOI4
[3:12 PM]vaniver (Bohemia): but I do think leaning towards the 2x end of that spectrum is better than the 3x end (which is what the converter currently does)
The Professor - Northern Russia: short of KoM or you or me spending 6 months to a year rewriting the converter from scratch and not waiting until last minute every single time to make/test the converters, I think in general having a fair power=power converter isn't really on the table. I think when I originally wrote the pop redistribution it was a few weeks of iteration and very thorough logging and debugging before the players (mainly Tazzzo) were satisfied with the results. It seems to me we'll be doing some very rough approximations in which case we should look to see what is fair while also being interesting and fun
[3:16 PM]The Professor - Northern Russia: Like as it is if the two of you just play your cards right it'll probably just be a foregone conclusion within a few years ingame if you two like Molotov-Rippentrop each other until its only you and a couple of the allies you trust the most and feel are the most useful.

[3:52 PM]The Professor - Northern Russia: Basically I feel like to avoid game-theory shenanigans we need a combination of raising the tier 3 nations up, and lowering the tier 0's to be tier 1's relative to the tier 2s. And that while obviously it'd be nice from your perspective to convert with the relative balance of power you currently have, I don't think it'll result in a fun game of hoi for either of you.

that is, all of our tier 2 players have approximately vanilla USA levels of factories
4:04 PM]The Professor - Northern Russia: like there's being 5x the ic of vanilla hoi seems excessive and our tier 0's converting with 3.5x the USA's similarly seems excessive.
// (factory conversion rework?)

[4:33 PM]The Professor - Northern Russia: as a reminder, I don't really think we had this for EU-V3, I'm not entirely sure we should expect this for V3 to Hoi4; what we should have is something that approximately vaguely looks like the relative balance of power of V3, but accept a lot of nuances will be lost; and we should be readily prioritizing a fun and competitive hoi4 game over accuracy; because having no game at all is worse than a relatively inaccurate yet fun game.
[4:34 PM]The Professor - Northern Russia: Like we literally didn't play the draft round last time due to it being percieved as hopeless by the other team; that sucks, I don't want that to happen again.


Qwen2 tool calling support

Please support the API tool calling capability of Qwen2. By the way, if I want to implement the API tool calling capability of Qwen2 in Ollma myself, can I make it? What shall I do?
thank you!!!

I also want to know that .
I downloaded Qwen/Qwen2-7B Instruction, which supports tools but cannot be used in Ollama

谢谢您给马坤发送邮件，我会及时查看的，谢谢，辛苦了

I also want to know that . I downloaded Qwen/Qwen2-7B-Instruct , which supports tools but cannot be used in Ollama

glm4 also do not work. Maybe ollama only support llama3.1, mistral for now.

FYI, this is the reference implementation from Qwen:

https://github.com/QwenLM/Qwen-Agent/blob/main/qwen_agent/llm/function_calling.py#L381

Example usages:

https://github.com/QwenLM/Qwen-Agent/blob/main/examples/function_calling.py
https://github.com/QwenLM/Qwen-Agent/blob/main/examples/function_calling_in_parallel.py

I'm looking into how to port Qwen's implementation to Ollama as well. Unfortunately, Ollama is written in Go, not Python. I'm not familiar with Go. So the progress is slow. If the upcoming Qwen 2.5 supports the tool-calling prompt used by LLaMA 3.1, things might be easier.
cc @JustinLin610

FYI, this is the reference implementation from Qwen:

https://github.com/QwenLM/Qwen-Agent/blob/main/qwen_agent/llm/function_calling.py#L381

Example usages:

https://github.com/QwenLM/Qwen-Agent/blob/main/examples/function_calling.py
https://github.com/QwenLM/Qwen-Agent/blob/main/examples/function_calling_in_parallel.py

I'm looking into how to port Qwen's implementation to Ollama as well. Unfortunately, Ollama is written in Go, not Python. I'm not familiar with Go. So the progress is slow. If the upcoming Qwen 2.5 supports the tool-calling prompt used by LLaMA 3.1, things might be easier.
cc @JustinLin610

Thank you for your information! I have been searching for ways to use API tools calling for a long time, such as: fastchat, vllm. But they do not support glm4, Qwen2, etc. In my observation, many methods in Langchain require API tools calling, such as llm.bind_tools(), llm.with_structured_output(), etc. So if there is a middleware that can implement API tool calling for Chinese open source llm in the future, that would be excellent.

I have read the source code of Ollma, but since I am not very familiar with Go, I am not sure if my understanding is correct.

Receiving a POST request from this line of code:

r.POST("/v1/chat/completions", openai.ChatMiddleware(), s.ChatHandler)

s.GeneratedHandler will determine whether the model has tool capability in following code:

r, m, opts, err := s.scheduleRunner(c.Request.Context(), req.Model, caps, req.Options, req.KeepAlive)

s.scheduleRunner function first reads the corresponding prompt template file under /usr/share/ollama/.ollama/models/Blobs/, which code is:

        mp := ParseModelPath(name)
	manifest, digest, err := GetManifest(mp)
	if err != nil {
		return nil, err
	}

	model := &Model{
		Name:      mp.GetFullTagname(),
		ShortName: mp.GetShortTagname(),
		Digest:    digest,
		Template:  template.DefaultTemplate,
	}

	filename, err := GetBlobsPath(manifest.Config.Digest)

If there is {{. tool}} in this template file, model.CheckCapabilities(caps...) can pass(in s.scheduleRunner), otherwise it will report an error
Assembling template files as prompt:

prompt, images, err := chatPrompt(c.Request.Context(), m, r.Tokenize, opts, req.Messages, req.Tools)

llm responds based on prompt(Tools information only appear in prompt)

r.Completion(c.Request.Context(), llm.CompletionRequest{
			Prompt:  prompt,
			Images:  images,
			Format:  req.Format,
			Options: opts,
		}

I have read the source code of Ollma, but since I am not very familiar with Go, I am not sure if my understanding is correct.

Receiving a POST request from this line of code:

r.POST("/v1/chat/completions", openai.ChatMiddleware(), s.ChatHandler)

s.GeneratedHandler will determine whether the model has tool capability in following code:

r, m, opts, err := s.scheduleRunner(c.Request.Context(), req.Model, caps, req.Options, req.KeepAlive)

s.scheduleRunner function first reads the corresponding prompt template file under /usr/share/ollama/.ollama/models/Blobs/, which code is:

        mp := ParseModelPath(name)
	manifest, digest, err := GetManifest(mp)
	if err != nil {
		return nil, err
	}

	model := &Model{
		Name:      mp.GetFullTagname(),
		ShortName: mp.GetShortTagname(),
		Digest:    digest,
		Template:  template.DefaultTemplate,
	}

	filename, err := GetBlobsPath(manifest.Config.Digest)

If there is {{. tool}} in this template file, model.CheckCapabilities(caps...) can pass(in s.scheduleRunner), otherwise it will report an error
Assembling template files as prompt:

prompt, images, err := chatPrompt(c.Request.Context(), m, r.Tokenize, opts, req.Messages, req.Tools)

llm responds based on prompt(Tools information only appear in prompt)

r.Completion(c.Request.Context(), llm.CompletionRequest{
			Prompt:  prompt,
			Images:  images,
			Format:  req.Format,
			Options: opts,
		}

So, Is it possible for Qwen2 to implement API tool calling as long as I adapt the prompt template in /usr/share/ollama/.ollama/models/Blobs/?

I just made a tool call template for qwen2:7b: https://ollama.com/majx13/test
However, the latest install.sh installs Ollama version 0.3.0 for me (which is weird), not 0.3.1 that includes the tool call functionality. Therefore, I haven't tested if the template is correct. I'm just sharing this and hope it helps.
I'll test it later once I have 0.3.1 installed.

I just made a tool call template for qwen2:7b: https://ollama.com/majx13/test
However, the latest install.sh installs Ollama version 0.3.0 for me (which is weird), not 0.3.1 that includes the tool call functionality. Therefore, I haven't tested if the template is correct. I'm just sharing this and hope it helps.
I'll test it later once I have 0.3.1 installed.

@JianxinMa Firstly, thank you for your attention and work. I downloaded the test model you provided, made a request using curl and received the following response. I feel like it works.

However, further experiments and adaptation may be necessary.
This is the corresponding content field:
'''json
<tool_call>
{"name": "get_current_weather", "arguments": {"location": "Paris", "format": "celsius"}}
<tool_call>

@jiandandema Hi, I have just updated the template at https://ollama.com/majx13/test Please make sure to ollama pull majx13/test. It should work now. Tested with ollama 0.3.2.
The script for testing:
from openai import OpenAI
import json

model = "majx13/test"
client = OpenAI(
    base_url="http://localhost:11434/v1/",
    # required but ignored
    api_key="ollama",
)

# Example dummy function hard coded to return the same weather
# In production, this could be your backend API or an external API
def get_current_weather(location, unit="fahrenheit"):
    """Get the current weather in a given location"""
    if "tokyo" in location.lower():
        return json.dumps({"location": "Tokyo", "temperature": "10", "unit": unit})
    elif "san francisco" in location.lower():
        return json.dumps(
            {"location": "San Francisco", "temperature": "72", "unit": unit}
        )
    elif "paris" in location.lower():
        return json.dumps({"location": "Paris", "temperature": "22", "unit": unit})
    else:
        return json.dumps({"location": location, "temperature": "unknown"})

def run_conversation():
    # Step 1: send the conversation and available functions to the model
    messages = [
        {
            "role": "user",
            "content": "What's the weather like in San Francisco, Tokyo, and Paris?",
        }
    ]
    tools = [
        {
            "type": "function",
            "function": {
                "name": "get_current_weather",
                "description": "Get the current weather in a given location",
                "parameters": {
                    "type": "object",
                    "properties": {
                        "location": {
                            "type": "string",
                            "description": "The city and state, e.g. San Francisco, CA",
                        },
                        "unit": {"type": "string", "enum": ["celsius", "fahrenheit"]},
                    },
                    "required": ["location"],
                },
            },
        }
    ]
    response = client.chat.completions.create(
        model=model,
        messages=messages,
        tools=tools,
    )
    print(response)
    response_message = response.choices[0].message
    tool_calls = response_message.tool_calls
    # Step 2: check if the model wanted to call a function
    if tool_calls:
        # Step 3: call the function
        # Note: the JSON response may not always be valid; be sure to handle errors
        available_functions = {
            "get_current_weather": get_current_weather,
        }  # only one function in this example, but you can have multiple
        messages.append(response_message)  # extend conversation with assistant's reply
        # Step 4: send the info for each function call and function response to the model
        for tool_call in tool_calls:
            function_name = tool_call.function.name
            function_to_call = available_functions[function_name]
            function_args = json.loads(tool_call.function.arguments)
            print(f'Calling Function {function_name} with Argument {function_args}...')
            function_response = function_to_call(
                location=function_args.get("location"),
                unit=function_args.get("unit"),
            )
            messages.append(
                {
                    "tool_call_id": tool_call.id,
                    "role": "tool",
                    "name": function_name,
                    "content": function_response,
                }
            )  # extend conversation with function response
        second_response = client.chat.completions.create(
            model=model,
            messages=messages,
            tools=tools,
        )  # get a new response from the model where it can see the function response
        print(second_response)

run_conversation()

which should output:
ChatCompletion(id='chatcmpl-697', choices=[Choice(finish_reason='tool_calls', index=0, logprobs=None, message=ChatCompletionMessage(content='', role='assistant', function_call=None, tool_calls=[ChatCompletionMessageToolCall(id='call_kknhr1o0', function=Function(arguments='{"location":"San Francisco, CA"}', name='get_current_weather'), type='function'), ChatCompletionMessageToolCall(id='call_8cqnavtc', function=Function(arguments='{"location":"Tokyo","unit":"celsius"}', name='get_current_weather'), type='function'), ChatCompletionMessageToolCall(id='call_9jzm14a3', function=Function(arguments='{"location":"Paris, FR"}', name='get_current_weather'), type='function')]))], created=1722493532, model='majx13/test', object='chat.completion', service_tier=None, system_fingerprint='fp_ollama', usage=CompletionUsage(completion_tokens=89, prompt_tokens=200, total_tokens=289))
Calling Function get_current_weather with Argument {'location': 'San Francisco, CA'}...
Calling Function get_current_weather with Argument {'location': 'Tokyo', 'unit': 'celsius'}...
Calling Function get_current_weather with Argument {'location': 'Paris, FR'}...
ChatCompletion(id='chatcmpl-175', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content="The current weather in San Francisco is 72 degrees. In Tokyo, the temperature is 10 degrees Celsius. And in Paris, it's around 22 degrees.", role='assistant', function_call=None, tool_calls=None))], created=1722493548, model='majx13/test', object='chat.completion', service_tier=None, system_fingerprint='fp_ollama', usage=CompletionUsage(completion_tokens=37, prompt_tokens=275, total_tokens=312))

I will try to contact the maintainer of Qwen2 to use this template if it works for you as well.

@jiandandema Hi, I have just updated the template at https://ollama.com/majx13/test Please make sure to ollama pull majx13/test. It should work now. Tested with ollama 0.3.2.
The script for testing:
from openai import OpenAI
import json

model = "majx13/test"
client = OpenAI(
    base_url="http://localhost:11434/v1/",
    # required but ignored
    api_key="ollama",
)

# Example dummy function hard coded to return the same weather
# In production, this could be your backend API or an external API
def get_current_weather(location, unit="fahrenheit"):
    """Get the current weather in a given location"""
    if "tokyo" in location.lower():
        return json.dumps({"location": "Tokyo", "temperature": "10", "unit": unit})
    elif "san francisco" in location.lower():
        return json.dumps(
            {"location": "San Francisco", "temperature": "72", "unit": unit}
        )
    elif "paris" in location.lower():
        return json.dumps({"location": "Paris", "temperature": "22", "unit": unit})
    else:
        return json.dumps({"location": location, "temperature": "unknown"})

def run_conversation():
    # Step 1: send the conversation and available functions to the model
    messages = [
        {
            "role": "user",
            "content": "What's the weather like in San Francisco, Tokyo, and Paris?",
        }
    ]
    tools = [
        {
            "type": "function",
            "function": {
                "name": "get_current_weather",
                "description": "Get the current weather in a given location",
                "parameters": {
                    "type": "object",
                    "properties": {
                        "location": {
                            "type": "string",
                            "description": "The city and state, e.g. San Francisco, CA",
                        },
                        "unit": {"type": "string", "enum": ["celsius", "fahrenheit"]},
                    },
                    "required": ["location"],
                },
            },
        }
    ]
    response = client.chat.completions.create(
        model=model,
        messages=messages,
        tools=tools,
    )
    print(response)
    response_message = response.choices[0].message
    tool_calls = response_message.tool_calls
    # Step 2: check if the model wanted to call a function
    if tool_calls:
        # Step 3: call the function
        # Note: the JSON response may not always be valid; be sure to handle errors
        available_functions = {
            "get_current_weather": get_current_weather,
        }  # only one function in this example, but you can have multiple
        messages.append(response_message)  # extend conversation with assistant's reply
        # Step 4: send the info for each function call and function response to the model
        for tool_call in tool_calls:
            function_name = tool_call.function.name
            function_to_call = available_functions[function_name]
            function_args = json.loads(tool_call.function.arguments)
            print(f'Calling Function {function_name} with Argument {function_args}...')
            function_response = function_to_call(
                location=function_args.get("location"),
                unit=function_args.get("unit"),
            )
            messages.append(
                {
                    "tool_call_id": tool_call.id,
                    "role": "tool",
                    "name": function_name,
                    "content": function_response,
                }
            )  # extend conversation with function response
        second_response = client.chat.completions.create(
            model=model,
            messages=messages,
            tools=tools,
        )  # get a new response from the model where it can see the function response
        print(second_response)

run_conversation()

which should output:
ChatCompletion(id='chatcmpl-697', choices=[Choice(finish_reason='tool_calls', index=0, logprobs=None, message=ChatCompletionMessage(content='', role='assistant', function_call=None, tool_calls=[ChatCompletionMessageToolCall(id='call_kknhr1o0', function=Function(arguments='{"location":"San Francisco, CA"}', name='get_current_weather'), type='function'), ChatCompletionMessageToolCall(id='call_8cqnavtc', function=Function(arguments='{"location":"Tokyo","unit":"celsius"}', name='get_current_weather'), type='function'), ChatCompletionMessageToolCall(id='call_9jzm14a3', function=Function(arguments='{"location":"Paris, FR"}', name='get_current_weather'), type='function')]))], created=1722493532, model='majx13/test', object='chat.completion', service_tier=None, system_fingerprint='fp_ollama', usage=CompletionUsage(completion_tokens=89, prompt_tokens=200, total_tokens=289))
Calling Function get_current_weather with Argument {'location': 'San Francisco, CA'}...
Calling Function get_current_weather with Argument {'location': 'Tokyo', 'unit': 'celsius'}...
Calling Function get_current_weather with Argument {'location': 'Paris, FR'}...
ChatCompletion(id='chatcmpl-175', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content="The current weather in San Francisco is 72 degrees. In Tokyo, the temperature is 10 degrees Celsius. And in Paris, it's around 22 degrees.", role='assistant', function_call=None, tool_calls=None))], created=1722493548, model='majx13/test', object='chat.completion', service_tier=None, system_fingerprint='fp_ollama', usage=CompletionUsage(completion_tokens=37, prompt_tokens=275, total_tokens=312))

I will try to contact the maintainer of Qwen2 to use this template if it works for you as well.

@JianxinMa Yes, I received the expected input! Here is the content I output:
ChatCompletion(id='chatcmpl-110', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content='', role='assistant', function_call=None, tool_calls=[ChatCompletionMessageToolCall(id='call_0b4t0xdv', function=Function(arguments='{"location":"San Francisco","unit":"fahrenheit"}', name='get_current_weather'), type='function'), ChatCompletionMessageToolCall(id='call_up10pk71', function=Function(arguments='{"location":"Tokyo","unit":"celsius"}', name='get_current_weather'), type='function'), ChatCompletionMessageToolCall(id='call_7obsb4sn', function=Function(arguments='{"location":"Paris","unit":"fahrenheit"}', name='get_current_weather'), type='function')]))], created=1722659045, model='majx13/test', object='chat.completion', service_tier=None, system_fingerprint='fp_ollama', usage=CompletionUsage(completion_tokens=99, prompt_tokens=200, total_tokens=299))
Calling Function get_current_weather with Argument {'location': 'San Francisco', 'unit': 'fahrenheit'}...
Calling Function get_current_weather with Argument {'location': 'Tokyo', 'unit': 'celsius'}...
Calling Function get_current_weather with Argument {'location': 'Paris', 'unit': 'fahrenheit'}...
ChatCompletion(id='chatcmpl-947', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content="The current weather in San Francisco is 72 degrees Fahrenheit. In Tokyo, it's 10 degrees Celsius and in Paris, the temperature is 22 degrees Fahrenheit.", role='assistant', function_call=None, tool_calls=None))], created=1722659046, model='majx13/test', object='chat.completion', service_tier=None, system_fingerprint='fp_ollama', usage=CompletionUsage(completion_tokens=37, prompt_tokens=279, total_tokens=316))

Finally, thank you again for your attention and work!

I also tested the llm.with_structured_output() method in Langchain and was able to obtain the expected results. This is fantastic!

I've been aiming for this result for the past month or two, and I was able to achieve it using OpenAI's API earlier on. I will continue to test other methods in Langchain going forward.
here are the test codes
import getpass
import os
from langchain_openai import ChatOpenAI
from typing import Annotated, List, Tuple, TypedDict
from typing import Optional
from langchain_core.pydantic_v1 import BaseModel, Field

os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_ENDPOINT"] = "https://api.smith.langchain.com"
os.environ["LANGCHAIN_API_KEY"] = "your_langsmith_api_key"

class Joke(BaseModel):
    """Joke to tell user."""

    setup: str = Field(description="The setup of the joke")
    punchline: str = Field(description="The punchline to the joke")
    rating: Optional[int] = Field(description="How funny the joke is, from 1 to 10")

class planer(BaseModel):
    """Based on user question, plan a list of steps"""

    steps: List[str] = Field(description="List of steps")

llm = ChatOpenAI(model="majx13/test",base_url="http://localhost:11434/v1",api_key="1", temperature=0)

structured_llm = llm.with_structured_output(planer)

print(structured_llm.invoke("I want to put the elephant in the fridge."))

Thanks,it works on Ollama0.3.4 with Qwen2:7b.
How can I make it support Qwen2:72b?

Thanks,it works on Ollama0.3.4 with Qwen2:7b. How can I make it support Qwen2:72b?

I think it can be done. I think updating the prompt template is enough. The path in Linux is:/usr/share/ollama/. ollama/models/Blobs/. You can take a detailed look at the files in this directory

@jiandandema I wonder if you add the label "model request", this might become closer to solved? I tried majx13/test as well, and I think main thing is to get the right folks aware of this issue.

谢谢您给马坤发送邮件，我会及时查看的，谢谢，辛苦了

@jiandandema I wonder if you add the label "model request", this might become closer to solved? I tried majx13/test as well, and I think main thing is to get the right folks aware of this issue.

sorry, I don’t know which “model request” label you mean. In LangChain or Ollama?

On this issue here in ollama.. I don't know if you have the right to add the label, but maybe try

For example, you can look at https://github.com/ollama/ollama/issues/6564 which has the label "model request"
 instead of what this issue has, which is "feature request"

By adding the label "model request" to this issue #6007, there is a chance someone may look at it who currently isn't yet.

For example, you can look at #6564 which has the label "model request"  instead of what this issue has, which is "feature request"
By adding the label "model request" to this issue #6007, there is a chance someone may look at it who currently isn't yet.

I'm sorry, I misunderstood what you meant. I'll add that label in a moment. Thank you for your reminding!

I also tested the llm.with_structured_output() method in Langchain and was able to obtain the expected results. This is fantastic!  I've been aiming for this result for the past month or two, and I was able to achieve it using OpenAI's API earlier on. I will continue to test other methods in Langchain going forward. here are the test codes
import getpass
import os
from langchain_openai import ChatOpenAI
from typing import Annotated, List, Tuple, TypedDict
from typing import Optional
from langchain_core.pydantic_v1 import BaseModel, Field

os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_ENDPOINT"] = "https://api.smith.langchain.com"
os.environ["LANGCHAIN_API_KEY"] = "your_langsmith_api_key"

class Joke(BaseModel):
    """Joke to tell user."""

    setup: str = Field(description="The setup of the joke")
    punchline: str = Field(description="The punchline to the joke")
    rating: Optional[int] = Field(description="How funny the joke is, from 1 to 10")

class planer(BaseModel):
    """Based on user question, plan a list of steps"""

    steps: List[str] = Field(description="List of steps")

llm = ChatOpenAI(model="majx13/test",base_url="http://localhost:11434/v1",api_key="1", temperature=0)

structured_llm = llm.with_structured_output(planer)

print(structured_llm.invoke("I want to put the elephant in the fridge."))

在LangGraph上可用， 感谢

I just made a tool call template for qwen2:7b: https://ollama.com/majx13/test
However, the latest install.sh installs Ollama version 0.3.0 for me (which is weird), not 0.3.1 that includes the tool call functionality. Therefore, I haven't tested if the template is correct. I'm just sharing this and hope it helps.
I'll test it later once I have 0.3.1 installed.

@JianxinMa  在LangGraph上测试可用，感谢，
请问qwen 对齐tool call的正式版什么时候会发布

I just made a tool call template for qwen2:7b: https://ollama.com/majx13/test
However, the latest install.sh installs Ollama version 0.3.0 for me (which is weird), not 0.3.1 that includes the tool call functionality. Therefore, I haven't tested if the template is correct. I'm just sharing this and hope it helps.
I'll test it later once I have 0.3.1 installed.

@JianxinMa 在LangGraph上测试可用，感谢， 请问qwen 对齐tool call的正式版什么时候会发布

The Qwen2 repository on Ollama is maintained by the Ollama team and not by the Qwen team. We reached out to them several weeks ago, but we haven't received any updates from Ollama recently.
Our plan is to at least introduce support for tool calls in Qwen2.5, which should be happening soon.

@JianxinMa thank you! Sorry for delay, we will look at this asap (and in the near future make it easier to collaborate/contribute to this repository)

Is there any plan to introduce the tool-use instruction tuning model of qwen2 into ollama?

Hi folks sorry for the delay. Qwen2 has been updated with the recommended system prompt, as well as the nous-style tool calling from the Qwen-Agent repo https://ollama.com/library/qwen2

@jmorganca great! I can verify qwen2. I often use qwen2:0.5b and qwen2 qwen2:1.5b in tests as they are a lot smaller. Is there any chance you can update the prompts on the other tags?

@codefromthecrypt I'm not sure qwen2:0.5b and qwen2:1.5b support tool calling. I tried with these models but it didn't seem to produce the intended output.

@jklj077 do you mind verifying the expectations on  qwen2:0.5b and qwen2:1.5b vs qwen2 (7b) on this template? https://ollama.com/library/qwen2/blobs/77c91b422cc9
Ack I recall 2.5 will more formally support tools.

@codefromthecrypt Both Qwen2-0.5B-Instruct and Qwen2-1.5B-Instruct were indeed trained using function/tool calling data. While the original template might not be entirely feasible with Go, it seems that the new template (nous-style) works largely thanks to the models' ability to follow instructions. However, the smaller models, especially after quantization, don't always follow instructions as accurately. I found that the tags were often missing in the generated text, which I would say is expected.

@jklj077 this makes sense - I did see with Qwen2 it fail at tool calling syntax at one point - ebem 7B - 72B seemed potentialy better (but a little slow in my current hardware to fully experience) so makes sense.

Does Qwen have ability to respond with special token <tool_call>?

谢谢您给马坤发送邮件，我会及时查看的，谢谢，辛苦了

@ivanstepanovftw technically yes for all models from all gens. There are examples in that pattern/template in training Qwen2.5 instruct models; for other gens, prompt engineering should also work. but since 2.5, <tool_call> is a special token and due to implementation differences, it may or may not be filtered by the framework in the output.

@jklj077 I have troubles in llama.cpp to get <tool_call> token :disappointed:, though I do not remember if it is filtered somewhere...


Add support for uni v3 quotes

https://github.com/yearn/yearn-lens/blob/master/contracts/Oracle/Calculations/Sushiswap.sol#L6
In this part the contract supports only uni v2 router quotes but in newer chains like arbitrum and optimism we only have sushi and uni v3 to work with.
Also may be good to update to use v3 as a source of pricing to this.

Can I take this issue?

Gonna take a stab at this. seems like one just needs to make a new Calculations file for uni v3 which will eventually get called and succeed when all the other Calculations files revert.

Some note taking on my side. may edit later as well...
Uniswap v3 Pools
A pool is a tuple with two tokens and a fee

https://docs.uniswap.org/protocol/reference/core/UniswapV3Factory#createpool
https://github.com/Uniswap/v3-core/blob/v1.0.0/contracts/UniswapV3Factory.sol#L45

Problem
When getPriceUsdc is called, there is no way to know which fee tier to use in order to identify the pool. It's possible for a token pair to utilize all fee schedules therefore multiple pools would exist per pair (one for each fee).
According to the whitepaper, fee tiers can be expanded past the initial three. A solution should exist to handle this scenario. See page 3 in https://uniswap.org/whitepaper-v3.pdf
All three fee tiers are used for the eth-usdc pair for example:

https://etherscan.io/address/0x1f98431c8ad98523631ae4a59f267346ea31f984#readContract

0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
[500, 3000, 10000...?]

The solutions are:

Loop through all known fee values (with known fee values updatable somehow) and average out the price from all pools. The problem with this solution is that if one pool is drained then the average will be affected. Another problem is that if a pool returns 0 (because a pool doesn't exist for that fee), then you would need to add in logic to exclude that calc.
Return the first pool that has data. This should roughly match the other pools. Has the same problem as solution number one but also has another problem on the dependencies on arbitrageurs to keep all the pools in line.
Have an oracle that stores the "best" reference fee for the given pair. We can then always assume that the fee provided will provide the pool with the best price. The con of this solution is that this list of fees would need to be updated constantly as new pools emerge

the pr was merged https://github.com/yearn/yearn-lens/pull/43/files

@storming0x can we close? thx

thanks @0xkofee!


Avazu_x4 weirdly requires an extremely large amount of video memory.

I directly downloaded the preprocessed Avazu_x4 dataset, then discarded the id feature, and processed all other features as string categorical features. However, it is very strange that it needs a huge amount of GPU memory to be loaded (about 31G !!!!), and I can’t even use this dataset on Nvidia V100 32G because of OOM.
Is this normal? Is there any way to fix this?

We run the benchmark experiment on Avazu_x4 on 16G GPU. Can you provide more details? Which experiment steps do you follow?

I use DeepFM implemented by FuxiCTR(2.0+), dataset is downloaded from link in this section and don't do any preprocess(nor did the preprocessing of x4_001 or x4_002 below).
my setting:
dataset_config.yaml
Avazu:
  data_format: csv
  data_root: ../../../data/
  feature_cols:
    [
      {active: False, dtype: str, name: ["id"], type: categorical}
      {
        active: True,
        dtype: str,
        name:
          [
            "C1",
            "hour",
            "banner_pos",
            "site_id",
            "site_domain",
            "site_category",
            "app_id",
            "app_domain",
            "app_category",
            "device_id",
            "device_ip",
            "device_model",
            "device_type",
            "device_conn_type",
            "C14",
            "C15",
            "C16",
            "C17",
            "C18",
            "C19",
            "C20",
            "C21",
          ],
        type: categorical,
      },
    ]
  label_col: { dtype: int, name: "click" }
  min_categr_count: 1
  test_data: ../../../data/Avazu/test.csv
  train_data: ../../../data/Avazu/train.csv
  valid_data: ../../../data/Avazu/valid.csv

model_config.yaml
DeepFM_Avazu:
  batch_norm: True
  batch_size: 4096
  dataset_id: Avazu
  early_stop_patience: 2
  embedding_dim: 32
  embedding_regularizer: 0.01
  epochs: 100
  hidden_activations: relu
  hidden_units: [400, 400, 400]
  learning_rate: 1.e-3
  loss: "binary_crossentropy"
  metrics: ["logloss", "AUC"]
  model: DeepFM
  monitor: AUC
  monitor_mode: max
  net_dropout: 0.3
  net_regularizer: 0
  optimizer: adam
  seed: 2023
  shuffle: True
  task: binary_classification
  verbose: 1

Another information that may be useful is that I found that the GPU memory usage are not significantly influenced by batch_size . I have tried training with batch_size = 2, but OOM errors still occur.

I figured out a way to avoid this problem. After trying I found out that this is OOM caused by setting the dtype to str, so I changed dataset_config.yaml:
Avazu:
  data_format: csv
  data_root: ../../data/
  feature_cols:
    [
      {
        active: False,
        dtype: str,
        name: ["id"],
        type: categorical,
      },
      {
        active: True,
        dtype: str,
        name:
          [
            "site_id",
            "site_domain",
            "site_category",
            "app_id",
            "app_domain",
            "app_category",
            "device_id",
            "device_ip",
            "device_model",
          ],
        type: categorical,
      },
      {
        active: True,
        dtype: int,
        name: [
            "hour",
            "C1",
            "banner_pos",
            "device_type",
            "device_conn_type",
            "C14",
            "C15",
            "C16",
            "C17",
            "C18",
            "C19",
            "C20",
            "C21",
        ],
        type: categorical,
      },
    ]
  label_col: { dtype: int, name: "click" }
  min_categr_count: 1
  test_data: ../../data/Avazu/test.csv
  train_data: ../../data/Avazu/train.csv
  valid_data: ../../data/Avazu/valid.csv

But under this setting, fuxi_ctr seems to have a bug, it will report an error:
Traceback (most recent call last):
  File "xxx/FuxiCTR/model_zoo/MY_MODEL/run_expid.py", line 65, in <module>
    params["train_data"], params["valid_data"], params["test_data"] = build_dataset(
  File "xxx/FuxiCTR/fuxictr/preprocess/build_dataset.py", line 104, in build_dataset
    feature_encoder.fit(train_ddf, **kwargs)
  File "xxx/FuxiCTR/fuxictr/preprocess/feature_processor.py", line 139, in fit
    self.save_vocab(self.vocab_file)
  File "xxx/FuxiCTR/fuxictr/preprocess/feature_processor.py", line 334, in save_vocab
    fd.write(json.dumps(vocab, indent=4))
  File "xxx/anaconda3/envs/py39/lib/python3.9/json/__init__.py", line 234, in dumps
    return cls(
  File "xxx/anaconda3/envs/py39/lib/python3.9/json/encoder.py", line 201, in encode
    chunks = list(chunks)
  File "xxx/anaconda3/envs/py39/lib/python3.9/json/encoder.py", line 431, in _iterencode
    yield from _iterencode_dict(o, _current_indent_level)
  File "xxx/anaconda3/envs/py39/lib/python3.9/json/encoder.py", line 405, in _iterencode_dict
    yield from chunks
  File "xxx/anaconda3/envs/py39/lib/python3.9/json/encoder.py", line 376, in _iterencode_dict
    raise TypeError(f'keys must be str, int, float, bool or None, '
TypeError: keys must be str, int, float, bool or None, not int64

It looks like it doesn't convert numpy's integer type to python's built-in integer type correctly, I fixed this problem by modifying the source code:
  # in file FuxiCTR/fuxictr/preprocess/feature_processor.py
  def save_vocab(self, vocab_file):
      logging.info("Save feature_vocab to json: " + vocab_file)
      vocab = dict()
      for feature, spec in self.feature_map.features.items():
          if spec["type"] in ["categorical", "sequence"]:
              vocab[feature] = OrderedDict(
                  sorted(self.processor_dict[feature + "::tokenizer"].vocab.items(), key=lambda x:x[1]))

      print("before:",[str(k)+": "+str(set(str(type(kk)) for kk in vocab[k])) for k in vocab])
      for sub_dict in vocab.values():
          for k in list(sub_dict.keys()):
              if isinstance(k, (np.int8, np.int16, np.int32, np.int64)):
                  sub_dict[int(k)] = sub_dict[k]
                  del sub_dict[k]
      print("after:",[str(k)+": "+str(set(str(type(kk)) for kk in vocab[k])) for k in vocab])

      with open(vocab_file, "w") as fd:
          fd.write(json.dumps(vocab, indent=4))

Please consider to fix it officially in the next update.

Close after fixed.


Add ability to pass in scale prop to correctly move draggable element at different scales

Based on this original PR: https://github.com/mzabriskie/react-draggable/pull/217/files, but removed conflicts with dist files.
Also, added an additional test to check for scale prop and an example for the example page. Wasn't sure if we wanted the scale in DraggableCore, but can add it if desired.
@STRML, let me know if any changes are needed and I can get them in Thanks for maintaining this awesome library!

This is really good idea! I'd like to use this feature as well.

Hi @STRML, wondering whether there are any changes that need to be made to this PR for it to get merged in. Thanks again for all your work in maintaining this library!

When to add scale attribute?

Can we merge this PR ?

I'm wondering if this can be done automatically by querying the element's own effective scale. This could be on an on/off switch but would prevent the need for manually tweaking scale.


Improve creation of child path in VCFFileMerger for GCS

This change is needed to allow the merge logic to work on GCS. VCFFileMerger equivalent of #123.

Coverage decreased (-0.01%) to 61.985% when pulling f3d25e3c70e55c67aaad6d59a38131eae6d8f76f on tomwhite:variants-path-fix-for-gcs into ee35e91cb8f4a40f5b8ca11d839e06d412475be9 on HadoopGenomics:master.


[DOC] Fixed converted date with time_zone

Description
I fixed the time_zone example.
2022-04-17T06:00:00 UTC with time_zone: -04:00 is 2022-04-17T02:00:00 UTC, right?
Checklist

[x] By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and subject to the Developers Certificate of Origin.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@toyozaki Well, actually, it's the other way around. The date specified in the query is the date in your time zone (in this case, -04:00. To convert to UTC, you have to add 4. So
2022-04-17T06:00:00 with time_zone -04:00 is converted into 2022-04-17T10:00:00 UTC.


Adding regex keywords and exclude keywords

Hi,
Love the package, so would like to contribute a few little modifications :)
I have changed the keyword search to regex search rather than substring find. This allows regex patterns to be used as keywords, allowing even more flexibility should one desire.
I also added the optional exclude_keywords, again accepting regex patterns, to exclude a template if any are found.
Tutorial and readme were updated to reference the new functionality.
This is my first contribution to an open source project, so please let me know if there is anything I need to do or add.
Thanks!

Hmmm. Not sure why the lint check is failing. Linting in VS code all seems happy.

Hi and thanks for the contributions!
We lint with Flake8. It will print the detailed issues it sees in the Github Action log:
./src/invoice2data/extract/invoice_template.py:97:1: W293 blank line contains whitespace
./src/invoice2data/extract/invoice_template.py:100:1: W293 blank line contains whitespace
./src/invoice2data/extract/invoice_template.py:111:121: E501 line too long (141 > 120 characters)
./src/invoice2data/extract/loader.py:101:1: W293 blank line contains whitespace

Yay, looks like the tests liked the edits!
(ignore the close and re-open, I mashed the buttons on my phone 🙄 )
Let me know what you think and if there's anything else I need to do to get these updates merged in 😃

Yay, looks like the tests liked the edits!
(ignore the close and re-open, I mashed the buttons on my phone 🙄 )
Let me know what you think and if there's anything else I need to do to get these updates merged in 😃

bro how to use your modifications?

bro how to use your modifications?

Until @m3nu is able to review and merge, you should be able to clone my fork and use that in your code.

Merged. Thanks for the contribution!

bro how to use your modifications?

Until @m3nu is able to review and merge, you should be able to clone my fork and use that in your code.

what exactly do this exclude keywords?

what exactly do this exclude keywords?

It's been merged in now :) So you should just be able to pip install or update and get the new functionality.
As for use, in your template you can now specify not only keywords, but also exclude_keywords and both accept regex patterns. For example:
keywords:
    - 'Company\s+(US|UK)'
    -<EMAIL_ADDRESS>exclude_keywords:
    - 'Company\s+FR'
    -<EMAIL_ADDRESS>
That will match any text where it finds "Company US" OR "Company UK" AND<EMAIL_ADDRESS>but even if those keywords are found, it will reject it if it finds "Company FR" OR<EMAIL_ADDRESS>This gives you a bit more flexibility for templates to match the desired pdf.

There is no release on PyPi yet, but you can install from the master branch using Pip. Something like
$ pip install git+https://github.com/...


Error when removing graph

When you set the graph of the-graph-editor to NULL (for example, when navigating away from a graph in noflo-ui), we get an error:

I suspect there are other things broken in this case also, like stale state in component library etc. As far as I know, noflo-ui used to just swap the entire widget, right?

@jonnor nope, we keep one widget and change graph. Current master of noflo-ui keeps the last-seen graph in state until a new one is provided, which causes occasional funkiness. This is fixed in noflo/noflo-ui#680, but that unfortunately causes this issue with the-graph-editor

I'm tempted to consider graph property mandatory, and close this as wont-fix - unless there is an important usecase for it.


yunohost-apps

Summary
I wanna ask for a Plugin which integrates Yunohost, or convert Yunohost-Apps to backstage apps.
Is there anyone who has ever thought in this direction, has possibly already developed something, or would like to be involved in something like this
Context
Yunhost is a great idea for making hosting easy.
Yunhost Apps is a great list of FOSS-Application with some Focus on Federation, like Mastodon, Peertube, Matrix etc. pp.

Homepage: https://yunohost.org
Application Catalog: https://yunohost.org/en/apps

Hello there,
This is not on the plan of the maintainers so we are going to leave this opportunity to a possible contribution of the community, if someone is interested.


Fix "V12 Bug, creating items in stats tab don’t autofavorite/enable click" from discord

Hi! This should solve the issue with creating items not having the proper attributes attached.

Looks good, although I do get an error message upon creating a zero power
`Error creating/updating item: can't define property "progress": Object is not extensible actor-standard-sheet.mjs:1134:12
_createItem http://localhost:30000/systems/projectfu/module/sheets/actor-standard-sheet.mjs:1134
callback http://localhost:30000/systems/projectfu/module/sheets/actor-standard-sheet.mjs:1094
submit http://localhost:30000/scripts/foundry.js:68861
_onClickButton http://localhost:30000/scripts/foundry.js:68789
jQuery 2
(Async: EventListener.handleEvent)
addEventListener eval:4
jQuery 7
activateListeners http://localhost:30000/scripts/foundry.js:68761
_render http://localhost:30000/scripts/foundry.js:5867
render http://localhost:30000/scripts/foundry.js:5793
_onItemCreateDialog http://localhost:30000/systems/projectfu/module/sheets/actor-standard-sheet.mjs:1101
jQuery 2
(Async: EventListener.handleEvent)
addEventListener eval:4
jQuery 7
activateListeners http://localhost:30000/systems/projectfu/module/sheets/actor-standard-sheet.mjs:499
_render http://localhost:30000/scripts/foundry.js:5867
_render http://localhost:30000/scripts/foundry.js:6572
_render http://localhost:30000/scripts/foundry.js:7158
render http://localhost:30000/scripts/foundry.js:5793
render http://localhost:30000/scripts/foundry.js:10871
Error creating Optional Feature: can't define property "progress": Object is not extensible foundry.js:72076:78
fetch http://localhost:30000/scripts/foundry.js:72076
notify http://localhost:30000/scripts/foundry.js:71972
error http://localhost:30000/scripts/foundry.js:72009
_createItem http://localhost:30000/systems/projectfu/module/sheets/actor-standard-sheet.mjs:1135
callback http://localhost:30000/systems/projectfu/module/sheets/actor-standard-sheet.mjs:1094
submit http://localhost:30000/scripts/foundry.js:68861
_onClickButton http://localhost:30000/scripts/foundry.js:68789
jQuery 2
(Async: EventListener.handleEvent)
addEventListener eval:4
jQuery 7
activateListeners http://localhost:30000/scripts/foundry.js:68761
_render http://localhost:30000/scripts/foundry.js:5867
render http://localhost:30000/scripts/foundry.js:5793
_onItemCreateDialog http://localhost:30000/systems/projectfu/module/sheets/actor-standard-sheet.mjs:1101
jQuery 2
(Async: EventListener.handleEvent)
addEventListener eval:4
jQuery 7
activateListeners http://localhost:30000/systems/projectfu/module/sheets/actor-standard-sheet.mjs:499
_render http://localhost:30000/scripts/foundry.js:5867
_render http://localhost:30000/scripts/foundry.js:6572
_render http://localhost:30000/scripts/foundry.js:7158
render http://localhost:30000/scripts/foundry.js:5793
render http://localhost:30000/scripts/foundry.js:10871
`

Oop, I don't have zero powers enabled for my game. I'll have a look!

Much thanks for this, it works, probably in the future I hope to improve the ui for this.


separator not working for pretty json

Problem
I'm trying to parse pretty print JSON logs. Each file will contain an exact json object.
It works if I set the flush interval option, but I wonder why separator "" doesnt work.
Example log:
{
       "foo":"bar"
}

<source>
  @type tail
  tag vte.errorlogffa
  path /tmp/tm-logs/*
  read_from_head true
  <parse>
    @type none
  </parse>
</source>

<filter vte.errorlogffa>
  @type concat
  key message
  multiline_start_regexp /^{/
  multiline_end_regexp /^}/
  #flush_interval 5s
  separator ""
</filter>

<filter vte.errorlogffa>
  @type parser
  format json
  key_name message
</filter>

<match vte.errorlogffa>
  @type elasticsearch
  host elasticsearch
  port 9200
  index_name tm-errorlog-000001
  reconnect_on_error true
  <buffer>
    flush_thread_count 2
    flush_interval 1s
  </buffer>
</match>

This code throws:
2023-09-21 22:20:34 2023-09-22 03:20:34 +0000 [warn]: #0 dump an error event: error_class=Fluent::Plugin::Parser::ParserError error="pattern not matched with data '{  \"date\" ...

What I'm doing wrong?
Thanks
...
Steps to replicate
Provide example config and message
Expected Behavior
...
Your environment

OS version
paste result of fluentd --version or td-agent --version
plugin version

paste boot log of fluentd or td-agent
paste result of fluent-gem list, td-agent-gem list or your Gemfile.lock

I think there is nothing wrong with fluent-plugin-concat.
It would be because the concatenated data is not the correct JSON format.

This code throws:
2023-09-21 22:20:34 2023-09-22 03:20:34 +0000 [warn]: #0 dump an error event: error_class=Fluent::Plugin::Parser::ParserError error="pattern not matched with data '{  \"date\" ...

Did you omit this log?
You can confirm the format of the data in this log.
Please check whether the data is correct JSON.

Hi @daipom The error is when I add the "separator" parameter.
If I remove it and manually add a line break it works but the original field doesnt contain a line break.
The content of the file is a json object in pretty format.
I would expect setting separator as "" will stop and create the event when it finds the closing }
Couldnt find any guidance on parsing pretty printed json objects


Custom tab names don't persist across sessions

When renaming a tab through :TabRename, it won't persist after closing the editor and recovering the previous session. Instead, the default behavior is back, with the focused buffer's name as the tab name.
I don't actually know if it's possible to persist this information, I have very little insight into how vim sessions work.

Yes, this is a known issue. The session won't store the tab variable,  I tried some methods but failed or too complicated.

As a side comment, I really enjoy tabby but wish this feature existed as well. I know that Taboo.vim supports this but as you said, I am not sure how it does that @nanozuki unless if you perhaps integrate the plugin with something like Obsession to restore tab names...
Either way, thanks for the great plugin!

Good call about Taboo.vim. I looked around and they use global variables to remember tab names: https://github.com/gcmt/taboo.vim/blob/caf948187694d3f1374913d36f947b3f9fa1c22f/plugin/taboo.vim#L23
Seems a bit tedious as you would need to serialize all the names as a string on session save, and parse it on load. But perfectly doable. I may try to implement this whenever I have some time.

Amazing @calops - if you end up making a PR, please ping me there and I will give a review as well as test it out. :smile:

I've been a bit busy lately and just recently saw the messages. I was struggling with how to store an array to a global variable. After looking at the code in Taboo.vim, I was inspired to code it as a string to handle

No worries at all @nanozuki ! Happy to provide a demo or this functionality working in Taboo. Thanks for the package and hope you are having a great day. :)

FYI: nyngwang/suave.lua is a lightweight auto project-session plugin that supports this. There is a DEMO in the README.

@nyngwang Thanks! I'll read that. This is an excellent reference.
I found that nvim has API to encode/decode JSON; it also may be helpful.
Because of some personal reasons and my new year holiday, I'm late! However, I want to implement this feature this month.

My hack for rmagatti/auto-session (plugin use x.vim):
save_extra_cmds = {
  -- tabby: tabs name
  function()
    local cmds = {}
    for _, t in pairs(vim.api.nvim_list_tabpages()) do
      local tabname = require("tabby.feature.tab_name").get_raw(t)
      if tabname ~= "" then
        table.insert(cmds, 'require("tabby.feature.tab_name").set(' .. t .. ', "' .. tabname:gsub('"', '\\"') .. '")')
      end
    end

    if #cmds == 0 then
      return ""
    end

    return "lua " .. table.concat(cmds, ";")
  end,
},

@qRoC It works! But I currently have return "colorscheme " .. vim.g.colors_name inside save_extra_cmds in order to put a persistent colorscheme by session. It is possible to implement those two things (persistent colorscheme and persistent tab names) inside save_extra_cmds? I'm not a master in Lua.

@sergiornelas Hi, try:
save_extra_cmds = {
  -- tabby: tabs name
  function()
    local cmds = {}
    for _, t in pairs(vim.api.nvim_list_tabpages()) do
      local tabname = require("tabby.feature.tab_name").get_raw(t)
      if tabname ~= "" then
        table.insert(cmds, 'require("tabby.feature.tab_name").set(' .. t .. ', "' .. tabname:gsub('"', '\\"') .. '")')
      end
    end

    if #cmds == 0 then
      return ""
    end

    return "lua " .. table.concat(cmds, ";")
  end,
  -- colorscheme
  function()
    return "colorscheme " .. vim.g.colors_name
  end,
},

@qRoC works as expected, but I found new a bug. When you create and rename 3 tabs, if you delete the tab number 1 or 2 and reload the session it breaks.

@qRoC It doesn't break, however now after you delete the second tab and reload the session, the name of the second tab (previously was the third), disappears.
😬

Sorry for being late; I'm too busy this year. I use JSON encode/decode to save and restore the tab names to vim global variables. Now, we can restore tab names from the session!


pkg/apis: Omit QueryEndpoints if empty

As queryEndpoints is not required and query can be configured via other
fields such as queryConfig, so this should have a possibility to be
empty.
cc @coreos/team-monitoring

lgtm


Redesign how parsing is exposed

Currently there is a syn::Expr AST node for which parsing is exposed in two different ways:

syn::parse_expr which returns Result<Expr, String>
syn::parse::expr which returns IResult<&str, Expr> for use in synom parsers

Ideally both of these would somehow be trait impls on syn::Expr and not exposed any other way.

#131 added FromStr impls which is a step in the right direction.

How about:

Leave syn::parse for synom parsers
Remove syn::parse_*
Add From<TokenStream> for T for all requisite types

The From impl would panic for now if it fails and eventually use the "future proc_macro way of giving good error messages from procedural macros". Can you think of a use case for fallible parsing? If so we could add try_from style methods.

Oh adding FromStr impls for these types also seems reasonable (just having trait impls exposed). I'd expect though that most procedural macros would prefer to operate over TokenStream (what they get from the compiler) rather than strings.

How reasonable would it be to expose synom parsers as traits instead? They might be used something like:
  named!(ty_tup -> Ty, do_parse!(
      punct!("(") >>
-     elems: terminated_list!(punct!(","), ty) >>
+     elems: terminated_list!(punct!(","), syn!(Ty)) >>
      punct!(")") >>
      (TyTup { tys: elems }.into())
  ));

where syn!(Ty) expands to <Ty as WhateverTrait>::parse with the same signature as the current syn::parse::ty.

Sounds totally plausible to me (I'm not super familiar with nom, but looks reasonable!)

Okay. If you're not comfortable with that part then I can try to tackle the nom side.

👍


How does the directed graph propagation work?

The ego-network of an entity h in your work is the head entity, then how does the following example work?
page 5:
u2 ->i2 ->e1->i1->u1, u2 in u1's 3-layer neighbors
what does the minus relation mean -r1 mean?

Hi, -r1 means the inverse direction of r1. For example, if r1 denotes the relation "Interact", -r1 means the relation of  "IsInteractedBy". Thanks for your interest.

Thank you for your explanation. In your work, the neighbors of each entity are their target nodes. Then if u1 is the 4-layer neighbor of u2?  the information from u1 is encoded in e_u2(4)?
And how the inversed relation is modeled in training process? because you say that your CKG is a directed graph.

I just don't understand the propagation process in CKG from this example.

Another question: for the CF bpr loss function part, is the propagation starts only from the user nodes and item nodes in the user-item interacitons, not all the nodes in CKG are activated in GCN? but in the transR part, all the triples in the CKG are considered?
Have you ever tried also using GCN in the transR part? the h r t embeddings in transR are also generated from the GCN propagation process, then GCN can traverse the whole CKG.
Hope for your comment, thank you.

Hi,

CKG is a directed graph, and we model the relations between any two nodes in canonical and inverse directions. Namely, in CKG, there exist r1 from u1 to i1, as well as -r1 from i1 to `u1'. They are two different relations. For more information, please refer to Section 2 and the code.

As for the example, please refer to the analogous instance in Figure 3 of our NGCF SIGIR19.

For the loss of BPR, it provides the supervision signals from the user-item interactions, which are built upon the outputs of the propagation process. For the KGE part, TransR serves more like the regularization term, to regularize the initial representations.

Thanks for your insightful suggestions. We actually tried to employ TransR on the GCN-output representations. It would perform slightly better but at the cost of time and model complexity.

Hi, i am curious about the TopK setting.  You post the results when K = 20. How about the results when K is smaller like 5 or 10? Thank you.

Hi, we only have done the experiments when K spans from 20, 40, 60, to 80 and 100. You can try smaller K by changing the hyperparameter Ks (e.g., --Ks [1,2,3,5,10]). Thanks for your interest.

Hi, for Figure3(b), why the results decrease a lot although the density increase?

Thanks for your comment. We currently work on this phenomenon but have no exact idea of why it happened.

n e_u2(4)?

Hi，have you solved your question?
I don't understand the example, too.

Thank you for your explanation. In your work, the neighbors of each entity are their target nodes. Then if u1 is the 4-layer neighbor of u2? the information from u1 is encoded in e_u2(4)? And how the inversed relation is modeled in training process? because you say that your CKG is a directed graph.

Hi，have you solved your question?
I don't understand the example, too.


How can I run plugins when I start vim?

Hello,
Is there any shortcut to run every plugins when I start vim?
Thnx!

 This will download your plugins. Once they're downloaded (a one time operation), Vundle will automatically load them up each time you start vim.
Is that what you were referring to?

I don't know why, but in my case, plugins are not loaded when I run vim.
It seems plugins are installed...

Can you give us an example? Which plugins have you installed, and how would you expect them to act? Many of the Vim plugins doesn't change very much from how Vim presents itself.

If you want to try a plugin that makes vim look obviously different, you can try the plugin vim-airline (https://github.com/bling/vim-airline). To use this with Vundle, add the following lines to your .vimrc:
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'bling/vim-airline'
Plugin 'VundleVim/Vundle.vim'
call vundle#end()
set laststatus=2     " Necessary for vim-airline

When vim starts, run the command :PluginInstall!. You should see that the status bar looks noticeably different now.

@trygveu  Thank you for help. For instance, I included molokai color scheme Plugin in my .vimrc. I want to load it when I start vim, without any command.
but so far, to load molokai colour scheme, I always need to input command as colorscheme molokai. I want to load it automatically.

@nfischer  Thank you for suggestion, I installed it as you recommended and it works nicely. But still other plugins does not loaded automatically.

Did you try adding colorscheme molokai to your .vimrc file?

@nfischer  thank you! it works now, but how about other plugins?

To me this doesn't seem like a Vundle issue, since it sounds like Vundle is loading everything in the runtime path. I would suspect that you just need little bit of configuration that's specific to your plugins, not specific to Vundle (i.e. putting colorscheme molokai in your .vimrc).
If you post a list of plugins, we may be able to help out, but you'll probably have better luck searching for help for those specific plugins (i.e. if vim-fugitive isn't loading for you, google something like "how to install fugitive"). Let me know which you find more helpful.
And if you get everything working for you, remember to close this issue.

@EastskyKang yes if you could please tell which plugins or an example of one that is not loading that would help. :smile:

@nfischer @ryanoasis Thank you for help! I didn't know that I should configure .vimrc to load plugins. and this works for NERDTree.
I'm going to close the issue.

@EastskyKang
Hi do you have to manually enter commands to get it working?


Reducing code repetition in lib/Home/screens.dart file

Can make a separate stateless widget and call it whenever the container is required as same properties are called again. This can reduce the size of file and increase its readability.
@bhattabhi013, kindly assign this issue to me under GSSoC 23.

Hi @Shivansh1212,
This is a great idea but can you be a bit more specific about the widget you are talking about?

@bhattabhi013, I am talking about the similar containers which are having same properties (apart from different GIFs used) that are repeatedly used in the mentioned file. I can make a separate class or a function(not a widget, sorry) and call it whenever required performing exactly the same task but taking less lines of code. I hope you understand now.

Sure, assigning it to you.

Hey, please assign this issue to me


Create: 1572-matrix-diagonal-sum.java

File(s) Modified: 1572-matrix-diagonal-sum.java
Language(s) Used: java
Submission URL: _https://leetcode.com/problems/matrix-diagonal-sum/submissions/1238910438/_

I'm sorry, it looks like another solution was merged already. Let me close this PR.


Added sentry

I added sentry.
Whoever is able to set the process.env variables should bug me for the correct SENTRY_DSN

Thanks for doing this (and sorry it's taken so long to get around to reviewing it!)
I'm going to go ahead and merge this into a separate branch in the main repo so I can check why it's not building correctly, because it looks like the ENV variables are set correctly.


Add March 21, 2018 Intro Tutorial on GANs + Upcoming ML Summer Schools

Pretty self explanatory. There are lots of interesting upcoming machine learning summer schools (non-HEP) with excellent speakers, so I added them here.

@mickypaganini Looks great. Thanks for your contribution! :shipit:


concourse link needs to be updated

The following link does not redirect to the correct page.
https://concourse-ci.org/implementing-resources.html

Fixed