problems when starting xfoil subprocess

i was checking your project, running example_naca4_drag.py in my windows machine when i got the following error:
  File "example_naca4_drag.py", line 33, in <module>
    polar = oper_visc_cl(temp_af_filename, Cl, Re, iterlim=500)
  File "C:\Users\enri\PYTHON_PROJECTS\xfoil-optimization-toolbox\xfoil\xfoil.py", line 37, in oper_visc_cl
    return _oper_visc(["Cl","CSEQ"], *args, **kwargs)
  File "C:\Users\enri\PYTHON_PROJECTS\xfoil-optimization-toolbox\xfoil\xfoil.py", line 61, in _oper_visc
    xf = Xfoil(path)
  File "C:\Users\enri\PYTHON_PROJECTS\xfoil-optimization-toolbox\xfoil\xfoil.py", line 154, in __init__
    stdin=subp.PIPE, stdout=subp.PIPE, stderr=subp.PIPE)
  File "C:\Python27\lib\subprocess.py", line 710, in __init__
    errread, errwrite)
  File "C:\Python27\lib\subprocess.py", line 958, in _execute_child
    startupinfo)
WindowsError: [Error 193] %1 is not a valid Win32 application

The problem was solved by changing the executable name in init() module of Xfoil class from xfoil to xfoil.exe. I'm using W10 os.

Thanks for taking the time to mention the issue. The executables are a bit of a mess, as you need different ones for every platform... ideally xfoil is compiled from source, but that would be another mess altogether, and would add dependencies on compilers.
A good short-term solution would be to detect the operating system and then choose the correct binary, should be pretty easy. I currently have a million other projects going on but if anyone is interested in implementing this, feel free :)

@enritoomey You may have a try by changing the following line of Xfoil class in xfoil.py
 self.xfinst = subp.Popen(os.path.join(path, 'xfoil'),                                  stdin=subp.PIPE, stdout=subp.PIPE, stderr=subp.PIPE)
to:
 self.xfinst = subp.Popen(os.path.join(path, 'xfoil.exe'),                                  stdin=subp.PIPE, stdout=subp.PIPE, stderr=subp.PIPE)
I encountered the same problem(say not a valid win32..) and fixed this but now some other problems show

I've submitted a pull request to select binary by OS.

Nice work, thanks! Merged it.


Check for client updates

Check for newer ISOs for Windows 10 and Windows 11.

This is being handled in v5.0.0 of this module.


Create CosmosClient/SigningCosmosClient in @cosmjs/stargate

We need higher level clients CosmosClient/SigningCosmosClient in @cosmjs/stargate that have the same interface as in @cosmjs/launchpad to make it easy to upgrade. They should use tendermint-rpc and https://github.com/CosmWasm/cosmjs/issues/212 under the hood.
read-only:

[x] Add StargateClient
[x] Add getSequence
[x] Add getChainId (directly via Tendermint RPC): #362
[x] Add getHeight (directly via Tendermint RPC): #362
[x] Add getSequence
[x] Add getAccount (address, pubKey, accountNumber, sequence but no balances): #361
[x] Add getBalance/getAllBalancesUnverified
[ ] Add getBlock
[ ] Add searchTx
[ ] Add broadcastTx (directly via Tendermint RPC)
[ ] Add txsQuery (directly via Tendermint RPC)

read/write:
Depends on: #212

[ ] Add SigningStargateClient
[ ] Add sendTokens
[ ] Add signAndBroadcast

I started using StargateClient (and SigningStargateClient) as alternatives to CosmosClient/SigningCosmosClient in order to avoid unnecessary naming collisions in the project. So the description above is a bit outdated.


Add tiering details

Add details on the high/low tier.

I believe most of this was copied into a different changeset.


Unable to run the app

Want to use genesys as source and destination.
GENESYS_SOURCE_LOGIN_URL=https://login.mypurecloud.de
GENESYS_SOURCE_BASE_URL=https://api.mypurecloud.de
GENESYS_LOGIN_URL=https://login.mypurecloud.de
GENESYS_BASE_URL=https://api.mypurecloud.de
I put this into .env file along with the client ID and secret and KB ID.
root@icxnbR90VW0T2:/home/mateusz/knowledge-connector-app# npm version
{
'knowledge-connector-app': '0.2.0',
npm: '9.6.7',
node: '18.17.1',
acorn: '8.8.2',
ada: '2.5.0',
ares: '1.19.1',
brotli: '1.0.9',
cldr: '43.0',
icu: '73.1',
llhttp: '6.0.11',
modules: '108',
napi: '9',
nghttp2: '1.52.0',
nghttp3: '0.7.0',
ngtcp2: '0.8.1',
openssl: '3.0.10+quic',
simdutf: '3.2.12',
tz: '2023c',
undici: '5.22.1',
unicode: '15.0',
uv: '1.44.2',
uvwasi: '0.0.18',
v8: '<IP_ADDRESS>-node.26',
zlib: '<IP_ADDRESS>-motley'
}
root@icxnbR90VW0T2:/home/mateusz/knowledge-connector-app# npm run build

<EMAIL_ADDRESS>build
tsc

root@icxnbR90VW0T2:/home/mateusz/knowledge-connector-app# npm start

<EMAIL_ADDRESS>start
node dist/index.js

{"level":"info","message":"Started"}
{"level":"info","message":"GenesysLoader task running"}
{"level":"info","message":"Fetching data..."}
{"level":"info","message":"Categories loaded: 0"}
{"level":"info","message":"Labels loaded: 0"}
{"level":"info","message":"Documents loaded: 0"}
{"level":"info","message":"GenesysLoader task finished"}
{"level":"info","message":"ImageProcessor task running"}
{"level":"info","message":"Images uploaded: 0"}
{"level":"info","message":"ImageProcessor task finished"}
{"level":"info","message":"PrefixExternalId task running"}
{"level":"error","message":"Error executing PrefixExternalId: Error: Missing EXTERNAL_ID_PREFIX from config"}
{"level":"error","message":"Connector app aborted. Missing EXTERNAL_ID_PREFIX from config","stack":"Error: Missing EXTERNAL_ID_PREFIX from config\n    at validateNonNull (file:///home/mateusz/knowledge-connector-app/dist/utils/validate-non-null.js:9:15)\n    at PrefixExternalId.run (file:///home/mateusz/knowledge-connector-app/dist/processor/prefix-external-id.js:13:9)\n    at file:///home/mateusz/knowledge-connector-app/dist/pipe/pipe.js:158:54\n    at wrapFunction (file:///home/mateusz/knowledge-connector-app/dist/utils/wrap-function.js:9:22)\n    at Pipe.execute (file:///home/mateusz/knowledge-connector-app/dist/pipe/pipe.js:158:30)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async Pipe.executeProcessors (file:///home/mateusz/knowledge-connector-app/dist/pipe/pipe.js:137:31)\n    at async Pipe.start (file:///home/mateusz/knowledge-connector-app/dist/pipe/pipe.js:105:31)"}
What is the EXTERNAL_ID_PREFIX and why is it needed?

I made some changes the .env as the article IDs were same, so created an empty one on the target org:
CONFIGURER=genesys
GENESYS_SOURCE_LOGIN_URL=https://login.mypurecloud.de/
GENESYS_SOURCE_BASE_URL=https://api.mypurecloud.de/
GENESYS_SOURCE_CLIENT_ID=51f58acb-510e-4e5b-b55d-f8fdffe38b9d
GENESYS_SOURCE_CLIENT_SECRET=EAN_VPlCuo8vYn9WEQsFMNwtMyjaPL02MIiMAYw0U6k
GENESYS_SOURCE_KNOWLEDGE_BASE_ID=e29b8b79-95dc-49b5-af8a-fa2e61318530
GENESYS_LOGIN_URL=https://login.mypurecloud.de/
GENESYS_BASE_URL=https://api.mypurecloud.de/
GENESYS_CLIENT_ID=1222a3b9-806b-447d-bbe3-54e495bc6a34
GENESYS_CLIENT_SECRET=SNRTlIiXm0LoCCJk8Q66S9cgc2Ys7G4MjBChfQSNK0s
GENESYS_KNOWLEDGE_BASE_ID=69ad6b7f-dcbb-4ac5-be49-37baf7b80fc0
But still getting the same error.

I made some changes the .env as the article IDs were same, so created an empty one on the target org:
CONFIGURER=genesys GENESYS_SOURCE_LOGIN_URL=https://login.mypurecloud.de/ GENESYS_SOURCE_BASE_URL=https://api.mypurecloud.de/ GENESYS_SOURCE_CLIENT_ID= GENESYS_SOURCE_CLIENT_SECRET= GENESYS_SOURCE_KNOWLEDGE_BASE_ID=
GENESYS_LOGIN_URL=https://login.mypurecloud.de/ GENESYS_BASE_URL=https://api.mypurecloud.de/ GENESYS_CLIENT_ID= GENESYS_CLIENT_SECRET= GENESYS_KNOWLEDGE_BASE_ID=
But still getting the same error.

I've removed the secrets from your post. Please deactivate those OAuth clients ASAP.

Thank you. These tokens have been immediately deactivated.
Will there be any documentation updates?

Thank you. These tokens have been immediately deactivated. Will there be any documentation updates?

Yes, I made this parameter optional:
https://github.com/MyPureCloud/knowledge-connector-app/pull/9
And also, I extended the wiki:
https://github.com/MyPureCloud/knowledge-connector-app/wiki/ExternalIdPrefix

It works after I added a dummy External Prefix like this:
EXTERNAL_ID_PREFIX=abcdefghij
Thanks.
Now I have a problem with articles that contain images.
I have one article which has an image taken from the response assets.
When I start the app:
{"level":"info","message":"ImageProcessor task running"}
{"level":"error","message":"Error executing ImageProcessor: Error: Api request [https://api.mypurecloud.de/api/v2/responsemanagement/responseassets/search] failed with status [500] and message [{"message":"The server encountered an unexpected condition which prevented it from fulfilling the request.","code":"internal.server.error","status":500,"contextId":"9c28d2de-cde2-4314-8e4c-b162501ec7be","details":[],"errors":[]}]"}
{"level":"error","message":"Connector app aborted. Api request [https://api.mypurecloud.de/api/v2/responsemanagement/responseassets/search] failed with status [500] and message [{"message":"The server encountered an unexpected condition which prevented it from fulfilling the request.","code":"internal.server.error","status":500,"contextId":"9c28d2de-cde2-4314-8e4c-b162501ec7be","details":[],"errors":[]}]","stack":"Error: Api request [https://api.mypurecloud.de/api/v2/responsemanagement/responseassets/search] failed with status [500] and message [{"message":"The server encountered an unexpected condition which prevented it from fulfilling the request.","code":"internal.server.error","status":500,"contextId":"9c28d2de-cde2-4314-8e4c-b162501ec7be","details":[],"errors":[]}]\n    at GenesysDestinationApi.verifyResponse (file:///home/mateusz/knowledge-connector-app/dist/genesys/genesys-api.js:70:19)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async GenesysDestinationApi.innerFetch (file:///home/mateusz/knowledge-connector-app/dist/genesys/genesys-api.js:63:9)\n    at async GenesysDestinationAdapter.lookupImage (file:///home/mateusz/knowledge-connector-app/dist/genesys/genesys-destination-adapter.js:28:26)\n    at async ImageProcessor.processImageBlock (file:///home/mateusz/knowledge-connector-app/dist/processor/image-processor.js:57:22)\n    at async ImageProcessor.processArticle (file:///home/mateusz/knowledge-connector-app/dist/processor/image-processor.js:38:13)\n    at async ImageProcessor.run (file:///home/mateusz/knowledge-connector-app/dist/processor/image-processor.js:25:17)\n    at async wrapFunction (file:///home/mateusz/knowledge-connector-app/dist/utils/wrap-function.js:9:16)\n    at async Pipe.execute (file:///home/mateusz/knowledge-connector-app/dist/pipe/pipe.js:158:24)\n    at async Pipe.executeProcessors (file:///home/mateusz/knowledge-connector-app/dist/pipe/pipe.js:137:31)"}
I have an image with absolute URL:
https://api-cdn.mypurecloud.de/response-assets/uploads/af343fd0-bc94-424a-b6e2-9c4b66de087f/ea64d85a-6d2a-40a1-81c3-38147f2e8cb9.ef0f7e69-0477-42ff-a98c-82b707568a9d
What should be defined as relative image URL here?
I tried different variations but neither of those worked.

I have now one article that contains an image.
The image I use is located in the response assets library.
I define the variable like this:
RELATIVE_IMAGE_BASE_URL=/response-assets/v2/uploads/af343fd0-bc94-424a-b6e2-9c4b66de087f/b98322ab-bff5-48f4-a530-583fbe97d050.02edd437-ffc4-49c5-a666-fd2fd3ad8fb2.png
But it fails anyway:
{"level":"info","message":"ImageProcessor task running"}
{"level":"error","message":"Error executing ImageProcessor: Error: Api request [https://api.mypurecloud.de/api/v2/responsemanagement/responseassets/search] failed with status [500] and message [{"message":"The server encountered an unexpected condition which prevented it from fulfilling the request.","code":"internal.server.error","status":500,"contextId":"76baec3a-c283-4664-937f-0894cddfd822","details":[],"errors":[]}]"}
{"level":"error","message":"Connector app aborted. Api request [https://api.mypurecloud.de/api/v2/responsemanagement/responseassets/search] failed with status [500] and message [{"message":"The server encountered an unexpected condition which prevented it from fulfilling the request.","code":"internal.server.error","status":500,"contextId":"76baec3a-c283-4664-937f-0894cddfd822","details":[],"errors":[]}]","stack":"Error: Api request [https://api.mypurecloud.de/api/v2/responsemanagement/responseassets/search] failed with status [500] and message [{"message":"The server encountered an unexpected condition which prevented it from fulfilling the request.","code":"internal.server.error","status":500,"contextId":"76baec3a-c283-4664-937f-0894cddfd822","details":[],"errors":[]}]\n    at GenesysDestinationApi.verifyResponse (file:///home/mateusz/knowledge-connector-app/dist/genesys/genesys-api.js:70:19)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async GenesysDestinationApi.innerFetch (file:///home/mateusz/knowledge-connector-app/dist/genesys/genesys-api.js:63:9)\n    at async GenesysDestinationAdapter.lookupImage (file:///home/mateusz/knowledge-connector-app/dist/genesys/genesys-destination-adapter.js:28:26)\n    at async ImageProcessor.processImageBlock (file:///home/mateusz/knowledge-connector-app/dist/processor/image-processor.js:57:22)\n    at async ImageProcessor.processArticle (file:///home/mateusz/knowledge-connector-app/dist/processor/image-processor.js:38:13)\n    at async ImageProcessor.run (file:///home/mateusz/knowledge-connector-app/dist/processor/image-processor.js:25:17)\n    at async wrapFunction (file:///home/mateusz/knowledge-connector-app/dist/utils/wrap-function.js:9:16)\n    at async Pipe.execute (file:///home/mateusz/knowledge-connector-app/dist/pipe/pipe.js:158:24)\n    at async Pipe.executeProcessors (file:///home/mateusz/knowledge-connector-app/dist/pipe/pipe.js:137:31)"}
It works if I remove the image from the article.


Roll back to Emscripten 1.38.48

Recently released 1.39.0 seems to have a regression than breaks our build for WasmThemis. Let's roll back to the previous version until the issue is examined and resolved.

Well, arguably, breaking early is the point of having a CI build so it works as intended. We definitely can support building only with a particular version of the toolchain, but that needs to be spelled out for the users. Currently we recommend the defaults, and Emscripten recommends using the latest stable version by default (that’s what gets installed when using latest).
I don’t really know now who’s at fault for breaking the build. It could well be that our code triggers some undefined behavior which just happened to work up until now, because Hello world works for me with the 1.39.0 toolchain, it’s only Soter tests that are breaking.

we can try to test with the latest version of dependency which will only warn about problems and don't block CI plus with specific version which will be required to successful pass

We don’t explicitly pin any other toolchain and I don’t think we should (CircleCI has limited build capabilities and we can’t realistically test everything).
I’d propose to leave it like this at least until the next release of Emscripten. If resolving the original issue is going to take a while then we should probably track both versions. But I don’t really want to have a CI build that’s going to be a source of warnings for half a year. We can track the Emscripten issue to see whether it’s resolved, we don’t need to check that in every our build.

After fiddling with our code it seems that the issue is with Emscripten, so I’m merging this PR and we’ll be using 1.38.48 until the regression goes away. The issue has been reported on the Emscripten mailing list, and if that’s confirmed I’ll report it to their bug tracker as well.


feat: Adding Expense Tracker (Issue #141)

Fix to  Issue #141
===============================

Features:

Expense tracking: Users can add, view, and categorize their expenses.
Categories: Expenses can be categorized into different types (e.g., groceries, entertainment, bills).
Expense insights: Provide statistics and insights into spending patterns, such as total spending per category, monthly expenses, and average daily spending.
Persistence: Allow users to save their expense data to a file for future reference.
User-friendly command-line interface or a simple GUI.
===============================

Checklist

[X] I read the contributing guidelines
[X] I structured my project as stated in the contributing guidelines
[X] My project uses dependencies
[X] I starred the repo
[X] I had fun contributing!

Project reviewed and merged.
Thank you @Master-Keshav
Feel free to add more projects.


Suggested tweak of logic wrt visibleWhen rules.

Hi @draperd
I had some more time to experiment with your module.
I have a need for some more complicated rules to determine if a field should be visible.
Consider 3 fields, A, B, C.
In my case,
B is dependent on a specific A value.
C is dependent on the same A value and a specific B value.
I have two options which both take some tweaks to your `visibleWhen' logic. The first, is a breaking change, but allows for some more complex expressions.
Here is a sample of the current 'visibleWhen' rules syntax, close to my needs:
fieldC = { ...
       visibleWhen: [
          { id: 'A_matches_123',
            field: 'A',
            is: [123],
          },
          { id: 'B_matches_456',
            field: 'B',
            is: [456],
          },
        ],
}

The rules above, as I understand the code, would render the field in either case, so i would see C even if A.value !== 123. I only want C visible if every condition is true not some.
One option is to wrap this "visibleWhen" array in an object which contains a new flag determining what operator function to use on the array... either some, or every.
Something like:
visibleWhen: {
    method: 'some|every',
    rules: [ rule1, ...ruleN]
  ]
}

...this of course breaks your established interface, so not sure if you would like that idea.
The solution i actually use now is to leverage a logic constraint in the above use-case where I can infer:  If B is present then A must have the value C needs. I can then simply test B for the required value and my ruleset size drops to 1 and now the some becomes equivalent to every...
The problem in the existing codebase is that even when I set the omitWhenHidden flag on B, the value of B which makes it to the evaluateAllRules fn still has its value. You must strip the value only when calculating the final form data and not also when the hidden value hit your validation logic.
To solve this problem, I change this:
https://github.com/draperd/react-forms-processor/blob/df2349d7c75096879e9ac331c039b8acc16ce5c7/packages/core/src/utilities/utils.js#L174-L178
to this:
      if (rule.field && fieldsById.hasOwnProperty(rule.field)) {
        if (fieldsById[rule.field].visible) {
          return evaluateRule(rule, fieldsById[rule.field].value);
        } else {
          return evaluateRule(rule, undefined);
        }
     } else {
        return defaultResult;
      }

I'd like to get your opinion on these changes, or if I missed some key features, set me straight on how to accomplish this with the current code...
If you got this far, thanks for reading the long post!

Hi,
Thanks for taking the time to write such a detailed explanation of the situation. I can completely understand the rationale of what you're asking and it is clearly a limitation in the current implementation.
You're definitely right in thinking that I would want to avoid making breaking changes to the existing API but I would want to make sure that it is possible to achieve commonly required use cases.
One of the goals I was aspiring to achieve was to make the JSON as human readable as possible so that in an ideal world it would read in a relatively meaningful way. I can see that the your suggestion to apply an additional attribute to toggle between "all" and "some" would definitely be a workable option, but might make it less readable.
Another option might be to add an option to include an alternative attribute visibleWhenAny (or visibleWhenSome or something better that keeps the readability`) that would allow the current structure to be maintained.
The problem with this is that it then bloats the API somewhat - and similar rules would need to be added for disabled and requirement state.
I'm not opposed to your suggestion and it would be easy enough to test whether or not the value of visibleWhen is an object or an array which would allow for swapping between longhand and shorthand versions of the syntax.
What are your thoughts on these options?

@draperd, I like your suggested approach. visibleWhenSome could simply be an alias for`visibleWhen', preserving the current contract. The original could then be deprecated after all users have had a reasonable time to do the name-change refactor.
I would also agree that the flatter structure also lends itself to being more readable.  A simple, human readable metadata syntax is one of the reasons I favoured your implementation style over other declarative form generators.
Also, I can't see needing a large set of these visibleWhen* variants.  Personally, all our current needs would be solved if visibleWhenAny was added.

Cool, thanks for the feedback ... I'll try to implement these changes as soon as I can. However, I should point out that for various reasons I don't have as much time to code on this as I'd like - but I do intend to keep this project going and regularly contribute to it, but I can't make any firm commitment as to when I'll be able to add this feature.

As a result of #50 you should be able to do what you need to. The changes are available in version 0.0.35 -  hopefully this will enable you to implement the forms logic that you required!

Thanks @draperd! much appreciated.


Added check for application volume upgrade job status

Added check for application volume upgrade job status

Signed-off-by: Amit Bhatt<EMAIL_ADDRESS>

@amitbhatt818 let's keep the version check and add the upgrade job check as earlier.

I have removed the version check because It was static.It was not getting changed after the upgrade.
And we need to check the status of all the replica pod first .
If you want any other change then I will raise seperate PR for that.


Bot deployed to Azure has stopped working because it's AppId has been changed

This morning I noticed that a bot we had deployed to Azure has stopped responding. It was working fine on Friday when I last checked it,
Upon inspection, I looked at the Bot Channel Registration details in Azure and clicked the "Manage" link that appears above the Microsoft App ID

A new tab opened with the following message appearing...

The bot still appears as a registered app, but with a totally different App ID...

This is worrying, as neither myself or anyone on my team has changed/edited anything to do with that app registration.
Other than someone manually changing the registration, is there any reason why the App ID would be changed by some automated task, triggers, anything non-human?

I've since deleted the bot registration and created a new one.
Hopefully the issue with the changing App ID was just a one-off due to something going awry during the first time it was registered. It was a trial and error process as that was the first time we had tried to register the bot. If the App ID does change again, without an obvious reason, I'll re-open this issue.


Format data as table

HI,
WorldMap plugin for grafana allows to map geohash data formatted as a table (using InfluxDb datasource)
https://github.com/grafana/worldmap-panel#table-data-as-the-data-source
(https://github.com/grafana/worldmap-panel/issues/109)
It would be nice to have this feature, if possible.
Thanks.

Hi @Perlovka
Actually, I have no experience with geohash and InfluxDB.
If CH-datasource plugin can be used with Table plugins, why worldmap-panel can't use same formatiing?
One of our panels also using worldmap-panel but with country codes, not geohashes. Example of query:
SELECT
    1,
    groupArray((c, Reqs)) AS groupArr
FROM
(
 SELECT
    CountryCode AS c,
    sum(requests) AS Reqs
FROM requests
GLOBAL ANY INNER JOIN
(
    SELECT Country country, CountryCode
    FROM countries
) USING (country)
WHERE $timeFilter
GROUP BY
    c
ORDER BY Reqs DESC
)

Hi,
We do have country and city maps also, and yes, it works as expected.
But for geohash data there are only two options:

Geohashes (https://github.com/grafana/worldmap-panel#geohashes-as-the-data-source):
Data should be in ElasticSearch format.
I suppose, something like this:
{"_shards": {"failed": 0, "successful": 5, "total": 5}, "aggregations": {"accidents_geohash_grid": {"buckets": [{"doc_count": 4372, "key": "9q8yysu"}, {"doc_count": 1546, "key": "9q8yy96"}]}}, "hits": {"hits": [], "max_score": 0.0, "total": 137100}, "timed_out": false, "took": 449}

Found this from http://elasticsearch.demos.tryolabs.com/
As I understand, clickhouse can not build associative arrays in response.

Table:
I could not understand what exactly format is used, it does not shows up in Grafana QueryInspector for InfluxDB.
I'll try to set up InfluxDB with geohashes to test.

Here is test data for CH:
CREATE TABLE stats.geo ( event_date Date,  event_time DateTime,  country_code FixedString(2),  region String,  city String,  lat Float64,  lon Float64,  geohash String) ENGINE = ReplicatedMergeTree(\'/clickhouse/tables/01/geo\', \'clickhouse-ue1-01.ue1.lzn\', event_date, (event_date, geohash), 8192)
"2017-11-02","2017-11-02 17:59:36","CL","BI","Concepción",-36.8333,-73.05,"63kn3www" "2017-11-02","2017-11-02 15:32:32","CL","RM","Santiago",-33.462500000000006,-70.6682,"66j9xukf" "2017-11-02","2017-11-02 17:07:01","AR","M","Lujan de Cuyo",-33.066700000000004,-68.8333,"66p5csmh" "2017-11-02","2017-11-02 14:24:39","AR","U","Boca de la Zanja",-43.4185,-66.01110000000001,"6830czuh" "2017-11-02","2017-11-02 20:10:16","AR","B","Villa Bosch",-34.5708,-58.624300000000005,"69y73fx4" "2017-11-02","2017-11-02 17:08:37","AR","","",-34.603300000000004,-58.381699999999995,"69y7pkxt" "2017-11-02","2017-11-02 15:39:31","AR","C","Buenos Aires",-34.603300000000004,-58.38159999999999,"69y7pkxv" "2017-11-02","2017-11-02 16:29:28","PY","ASU","Asunción",-25.2939,-57.6111,"6ex0152u" "2017-11-02","2017-11-02 17:26:50","PY","ASU","Asunción",-25.2939,-57.6111,"6ex0152u"

Hi! Check https://github.com/Vertamedia/clickhouse-grafana/releases/tag/1.1.0
This is how it can be used:

Awesome! Thanks =)


Test App: Add Java code for transaction retries

Add example code for transaction retry logic. Compilation and
execution instructions are in a comment in the main code file.

This change is

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/999f8833466a6c41d46a93eded97622516cec9ad/

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/fa6cc52136fc50989f3079e2997a194753c04f82/

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/3e91e90aa95f1b86d83cd446073764e22e8b8ba9/

Reviewed 3 of 3 files at r1.
Review status: all files reviewed at latest revision, 5 unresolved discussions.

_includes/app/TxnSample.java, line 19 at r1 (raw file):

    public static RetryableTransaction transferFunds(int from, int to, int amount) {
        return new RetryableTransaction() {
            public void run(Connection conn) throws Exception {

Won't this only throw SQLException and InsufficientBalanceException?  Why not just list only those two?

_includes/app/TxnSample.java, line 21 at r1 (raw file):

            public void run(Connection conn) throws Exception {
                ResultSet res = conn.createStatement().executeQuery("SELECT balance FROM accounts WHERE id = " + from);
                res.next();

Why do you need the next here?  Shouldn't you already be at the first result?
What does the resultSet look like?  Should you check to make sure it returns true?

_includes/app/TxnSample.java, line 32 at r1 (raw file):

    }

    public static void retryTransaction(Connection conn, RetryableTransaction tx) throws Exception {

Again here, list only the exceptions that you're going to throw.

_includes/app/TxnSample.java, line 66 at r1 (raw file):

                db.setAutoCommit(false);

                RetryableTransaction transfer = transferFunds(1, 2, 100);

So this assumes there's already a db with a table, with two accounts setup.  Perhaps add a comment about the initial setup above.

_includes/app/TxnSample.java, line 72 at r1 (raw file):

                    System.out.printf("\taccount %s: %s\n", res.getInt("id"), res.getInt("balance"));
                }
            } catch(InsufficientBalanceException ibe) {

From what I've seen, these are all usually named just e.  Unless you're got nested try catches.  And above, you just use e.

Comments from Reviewable

Thank you for the review!

Review status: 2 of 3 files reviewed at latest revision, 5 unresolved discussions.

_includes/app/TxnSample.java, line 19 at r1 (raw file):
Previously, BramGruneir (Bram Gruneir) wrote…
Won't this only throw SQLException and InsufficientBalanceException?  Why not just list only those two?

Done.

_includes/app/TxnSample.java, line 21 at r1 (raw file):
Previously, BramGruneir (Bram Gruneir) wrote…
Why do you need the next here?  Shouldn't you already be at the first result?
What does the resultSet look like?  Should you check to make sure it returns true?

The Java ResultSet spec says A ResultSet cursor is initially positioned before the first row; the first call to the method next makes the first row the current row.
Added a check that it returns true.

_includes/app/TxnSample.java, line 32 at r1 (raw file):
Previously, BramGruneir (Bram Gruneir) wrote…
Again here, list only the exceptions that you're going to throw.

Done.

_includes/app/TxnSample.java, line 66 at r1 (raw file):
Previously, BramGruneir (Bram Gruneir) wrote…
So this assumes there's already a db with a table, with two accounts setup.  Perhaps add a comment about the initial setup above.

Added.

_includes/app/TxnSample.java, line 72 at r1 (raw file):
Previously, BramGruneir (Bram Gruneir) wrote…
From what I've seen, these are all usually named just e.  Unless you're got nested try catches.  And above, you just use e.

Done.

Comments from Reviewable

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/206623d2b3fb5f1d4302f4e909a6d83aa2d34911/

A few final nits, but looks good.

Reviewed 1 of 1 files at r2.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

_includes/app/TxnSample.java, line 21 at r1 (raw file):
Previously, arjunravinarayan (Arjun Narayan) wrote…
The Java ResultSet spec says A ResultSet cursor is initially positioned before the first row; the first call to the method next makes the first row the current row.
Added a check that it returns true.

If you want the first element, why not use first?  And on failure, you probably want another exception, maybe a accountNotFoundException (that takes an account number) or something like that to match the insufficientBalanceException.

Comments from Reviewable

Thank you!

Review status: 2 of 3 files reviewed at latest revision, 1 unresolved discussion.

_includes/app/TxnSample.java, line 21 at r1 (raw file):
Previously, BramGruneir (Bram Gruneir) wrote…
If you want the first element, why not use first?  And on failure, you probably want another exception, maybe a accountNotFoundException (that takes an account number) or something like that to match the insufficientBalanceException.

The previous example program in the docs uses next() for this so consistency. I'm ambivalent either way.
Added the other exception. Even added a constructor for it and everything, just for MAXIMUM JAVANESS. Let me know if you would like an ExceptionFactory too :)

Comments from Reviewable

@jseldess happy to make stylistic changes as you would like, or add/improve the comments. I'll wait for your approval before merging.

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/640411aba36fe3fb4d150f68b6b3998e67fa6f7a/

Reviewed 1 of 1 files at r3.
Review status: all files reviewed at latest revision, 5 unresolved discussions.

_includes/app/TxnSample.java, line 21 at r1 (raw file):
Previously, arjunravinarayan (Arjun Narayan) wrote…
The previous example program in the docs uses next() for this so consistency. I'm ambivalent either way.
Added the other exception. Even added a constructor for it and everything, just for MAXIMUM JAVANESS. Let me know if you would like an ExceptionFactory too :)

For MAXIMUM JAVANESS, you need to add an abstract factory for that factory and use dependency injection to inform it at runtime as to what type of factory to make.

Comments from Reviewable

Review status: 1 of 3 files reviewed at latest revision, 4 unresolved discussions.

build-a-test-app.md, line 219 at r2 (raw file):
Previously, jseldess wrote…
We need to put the closing </div> back in. Otherwise, the other transaction samples don't show up.

Done.

_includes/app/TxnSample.java, line 20 at r2 (raw file):
Previously, jseldess wrote…
Maybe add comment before line 20: # Check the current balance.

Done.

_includes/app/TxnSample.java, line 28 at r2 (raw file):
Previously, jseldess wrote…
Maybe add comment before line 28: # Perform the transfer.

Done.

_includes/app/TxnSample.java, line 70 at r2 (raw file):
Previously, jseldess wrote…
Maybe add comment before line 70: # Check balances after transfer.

Done.

Comments from Reviewable

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/d0573ef067aafb0c62b5a0829efc03d86fb14f34/


Magic link email should be sent top the user t when he reaches the ma…

Description

send magick link moved to success email  code

change text https://xd.adobe.com/spec/8f259bcd-550e-4f0c-40bb-bdce2ed36fe5-
f914/screen/229c2efe-3550-4804-a109-eac96ee1b958/Sign-Up-23/

move magiclink screen+logic to after "lets start"

About #818  #939
How Has This Been Tested?
Start registration and confirm your email then check email for magick link
Checklist:

[x] PR title matches follow: (Feature|Bug|Chore) Task Name
[x] My code follows the style guidelines of this project
[x] I have followed all the instructions described in the initial task (check Definitions of Done)
[x] I have performed a self-review of my own code
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] I have added reference to a related issue in the repository
[x] I have added a detailed description of the changes proposed in the pull request. I am as descriptive as possible, assisting reviewers as much as possible.
[ ] I have added screenshots related to my pull request ( for frontend tasks)
[ ] I have pasted a gif showing the feature.
[ ] @mentions of the person or team responsible for reviewing proposed changes

The sendmagiclink should stay in signupstate
We do all the stages logic in signupstate done() method.
@AlexeyKosinski

sendmagiclink stay in signupstate and a new parameter (full name) has been added to the endpoint since the sending of the magic link is done before the username is

The sendmagiclink should stay in signupstate
We do all the stages logic in signupstate done() method.
@AlexeyKosinski

sendmagiclink stay in signupstate and a new parameter (full name) has been added to the endpoint since the sending of the magic link is done before the username is

I did some refactoring. review and test please:

magiclink sent in done() like initially requested in task
userstorage is imported dynamically in signupstate. use it.

@AlexeyKosinski

I tested, works well

@StanislavShevchenko please also do
#939

change text
move magiclink screen+logic to after "lets start"

@StanislavShevchenko I tested it locally. when I click on 'let's start' it is not awaiting finishRegistration fn to be executed. And the magic link email is sent before the user is created. Is that behavior is ok for us? See the video - https://www.screencast.com/t/jIYbVGJKrZO

@StanislavShevchenko I tested it locally. when I click on 'let's start' it is not awaiting finishRegistration fn to be executed. And the magic link email is sent before the user is created. Is that behavior is ok for us? See the video - https://www.screencast.com/t/jIYbVGJKrZO

I think this is not a problem.
We do not wait for the storage of private data (user/add), therefore, with a magic line, I will send the full username to form the body of the letter.

@StanislavShevchenko I tested it locally. when I click on 'let's start' it is not awaiting finishRegistration fn to be executed. And the magic link email is sent before the user is created. Is that behavior is ok for us? See the video - https://www.screencast.com/t/jIYbVGJKrZO

I think this is not a problem.
We do not wait for the storage of private data (user/add), therefore, with a magic line, I will send the full username to form the body of the letter.

ok. got it. But what if an error will occur during the 'finishRegistration' fn execution and the registration won't be completed?

ok. got it. But what if an error will occur during the 'finishRegistration' fn execution and the registration won't be completed?

We have #119 task. Here we make save steps and if users break to save on any steps, we can continue saving

@AlexeyKosinski

you've moved the waiting to the magiclink, i've specifically asked that waiting stays in the lets start.
for some reason some logic has been moved into magiclink component, this also should happen.
magiclink sending should stay where it was - when user presses lets start.

basically everything stays the same, you simply need to show the magiclink screen after the "lets start" screen. keeping, the same logic structure in the signupstate done()


[Bug]: Dynamic Column Header has no background

Contact Details
No response
What happened?
The table column header on https://swate-alpha.nfdi4plants.org/ has no background. When scrolling down, it overlaps with the text behind.
What did you expect?
That the column header has a background, preventing overlap with the text behind.
Host
Standalone
Host Details
OS: Windows 11
Browser: Firefox Version 122.0.1 (64 Bit)
Swate version
Swate Release Version v1.0.0-alpha.12

Done! Will be fixed by the next version!


How to perform Div/Sqrt operation using the DIVSQRT unit

Hello,
I established a testbench that instanciates the fpnew_top, and I'm trying to understand how I can control the interface to feed the input operands and get the result back.
I use the following instructions inside an initial block. With MULADD operations I get the correct results, but when I change fpu_op to fpnew_pkg::SQRT or fpnew_pkg::DIV I get all zeroes at the output.
I use the same Implementation and Feature parameters used inside the EX stage of RI5CY. Simulation is performed using ModelSim 10.2c. Do you have any idea why i don't get the results for Div and Sqrt? What of ModelSim does work with your SystemVerilog testbenches?
        // The input operands
        apu_operands_i[0] = 32'b00111111100000000000000000000000; // 1.0
        apu_operands_i[1] = 32'b01000000001000000000000000000000; // 2.5
        apu_operands_i[2] = 32'b00111111100000000000000000000000; // 1.0

        // Operation to be executed
        fpu_op        = fpnew_pkg::ADD;
        fpu_vec_op    = 1'b0;
        fpu_op_mod    = 1'b0; // fpu_op = ADD && fpu_op_mod = 0 ==> ADDITION
                                           // fpu_op = ADD && fpu_op_mod = 1 ==> SUBTRACTION

        // Input/Output formats
        fpu_int_fmt   = fpnew_pkg::INT32;
        fpu_src_fmt   = fpnew_pkg::FP32;
        fpu_dst_fmt   = fpnew_pkg::FP32; // By default, dest types = src type. fpnew_pkg::FP32;
        fp_rnd_mode   = fpnew_pkg::RNE;

        // Ready/Valid Interface
        in_valid_i = '1;

I have also got several warnings, that I just suppressed, could these affect the results of the simulation?
vlog-2583: [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
Thank you very much in advance.
Best regards,

Hello and thanks for your interest in this project!
From the get-go I can think of two potential problems:

In RISCY there is an option to turn off the DIV/SQRT unit through the parameters, so it might be you copied from a version with disabled DIV/SQRT. Would you mind pasting your version of the Implementation paramter you're using? Alternatively (for starting) you can also use the default implementation parameter from the package called fpnew_pkg::DEFAULT_NOREGS which enables all units and doesn't add any pipeline stages.
The DIV/SQRT hardware unit itself is contained in another repository, pulp-platform/fpu_div_sqrt_mvp which has to be compiled as well. Since you don't seem to have any simulation issues though I assume you compiled it as well.

The warning you see should not be a problem. It pertains to I believe arrays (I don't remember precisely) having some indexes assigned inside of an always_comb block and some outside of it, which the simulator cannot statically verify is safe before doing elaboration (since the dimensions are parametric)
Cheers

Thank you for your valuable support!

Here is how I proceeded: I used bender to generate the synthesis script for ModelSim, a priori no dependencies problems and everything compiles fine, including the modules from fpu_div_sqrt_mvp.
I have written a testbench where I instanciate an fpnew_top module, with the following parameters I extracted from the RI5CY core. There was a C_DIVparameter which activates fpnew_pkg::MERGED unit type in case it is enabled, so I just put that directly. So ADD/MUL operations are working, but not the DIV/SQRT.
I tried with the fpnew_pkg::DEFAULT_NOREGS implementation, as well as with the standard  fpnew_pkg::RV32F feature, still not output.
I also checked the NUM_OPGROUPS parameter in fpnew_pkg, which determines what blocks should be generated. It is set to the default NUM_OPGROUPS = 4 value.
I wasn't able to print the schematic in ModelSim to check if the DIV/SQRT block is taken into consideration or not. Someone suggested me that it is possible that the version of modelsim I have (SE, 10.2c) doesn't support SystemVerilog, do you recommend a particular ModelSim version?

// -----------
// FPU Config
// -----------
// Features (enabled formats, vectors etc.)
parameter fpnew_pkg::fpu_features_t FPU_FEATURES_RI5CY = '{
        Width:         C_FLEN,
        EnableVectors: C_XFVEC,
        EnableNanBox:  1'b0,
        FpFmtMask:     {C_RVF, C_RVD, C_XF16, C_XF8, C_XF16ALT},
        IntFmtMask:    {C_XFVEC && C_XF8, C_XFVEC && (C_XF16 || C_XF16ALT), 1'b1, 1'b0}
        };

// Implementation (number of registers etc)
parameter fpnew_pkg::fpu_implementation_t FPU_IMPLEMENTATION_RI5CY = '{
        PipeRegs:  '{// FP32, FP64, FP16, FP8, FP16alt
                        '{C_LAT_FP32, C_LAT_FP64, C_LAT_FP16, C_LAT_FP8, C_LAT_FP16ALT}, // ADDMUL
                        '{default: C_LAT_DIVSQRT}, // DIVSQRT
                        '{default: C_LAT_NONCOMP}, // NONCOMP
                        '{default: C_LAT_CONV}},   // CONV
        UnitTypes: '{'{default: fpnew_pkg::MERGED}, // ADDMUL
                        '{default: fpnew_pkg::MERGED},  // DIVSQRT
                        '{default: fpnew_pkg::PARALLEL}, // NONCOMP
                        '{default: fpnew_pkg::MERGED}},  // CONV
        PipeConfig: fpnew_pkg::AFTER
        };

Thanks for the detailed description of your setup, there doesn't seem to be any issue with that.
Just to make sure, as you're saying the unit outputs only 0s for DIV operations. Does the unit complete a valid transaction on the output interface (i.e. out_valid_o goes high) with '0 at the outputs? I'm just asking because the DIV operations are computed on an iterative unit that takes quite some cycles to produce a result, unlike the MULADD units that are fully pipelined. Before that (until there valid output is signalled by out_valid_o = 1'b1), the result might show all zeroes.
Concerning the Modelsim version, I currently can't check with an older version, but I know it to work for sure on 10.7b and it should also work on some previous versions. However you never know with these tools, I'll have to check once the older versions run again (likely next week).
Cheers

Hello again,
I did further tests, and here is my state of progress:

Just to make sure, as you're saying the unit outputs only 0s for DIV operations. Does the unit complete a valid transaction on the output interface (i.e. out_valid_o goes high) with '0 at the outputs?

Actually when I perform ADDMUL operations the valid signal goes high.

However, when I change to SQRT (or DIV), the transaction does not complete

I think since these are iterative algorithms, they should provide 23-bit mantissa results in 23-ish number of cycles normally.

I'm just asking because the DIV operations are computed on an iterative unit that takes quite some cycles to produce a result, unlike the MULADD units that are fully pipelined. Before that (until there valid output is signalled by out_valid_o = 1'b1), the result might show all zeroes.

I suspected that at the beginning, but even when I wait for 600 i get nothing, knowing that the out_ready_i signal is forced to 1 (just as in RI5CY).
      for(int unsigned i=0; i< 600; i++)
      begin
            @(posedge  clk);
            $display("Iteration %d",i);
      end

Concerning the Modelsim version, I currently can't check with an older version, but I know it to work for sure on 10.7b and it should also work on some previous versions. However you never know with these tools, I'll have to check once the older versions run again (likely next week).

Actually I had to perform a few changes on the source code to get it work on my 10.2c ModelSim version. For example, I had to change the localparam key word in modules declarations to paramater and I had also some issue such as:
    assign index_lut[j] = NUM_LEVELS'(unsigned'(j));  // Original line in common_cells/src/lzc.sv
    assign index_lut[j] = (NUM_LEVELS)'(unsigned'(j)); // To overcome ModelSim errors, i put the parameter between parentheses.

For a newer version (10.5c - 2016) of ModelSim, I didn't have to do these changes in source code for it to compile, but the testbench was no longer working, even with ADDMUL. In this case I get the following, where nor the output nor the ready signal are defined.

Thanks again for your support .
Best regards

Hello,
The reset signal rst_n is active-low (denoted by suffix _n). You need to tie it high in order for the sequential parts of the circuit to operate properly. Let me know if inverting your reset fixes the issue.
Cheers

and I had also some issue such as:
    assign index_lut[j] = NUM_LEVELS'(unsigned'(j));  // Original line in common_cells/src/lzc.sv
    assign index_lut[j] = (NUM_LEVELS)'(unsigned'(j)); // To overcome ModelSim errors, i put the parameter between parentheses.

Thanks for pointing this out, some tools have their issues when params used for bit-width aren't enclosed in parentheses (even though it's legal SystemVerilog AFAIK). Will fix it inside common_cells.

Hello,
Oh my bad, please pardon my rookie mistakes. It's working now. I get the result at the 10th cycle for Sqrt  (is it normal ?). This is using ModelSim 10.2c (2013).
So I think think this issue is resolved. Thanks a lot for the help!

However, using ModelSim 10.5c (2016) the simulation stops at a property labeled gnt_idx that wasn't verified. I report the result of the simulation here for reference. This error occured with both source code versions i.e. the original source code and the one where I made the changes mentioned earlier (putting parentheses around bit-widths + changing localparam to parameter)
# Iteration         10
# Iteration         11
# ** Fatal: Idx_o / gnt_o do not match.
#    Time: 270 ns Started: 270 ns  Scope: fpnew_tb.i_fpnew_bulk.i_arbiter.genblk1.gnt_idx File: ../../fpnew/src/common_cells/src/rr_arb_tree.sv Line: 231
# ** Note: $finish    : ../../fpnew/src/common_cells/src/rr_arb_tree.sv(231)
#    Time: 270 ns  Iteration: 6  Region: /fpnew_tb/i_fpnew_bulk/i_arbiter/genblk1/gnt_idx
# 1
# Break in VlGenerateBlock genblk1 at ../../fpnew/src/common_cells/src/rr_arb_tree.sv line 231

Here is the trace I got when the properties in the bottom of the rr_arb_tree.svfile are deactivated:

Thank you very much for your help.
Best regards

Oof, indeed the valid_o signal should not be x, and it's strange that this behavior is Modelsim version-dependent.
I'll investigate this and if needed, will open an issue in the common_cells repo. Leaving this issue open for now.

Hello again,
I'm sorry for bothering, but I guess this question is related to this issue.
After having the RTL simulation worked, I tried a post-synthesis one using the same testbench and the same ModelSim 10.2c 2013 version. Synthesis is done using Design Compiler (2017 version) with a 350nm library.
Design Compiler produced a Verilog file output plus a SystemVerilog wrapper. These two with my testbench compiles well. So using the same testbench (with the active-low reset rst_n), I get all X in the outputs (out_valid_o, in_ready_o, apu_result, and fpu_ff_flags_o) as follows:

But when I invert rst_n at the input of the instaciated module, I get the out_valid_o to be zero (so at least it's defined) but never goes high and I never get the output result.

So I thought there was something I missed with the synthesis. I specified a clock of 350Mhz, without input nor output delays. From the reports I can see that the constraints are met. Should I somehow specify something to Design Compiler about the reset stuff? Or it's normally supposed to understand that? Any ideas?
Sorry again for my beginner questions.
Thank you in advance.
Best regards.

In the first screenshot, it seems you're sampling all X inputs into the unit on the first active clock after reset, marked in yellow here:

Please make sure all input signals are defined before reset ends and let me know if that fixed your issue. (some extended blurb about this at the end of the reply)
On the different synthesis results, the snitch config includes 1 pipeline register for all units, so probably that's one place where they might differ.
Cheers

These X values sampled in will poison all downstream logic as any logic operation with X can yield X again, especially if the simulator is pessimistic about the handling of Xes. Also, (System)Verilog is inherently bad for modelling uninitialized vs. undefined behavior as it knows only 4 logic values - but since we're sampling X into a register that probably doesn't have much to do with this issue.
The inverted reset (which keeps the circuit in reset at all times) actually brings the (resettable) registers in the circuit into a defined state again, so the control signal outputs at least show a defined value (since all control path registers are resettable).

You're right @stmach , defining the inputs before the reset ends resolved the problem!
I didn't know that, thank you very much for the detailed explanation!
Best regards


Fixes compilation warnings

Improves an equality check: == -> ===
Adjusts JSX comments to use the {/* ... */} convention per
https://wesbos.com/react-jsx-comments/ recommendation
Upon startup one now sees:
Compiling...
Compiled successfully!

Closes #850
Signed-off-by: Tom Marble<EMAIL_ADDRESS>

Thanks, @tmarble! If a PR is ready to be reviewed, please assign it to me or whoever needs to review it.


Difference in the implementation of rmsprop  with Tensor Flow

There is a small difference between Chainer's implementation of rmsprop and the one in Tensor Flow which I thought worth pointing out. In TF, the epsilon is inside the sqrt function while this is not the case for Chainer's implementation. This does not make much difference when you pick very small (compared to mean grad**2) values for epsilon but it does when epsilon is large (i.e eps=1.0) as it is used in training Inception V3 and V4.

Thank you for pointing this out.

Caffe2 (eps inside sqrt): https://github.com/pytorch/pytorch/blob/v0.4.0/caffe2/sgd/rmsprop_op_gpu.cu#L24
PyTorch (eps outside sqrt): https://github.com/pytorch/pytorch/blob/v0.4.0/torch/optim/rmsprop.py#L93


Support for the repr attribute

I have this type:
#[derive(Debug, Clone, Serialize_repr, Deserialize_repr)]
#[derive(ToSchema)]
#[repr(u8)]
pub enum OsrmVersion {
    Osrm4 = 0,
    Osrm5,
}

Generated output:
"OsrmVersion":{
    "type":"string",
    "enum":[
        "Osrm4",
        "Osrm5"
    ]
}

Expected output:
"OsrmVersion":{
    "type":"integer",
    "enum":[
        0,
        1
    ]
}

Is this possible to add support for the repr attribute? Or did I miss something?

Currently there is no support for repr but it could be investigated whether the support for this could be added and how much effort it would take. This is pretty nice idea though. I assume that the support should not be too difficult but cannot make any statements nor promises beforehand.

I'll close this now since the PR has been merged to master.


Support scrobbling streams

Any plans to support scrobbling streams? I listen to di.fm a lot, that would be cool. Last.fm app has streaming scrobbling

Is this a request for supporting the application Digitally Imported Radio ?

Please continue discussion in #96, or let me know if this issue should be reopened.


Support specifying coordinate reference system (CRS) of geometries

What
It is currently not possible to specify a CRS for our spatial tables. That means we cannot reliably place our geometries on top of a map.
Why
A clear and concise description of why this feature is needed and its context.
How
I think it'd be best to specify the CRS once when constructing the Model object, and then setting that preferably directly during GeoDataFrame construction. Setting it on to_file works for the GeoPackage, but it'd be nicer if we can also plot from Python on basemaps before writing to file.
CRS should be optional since maybe the true CRS is unknown, or there is no true CRS, like with most our test models. This unfortunately gives a warning from pyogrio that we currently suppress. Hopefully we can stop doing that. If this global suppression affects other Python code it would be best to only do that temporarily when calling to_file using this.
Additional context
https://geopandas.org/en/stable/docs/reference/api/geopandas.GeoDataFrame.set_crs.html
https://geopandas.org/en/stable/docs/reference/api/geopandas.GeoDataFrame.to_file.html
https://github.com/Deltares/Ribasim/blob/e1f8b81d861b62724d8fb9ccf8b828fa8e68ff32/python/ribasim/ribasim/input_base.py#L41

I think you could seriously consider making the CRS required for Model initialization.
Preferably this doesn't introduce any additional attributes, but just forwards it immediately to the geodataframes.
The QGIS plugin always sets a CRS based on the current Map Canvas: https://github.com/Deltares/Ribasim/blob/1f20b68eb4a6cba52fda7b51fe3f5ba5cfae9edf/ribasim_qgis/widgets/ribasim_widget.py#L72
QGIS defaults to EPSG:4326 (WGS 84) -- although I personally set my default QGIS CRS to EPSG:28992.
Although in that case, it makes some sense to support to_crs and set_crs methods on the Model object as well (they just forward to the geodataframes). Otherwise you have to do it twice yourself on the node and edge dataframe.

Yes that is a good point, let's make it required input.


Refactor config environment variable override code

Over time, there was some code duplication accumulated for overriding
configuration settings using an environment variable.
Introduce one common function to do the float slice override.
Combine os.Getenv and if case into one line, where possible.
Introduce basic Ginkgo test suite.
Add test cases for the currently possible environment overrides.

/assign @sbose78


The C++ FQA is a historical document about C++98

Purpose
While the "high-level" criticisms of the language are still accurate today (the "Defective C++" summary) a lot of the quirks and missing features pounced on by the FQA have been resolved since C++98, and the purpose of this post is to list them.
With that in mind, I believe the FQA is more valuable (and entertaining) as a historical document criticizing C++98 strictly (particularly because the Parashift C++ FAQ is now historical as well), lest we forget the ugly duckling that C++ used to be.

List of C++98 issues

No reflection
C++11 added the decltype specifier and the typeindex and type_traits libraries.

Unhelpful standard library and
[15.16] Why can't I open a file in a different directory such as "..\test.dat"?

The standard library doesn't support listing directories

unlike the fact that the C++ standard library has no way to open a directory, for example.

C++17 will add the filesystem library, by stealing code from Boost.Filesystem.

Unhelpful standard library

Well, the standard library doesn't have matrices or regular expressions, either.

C++11 added the regex library.

[6.16] Will I sometimes use any so-called "evil" constructs? and
[16.20] Does C++ have arrays whose length can be specified at run-time?

Note that with evil arrays, you can write int a[3] = {1,2,3}; while with the supposedly less evil std::vector, you can't.

std::vector is not an array, it's a class that looks like an array until you try to initialize it with {1,2,3} or pass an array to a function expecting a vector or get a huge compiler error message.

C++11 added uniform initialization by way of std::initializer_list.

[6.18] What should I tell people who complain that the word "FAQ" is misleading, that it emphasizes the questions rather than the answers, and that we should all start using a different acronym?

For example, why would someone deprecate static variables at the translation unit scope and demand people to use anonymous namespaces to get identical behavior?

C++11 reversed the decision to deprecate static for this usage.

[10.3] Can one constructor of a class call another constructor of the same class to initialize the this object?
C++11 added support for delegating constructors.

[10.5] Which constructor gets called when I create an array of Fred objects? and
[16.11] How do I allocate / unallocate an array of things? and
[33.6] How do I create and use an array of pointer-to-member-function?

And there's no standard container you can use for allocating memory on the stack, for example, so if you want one, you'll have to write it yourself.

Alternatively, if you'd rather create a problem than solve one, you can replace your evil arrays with std::vector.

Hey, why are we using an evil C array? Me not like this. How about:
std::vector<FuncPtrType> arr;
arr.push_back(&C::f);
arr.push_back(&C::g);
arr.push_back(&C::h);

C++11 added the std::array container.
(Repeat) C++11 added uniform initialization by way of std::initializer_list.

[10.9] Does return-by-value mean extra copies and extra overhead?
C++11 added std::move semantics and rvalue references.

[13.6] Can I overload operator== so it lets me compare two char[] using a string comparison?

As to the "arrays are evil" mantras - how about chanting them to the authors of the C++ standard library that defined an std::ifstream constructor accepting const char*, but not std::string? And they didn't define an operator const char* in std::string, either. std::ifstream in((std::string(dir) + "/" + file).c_str());. Give me a break.

C++11 added std::string overloads for file stream constructors.
C++11 added user-defined literals and C++14 added std::string literals aka std::literals::string_literals::operator""s.

[15.4] How does that funky while (std::cin >> foo) syntax work?

Why is it operator void*, and not operator bool?

C++11 updated streams to use explicit operator bool(), which being marked explicit has the potential to break some code.

[20.1] What is a "virtual member function"?

you can't look at a derived class and say which functions are virtual (the keyword is optional), and overloading makes it even harder to see when a function actually overrides a base class implementation

C++11 added the override specifier.

[20.6] I have a heterogeneous list of objects, and my code needs to do class-specific things to the objects. Seems like this ought to use dynamic binding but I can't figure it out. What should I do?

Off-topic: the STL way of saying foreach p in shapes is pretty ugly, isn't it?

C++11 added the range-based for() loop.

[23.11] How can I set up my class so it won't be inherited from?

C++ doesn't have final.

C++11 added lambda functions aka closures.

[35.2] What's the syntax / semantics for a "class template"?

Oh, and when you want to use a template, be kind with the C++ lexer (the part of the compiler converting text to "tokens" so that the parser can check whether they make meaningful statements). Code like vector<vector<int>>, which tries to declare an inefficient implementation of a 2D array, won't compile - you need a space before the two > characters.

C++11 fixed the right angle brackets.

Personal notes

[6.2] Is C++ a perfect language?

However, despite the obsession with perfection, C++ is "practical" - from a language designer's perspective rather than from a user's point of view. The "practical" thing in C++ is that it's based on C. This helped the language gain popularity. This is also the main reason for inconsistencies in the language - ambiguities in the grammar (declaration/definition, type name/object name...), duplications of functionality in the different features (pointers/references, constructors/aggregate initialization, macros/constants/templates, files/namespaces...). C++ sacrifices consistency for popularity. This "practical" approach helps to increase the number of C++ users, but it doesn't help those users to get their job done.

This point is repeated throughout the FQA a couple of times, and I believe there may be some validity to it.
Whenever C++ is presented as a higher-level and superior alternative to C, remind yourself how your program explodes with a Segmentation Fault if you invalidate the iterators of a standard container such as std::map and try to use them. You'd at least expect an exception to be thrown, right?

[19.3] How do you express inheritance in C++?

You may wonder what the colon syntax has to do with the concept of inheritance. Well, the connection is obvious: there's no inheritance in C, and adding keywords to C++ reduces the "compatibility" with C, because the grammars of these languages prevent you from using keywords as identifiers. Once again, punctation comes to the rescue. The other technique for retro-fitting features into the grammar is overloading keywords (consider static).

I hear that! Also consider C++11 and the "keyword-less" syntax of lambda functions and the reuse of auto, delete, default and using and then remember about the introduction of constexpr, decltype, nullptr, noexcept, override, final, and more...

I agree that the C++ FQA is about C++98 and not the later revisions right now, but I disagree with the opinion that it should be, for several reasons:

Neither the FQA nor, dare I say, C++98 are of much historical significance - so as long as the FQA remains a document about C++98 it's simply not very interesting;
C++ still sucks;
Its competition is tougher than ever (plenty of new statically typed garbage-collected languages and then Rust, C++'s closest competitor);
C++ apologists are louder than ever, overstating the benefits of C++11/14/17, downplaying the drawbacks and rebranding this shit as "Modern C++" when in fact it's the same tired arguments along the lines of Real Men with Smart Pointers Everywhere Don't Need GC (and cyclical references don't exist and needless copying is not slow or doesn't happen with move constructors blah blah BLAH.)

Obviously the FQA can only move forward if editors come along who strongly believe point 2 and care enough to spend their time educating the public on the subject. Unfortunately, I'm not that guy today - or maybe fortunately for me, because I'm lucky enough to not have to deal with C++ all that much.
But I deal with it enough to know that it sucks in its new incarnations (and I do recommend to upgrade to C++11 and beyond, don't get me wrong, I even campaigned for it where I work. Do upgrade, but it still sucks.) As to your specific points - C++ still doesn't have anything close to reflection, initializer lists are something even Scott Meyers still didn't quite manage to understand, move semantics complicate the language a lot and you'll still have a shitton of unnecessary copying, the lambdas are sometimes better than nothing but it's the only language where two lambdas taking and returning arguments of the same type do NOT have the same type (try declaring an array of lambdas) and don't get me started about the capture lists and capturing dangling references and why everything in this world just blows without garbage collection, etc.
I do agree of course that some problems with C++98 are solved in newer revisions, period - that is, with no downside to speak of; however, these revisions also create new problems altogether. And so I do agree that quite a lot of the FQA must be rewritten, both to fit the new structure of the FAQ and more importantly to adjust to the new map of language problems. And since that's a lot of work, it could very well be that nobody will show up who wants to do it, and then the FQA technically will remain a document about C++98.
But that will still remain a sad fact rather than a goal.

[...] when in fact it's the same tired arguments along the lines of Real Men with Smart Pointers Everywhere Don't Need GC [...]

For my information, how does one combat the RAII argument when these people have the "GC is not fast" argument already prepared?

Obviously the FQA can only move forward if editors come along who strongly believe point 2 and care enough to spend their time educating the public on the subject. Unfortunately, I'm not that guy today [...]

If you're waiting for others to "come along" do your work, then your work won't get done. Anyway shouldn't you have more free time on your hands nowadays, since you took up cartoon animation?
I guess I could follow my own list above, and start deleting, deleting, deleting parts of the FQA to bring it up to date. But don't expect me to be able to word criticism of "Modern C++" the way you can (or could, if you weren't lazy).

If you want to combat that argument, a battle-tested response, or at least a good start, is that malloc + shared_ptr (the latter uses 100-cycle atomic increments/decrements) is slower than a GC and still leaks memory when you have cyclic references.
I'm not waiting for others to do my work, where "my work" is defined as "things I get paid to do" (this should also give you a hint wrt what my response to "lazy" or "having more free time" might have been.) If someone wants to write about how much C++11 sucks and they like the FQA form and they'd like use it as a starting point, then I published the source and I'll accept pull requests (or they can fork it) and I'll probably republish the result at the original place, whatever that's worth in terms of PageRank and what-not. If you don't want to do it, then, well, don't do it.


Use pinned SHA for the bitcoin-core

https://github.com/lightningnetwork/lnd/blob/777abe5ff00707fbce0c58a4536cffebd055db25/scripts/install_bitcoind.sh#L5
The ruimarinho/bitcoin-core:0.20.1 is pinned by a tag. Tags can be moved and are also susceptible for supply chain attacks.  It is recommended to pin by sha
More information on https://github.com/ossf/scorecard/blob/main/docs/checks.md#pinned-dependencies
crane digest ruimarinho/bitcoin-core:0.20.1
sha256:fbf95b4134cd2f35a3cfe3c26feb89e72103234220fd7f2804ec9d3d91880a2b

For example, the above can be pinned by SHA using something like https://github.com/google/go-containerregistry/blob/main/cmd/crane/doc/crane_digest.md
Here is an example of using the SHA instead of tag https://github.com/ossf/scorecard/blob/4c4fb61d5106e39988dce8c277a8575d939a83e7/cron/worker/Dockerfile#L15

https://twitter.com/peter_szilagyi/status/1437646118700175360
A recent supply chain attack.

I am working on a PR for this.

This is definitely something we should fix! Even though this is currently only used for integration tests, other users of the repo might rely on this script so we should make it safer to use.


Show more tasks

Maybe I'm weird, but many of my projects have more than eight scripts. I know I can arrow down through them all, but it would be nice if ntl showed all of the scripts.

Hej @ruyadorno,
would you accept a PR for that?
That’s something I am missing in a lot of cases.
Question: Should it default to to show 7 and have an option to show more?
Like:
  -s --size   Sets the amount of tasks to show in the list without scrolling

I’m going to check how Inquirers pageSize property reacts when passing a number creater than available choices …

hi @mischah yeah def! I'd say for the default value we keep whatever is the default from https://github.com/SBoudrias/Inquirer.js
keep in mind though that I'm hard at work on iPipeTo which I meant to reuse here as a way of having a unified codebase as I mentioned in #12 - btw just yesterday I finished a first version of a proper API (https://github.com/ruyadorno/ipt/pull/26) 🎉
just wanted to let you know that any effort here might end up being removed later on during the migration/rewrite and it might be better to implement it directly on https://github.com/ruyadorno/ipt instead
all that said, please feel free to give it a shot! all help is appreciated ❤

just wanted to let you know that any effort here might end up being removed later on during the migration/rewrite

No problem, as long as the PR lands in a release 😘

it might be better to implement it directly on https://github.com/ruyadorno/ipt instead

To be honest ipt looks to complex for a short dive in. I want to work on a Yeoman feature after finishing this PR. So I prefer to add the feature over here for now.
Cheers, Michael :octocat:

AWESOME! 🎆
Please go ahead, I can cut a minor release as soon as it lands 😉
thanks!!!

thanks @zeke for reporting this one! 🏆
🎉 landed on release v1.3.0


gateway-api: add ServiceImport support

Add ServiceImport supports in Cilium Gateway API. The only implementation supported by this commit is the one where ServiceImport reference an existing "derived" Service with the annotation
multicluster.kubernetes.io/derived-service. This way of implementing ServiceImport make it as a "dummy" object while the real logic is still with the Service object. This implementation of MCS API is not enforced by the MCS API KEP but other implementations are very unlikely as it needs to modify kube-proxy (and/or other kube-proxy replacements) to support ServiceImport objects natively. It's also the recommended approach in the mcs-api repo "reference implementation" and what's planned for Cilium cluster mesh (see issue #27902).
Since we do not support any ServiceImport that doesn't have a derived annotation the support in Cilium Gateway API is mainly about making sure the annotation and the derived service actually exist and swapping ServiceImport by the derived Service right before ingesting it in Envoy.
Add ServiceImport support in Cilium Gateway API

/test

@MrFreezeex I'm going to mark this PR as draft since as I assume tightly coupled with the endpoint slice PR. If they can be removed independently just mark the PR as ready for review again. Thank you.

Hi @aanm, FYI this could already have some potential use case as you could technically use another MCS API implementation using Cilium GatewayAPI and that PR. So it shouldn't be coupled that much with my other or future others MCS/endpointslice sync PRs.
Although I would understand if you prefer having all the PRs in a good shape(-ish) before considering them to have a better view.

@MrFreezeex it requires a rebase :(

@mhofstetter PTAL.

@MrFreezeex - this PR has some merge conflicts, you may want to address these before or after our feature freeze (after being when wait-for-release label is removed).

@MrFreezeex - this PR has some merge conflicts, you may want to address these before or after our feature freeze (after being when wait-for-release label is removed).

Yes sure! Also I believe it's reviewable if the merge conflict is only about go.sum/venidr as it comes back often (every week/few weeks IIRC).

/test

/ci-gateway-api

/ci-gateway-api

Sorry for the inactivity on this PR, it has since become out of date, please rebase one more time :pray:. @youngnick I see there is an open re-review given you requested changes in the past, are you happy with the current state?

Sorry for the inactivity on this PR, it has since become out of date, please rebase one more time 🙏.

No worries, given that it's a conflict only on go.sum I would prefer to rebase this whenever reviewers are happy with the result as this breaks on practically every renovate PR merged (so once a week).

Yes, I'm also sorry about the delay here @MrFreezeex - I'll make sure I hit this today or tomorrow.

(I rebased the code + ran go mod tidy then)

/test


SUPPORTED_FS_FEATURES_QUERY_OPEN is not described

The SUPPORTED_FS_FEATURES_QUERY_OPEN flag is not mentioned in description of the Type.MiniFilter.SupportedFeatures and Type.LegacyFilter.SupportedFeatures fields

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 955fc6ff-c8b6-6d44-a2c1-436ce3eb0466
Version Independent ID: 27959143-52a5-ad1f-f0d2-82f27eabddf7
Content: _INSTANCE_AGGREGATE_STANDARD_INFORMATION
Content Source: wdk-ddi-src/content/fltuserstructures/ns-fltuserstructures-_instance_aggregate_standard_information.md
Service: unspecified
Product: windows-hardware
GitHub Login: @windows-driver-content
Microsoft Alias: windowsdriverdev

Thanks @21street, I've update both topics with the information you provided. Thanks for letting us know about this!


Updated readme with latest commands

Added latest commands
To fix #26

Hey, PR is looking good just change mentioned thing

Hi @makoteq as "read" was a bash command it was highlighted in blue. I have used cmd for the fenced code.

other thing - plese add [] brackets to < delay > just as you did for read command
@ashutoshjv661

after that we are good to go

sure I will do it right away

I have added the changes ^_^

Great job!

Thanks for the merge ^_^


Default verb handling

What is  the best way to support a default verb? Currently it seems to be no way to define some verbs and one default verb without a name.
call tool.exe -> default verb handling
call tool.exe [verbname] -> verb handling
Thanks for this great library!
Maybe it is in context the same behaviour like #652

This wiki page may help.

@moh-hassan  Thank you for answering. I knew this wiki page but the problem of using isDefault like [Verb("copy",isDefault: true, HelpText = "Copy some stuff" )]  is that i must define a name for the verb and this is also showing in the helptext and so on.  It is a little bit described here.

Why you are using verb in the scenario of one Option class?

When i have a console app called tool then i want to use a default implementation with options like
tool
# or
tool --option1 --option2

and usage of verb for subcommand like
tool subcommand
# or
tool subcommand --option3 --option4

so this is currently not possible or?

default verb can help.

Hi @moh-hassan, sorry to bring up this question again. I had the same question too and .. I do know the existence of default verb but it still doesn't do what I want. The issue is that I have to explicitly define the name and it always shows up in the help text. (Hidden property is not what I want since I still need help text for it).
This describes the exact question.

When i have a console app called tool then i want to use a default implementation with options like
tool
# or
tool --option1 --option2

and usage of verb for subcommand like
tool subcommand
# or
tool subcommand --option3 --option4

so this is currently not possible or?

is it possible that tool --option1 --option2 itself is interpreted as non-verb option? or you're suggesting that once there's a "Verb Option" in the whole parsing tree, all options have to be verb and it's just the difference of "default/non-default", "hidden/visible"?
Also to be more specific, is there anyway I can define options like this without tweaking the help text rendering
> ./myapplication help
Usage: some usage text

Options:
--login, -l         Do login
--service-version          check service version

Commands:
someDefaultVerb (Default Verb)  <- if I define default verb how can I remove this line
verb1      verb1 help text
verb2      verb2 help text

as you can see ./myapplication --login here makes sense independent of other verbs. How can I achieve this? Thanks very much.


Sync notifications between Trac and GitHub

See this downstream ticket I opened on the MacPorts Trac: https://trac.macports.org/ticket/68357
Basically, when a project has a presence on both Trac and GitHub, sometimes people will miss things on one place because they only check their notifications on one of the two places. Syncing notifications would help keep people up-to-date about things they may have missed on the other end of the bridge.
(N.B. I'm not sure if this is actually possible; if it isn't, feel free to close)

GitHub only supports access to notifications when authenticating with a personal access token.
From https://docs.github.com/en/rest/activity/notifications?apiVersion=2022-11-28#about-github-notifications:

These endpoints only support authentication using a personal access token (classic).

Since trac-github does not use personal access tokens, this would require asking users to provide a personal access token, and storing those tokens in the trac database on behalf of the user. This would be pretty bad user experience, and it would only work for the few users that actually opt into this.
Personally, I don't think that's a good balance in the risk & effort vs. reward calculation; the OAuth2 tokens that trac-github currently handles either don't have any permissions, or are able to read all email addresses, and that's it. The effort required to get this implemented for the few users that would provide an access token is also not worth it, IMHO.

OK yeah, that's probably more complicated than necessary; darn...
(my related request, MacPorts Trac 68357, still stands, though)


How to introduce mvn clean into Action?

See https://github.com/camunda-community-hub/camunda-bpm-identity-keycloak/actions/runs/1015734640 for more information.
@VonDerBeck has also provided the following information in: https://github.com/camunda-community-hub/camunda-bpm-identity-keycloak/issues/67#issuecomment-878113852
The build pipeline calls mvn-clean-package and works. However, the deploy pipeline still fails.
Question: How can one run the community-action-maven-release successfully and include the mvn clean command? Furthermore, how can mvn clean be included in the release action by default?

See https://github.com/camunda-community-hub/community-action-maven-release/pull/16#issuecomment-879627820
From my side there is no need for further action and this issue can be closed.

See #16 (comment)
From my side there is no need for further action and this issue can be closed.

Hi @VonDerBeck, thank you for the update! I'll close this issue, then! :) Glad we were able to resolve things! :D


Fix/example2

This PR ...
fixed the not entirely correct example dataset-1.
The download of the uploaded dataset-1 was updated and the output of the optimization of dataset-1 was added as Excel.

Checklist

Checklist for Contributors

[x] Unit tests provided?
Unit tests are needed for new features or to reproduce the bug solved by this PR.
[x] Documentation updated?
[x] Unit tests successful
[x] Code smells (flake8) checked

Checklist for Reviewers

[ ] Read PR description
[ ] Check linked issue
[ ] Check CI/CD (build, automated tests, linting, preview build)
[ ] Check documentation changes
[ ] Add labels to PR

Codecov Report

Merging #117 (b81619c) into main (8f926a7) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #117   +/-   ##
=======================================
  Coverage   79.42%   79.42%
=======================================
  Files         104      104
  Lines        2522     2522
=======================================
  Hits         2003     2003
  Misses        519      519

Flag
Coverage Δ

pytest
79.42% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Continue to review full report at Codecov.

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


[REQUEST] How to use int8 quantization inference without training?

Hi, I read the docs about zero_quant, but it seems to require extra training.
And in deepspeed.init_inference, the dtype can be set to int8, but the code does nothing for int8. https://github.com/microsoft/DeepSpeed/blob/master/deepspeed/inference/engine.py#L521
Is is possible to quantize an exisiting llm model directly and inference?

I have the same question.

same to you, i found the int8 and bfloat16 consume the same cuda memory

I met the same question...

same to you, i found the int8 and bfloat16 consume the same cuda memory

second this.


x/term: IsTerminal

I've added code to x/term https://github.com/techtonik/term/tree/isterm to fix #16420
I can't mail them:
>git codereview mail
remote: Processing changes: refs: 1, done
To https://go.googlesource.com/go
 ! [remote rejected] HEAD -> refs/for/master (no common ancestry)
error: failed to push some refs to 'https://go.googlesource.com/go'
(running: git push -q origin HEAD:refs/for/master)
git-codereview: exit status 1

Should the function be called IsTerminal, IsConsole or IsInteractive?

@mattn can we get get https://github.com/mattn/go-isatty in here?

What do you mean get? If you mean about using my codes on go-isatty, I am okay and feel free to use.

the git remote "origin" should be set to
https://go.googlesource.com/term
instead of
https://go.googlesource.com/go

Submitted. https://go-review.googlesource.com/38050
git-codereview doesn't support cloning from GitHub and then changing remote 'origin' (change command fails to detect changes), so I have to git clone https://go.googlesource.com/term, then git pull git@github.com:techtonik/term isterm and only then it worked.

I think this issue was solved and it's not a proper bug. ping @bradfitz


[Enhancement] Create Channels Group

Summary
For Android to be able to group the channels into group.

Can you provide some more info, so I dont have to do the research work. I have never used channel groups before.

Hi,
Currently my code as follow:
I am using Plugin.Firebase.CloudMessaging. As you can see, there is a group called "Latest Result" which is the group for the rest of the channel.
private void CreateNotificationChannel()
{
    notificationManager.CreateNotificationChannelGroup(new NotificationChannelGroup(NotificationConstants.NOTIFICATION_LATEST_RESULT_GROUP_CHANNEL_ID, "Latest Result"));

    notificationManager.CreateNotificationChannel(new NotificationChannel(
    NotificationConstants.NOTIFICATION_LATEST_4D_CHANNEL_ID,
    "4D",
    NotificationImportance.High)
    { Group = NotificationConstants.NOTIFICATION_LATEST_RESULT_GROUP_CHANNEL_ID });

    notificationManager.CreateNotificationChannel(new NotificationChannel(
    NotificationConstants.NOTIFICATION_LATEST_TOTO_CHANNEL_ID,
    "TOTO",
    NotificationImportance.High)
    { Group = NotificationConstants.NOTIFICATION_LATEST_RESULT_GROUP_CHANNEL_ID });

    notificationManager.CreateNotificationChannel(new NotificationChannel(
    NotificationConstants.NOTIFICATION_LATEST_SWEEP_CHANNEL_ID,
    "SWEEP",
    NotificationImportance.High)
    { Group = NotificationConstants.NOTIFICATION_LATEST_RESULT_GROUP_CHANNEL_ID });

}

In Android App Notification Settings it will show as such:

I‘ll have a look at it.

I cannot find any hints regarding CreateNotificationChannelGroup in Plugin.Firebase.CloudMessaging. You probably use the Plugin.LocalNotification? Nevertheless, it's quite a straightforward implementation. I give it a try.

@eyeveye do you want to try the latest 3.x pre release?


Extend PCRE malloc/free wrappers to use nginx pools

The goal is to completely avoid direct malloc()/free() calls from PCRE.
Implementation is heavily based on corresponding parts of the Lua nginx module:
https://github.com/openresty/lua-nginx-module/blob/master/src/ngx_http_lua_pcrefix.c

Merged thanks!


360hotel

AB#3855

@123harshal-sys If this is the beginning of any issue, please provide more info.


Fix metadata decoding error

Hello,
this PR solved https://github.com/PyAV-Org/PyAV/issues/629
Maybe another fix is better? Or this is OK? ..

No this is not OK, this method must return a string, not "a string or bytes", the days of Python 2 are long gone :)


Add CI validating the FIPS 3.0.0 provider loads in 3.x.x

Just a tracking issue to add this to CI as requested in #17402

@t8m is this addressed by https://github.com/openssl/openssl/pull/17671

Yes, IMO this should be sufficiently handled by #17671. Closing.

thanks..

Thanks folks, this is great 😄


A few kernel updates for IPC/SoC types of x86 deployments

This brings in a carefully selected set of kernel updates aimed at enabling x86 SoCs that do interesting things with peripherals (pincontrol, i2c, etc.). This is mostly useful on IPC/SoC type of deployments (think Dell 3K, Siemens IPC, etc.) and almost exclusively is enabled as modules (so the size bloat is only on disk and even that is 100k or so).
More specifically, this enables:

ACPI WDAT watchdog (found of cheaper x86 SoCs since more expensive ones tend to use iTCO one)
Broxton (x86 short lived SoC for mobile now found in IPCs) pincontrol
I2C support
SPI support (this is a large albeit boring commit that is probably best be reviewed by itself)
Integrated Sensor Hub
GPIO PWM subsystem
Enabling the very basic of MFD and PMIC (useful for interfacing x86 with things like FPGAs)

The later one is interesting since it is basically catch-all one for various x86 I/O extensions -- we're enabling just the subsystem, but I'm going to send a follow-on PR for Up2 board and Siemens IPC 127 soon to use it.

Ping @eriknordmark -- I'll be pulling this in soon

Will some existing devices which we've ran EVE on benefit from CONFIG_WDAT_WDT?

yup -- that's the idea!

Just confirmed that this enabled watchdog on Siemens IPC 127 (as expected) -- so we're seem to be doing well @eriknordmark


Update Get-LatestAlLanguageExtensionUrl to support Pre-Release versions

Describe the issue
Microsoft has now released a Pre-Release of AL Language Extension (see https://marketplace.visualstudio.com/items?itemName=ms-dynamics-smb.al)
Get-LatestAlLanguageExtensionUrl does not support filtering away those vsix, so right now it'll always return the Pre-Release version (the latest version).
Scripts used to create container and cause the issue
Get-LatestAlLanguageExtensionUrl

Full output of scripts
https://ms-dynamics-smb.gallerycdn.vsassets.io/extensions/ms-dynamics-smb/al/12.0.779795/1680613254602/Microsoft.VisualStudio.Services.VSIXPackage

Expected output
https://ms-dynamics-smb.gallerycdn.vsassets.io/extensions/ms-dynamics-smb/al/11.0.779295/1680528043617/Microsoft.VisualStudio.Services.VSIXPackage

Solution
I'll submit a PR that solves this, it could be used as-is - or as an inspiration for your own solution.

Solved by #2965


How does this compare to Mobx?

Mobx uses a similar approach, what's different?

From looking at the Mobx documentation, it looks like both libraries have taken a slightly different approach to a very similar problem.  When we first started developing ReSub internally, Mobx was not available.
We've chosen the path of fine grain collection of data in a single component state builder function instead of automatic binding of component data.  We liked this since developers can aggregate data from multiple sources and it's easy to see where data is coming from and what will happen on updates at a glance.  This has proven to work well across large datasets from multiple sources for us.
We've also exposed some additional functionality in ReSub to allow more complex patterns like lazy loading & remove data from memory as needed.  User profiles are a good example of this:
Note: the lookup could be to a local datastore, remote service or even another store
@AutoSubscribeStore
class UserInfoStore extends StoreBase {

    protected _startedTrackingKey(userId: string) {
        if (this._isPerformingRemoteLookup(userId)) {
            return;
        }

        // Look data up in remote service
        this._performRemoteLookup(userId).then(serviceData => {
            if (!this._isTrackingKey(userId)) {
                return;
            }

            this._userData[userId] = serviceData;
            this.trigger(userId);
        });
    }

    protected _stoppedTrackingKey(phoneNumber: string) {
        // Throw away in-memory data
        this._cancelRemoteLookup(userId);
        delete this._userData[userId];
    }

    @autoSubscribe
    getUserData(@key userId: string): UserData|undefined {
        return this._userData[userId];
    }
}

Thanks for the clarification

From what I can tell the example above could be accomplished in basically the same way in MobX using Atoms: https://mobx.js.org/refguide/extending.html (which also contains events for starting / stopping an observation)

I think this information would be helpful to add to the documentation (maybe linking to a blog post for details).
Also, it would be interesting to see how this affects build size especially for web apps using ReactXP (compared with using MobX).


Add rake task so that irb session is preloaded with takarabako.

Thank you for your contribution 😃
But I don't think that this PR is useful. In what situation do you use it ?

Thanks for looking at it.
I thought it will be quicker to open an irb session and get the library automatically mixed into the irb session:
[takarabako]$ rake console
irb -r takarabako.rb
2.4.1 :001 > Takarabako.open
 => "ヴァルキリーメイル"

Rather then launching an irb session and including the library all the time:
[takarabako]$ irb -I ./lib
2.4.1 :001 > require 'takarabako'
 => true
2.4.1 :002 > Takarabako.open
 => "神々が愛した鎮魂歌"

Thanks for your reply. But I don't still think that it is useful.
It can only be used with very limited opportunities. It's not for takarabako users.


[main] Upgrade to latest dependencies

release -matzew
/cc knative-sandbox/channel-wg-leads
/assign knative-sandbox/channel-wg-leads
Produced by: knative-sandbox/knobots/actions/update-deps
Details:
bumping knative.dev/reconciler-test 9cdcfcc...0d138a8:
bumping knative.dev/pkg fe5b178...18589ac:
bumping knative.dev/hack 92d8a0a...e11ac12:

/rebase

/close


Added git and github cheatsheets

Completed task #26 and did the changes as mentioned.

Hi @risingstar-bit can you please add hacktoberfest tag?

hello @risingstar-bit please add the hacktoberfest label. It would mean a lot to me as I participating for the first time in Hactoberfest event

hello @risingstar-bit please add the hacktoberfest label. It would mean a lot to me as I participating for the first time in Hactoberfest event

Done


Add E2E testing for editing/cancelling voids

Context
Adds end to end testing for both editing and cancelling void bookings.
Release checklist
As part of our continuous deployment strategy we must ensure that this work is
ready to be released at any point. Before merging to main we must first
confirm:
Pre merge checklist

[ ] Have all changes to any dependencies been deployed to both preprod and
production in a backwards compatible way? (This includes our API,
infrastructure, third-party integrations and any secrets or environment variables)
[ ] Has a required data migration been included in this change or been done in
advance?

Post merge checklist
Once we've merged we now need to release this through to production before
considering it done.
Find the build-and-deploy job in CircleCI
and work through the following steps:

[ ] Has the product manager asked to provide approval for this feature?

[ ] Has the product manager approved?

[ ] Manually approve release to preprod
[ ] Verify change released to preprod
[ ] Manually approve release to prod
[ ] Verify change released to production

Should a release fail at any step, you as the author should now lead the work to
fix it as soon as possible.

 E2E testing for voids functionality