how to set a timer

I need to set a timer. Repeatedly a function checks whether data is updated, if yes update the gui face ? In flexx, does it has this functionality?

[I 13:56:06 flexx.app] Starting Flexx event loop.
[I 13:56:08 flexx.app] New session ScrollExample ky0OsXaBn39pI0US7jcJ0ful
JS: C: foo changed:
JS:     from 0 to 0
JS: C: foo changed:
JS:     from 0 to 5
JS:     from 5 to 0
continue
Exception in thread Thread-3:
Traceback (most recent call last):
File "d:\pythonversion38\lib\threading.py", line 932, in _bootstrap_inner
self.run()
File "d:\pythonversion38\lib\threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "d:/yolov5_deepsort/Yolov5_DeepSort_Pytorch/taucher_seminar/flexCart/scrollable.py", line 68, in check
event_var.set_foo(n)
File "D:.virtualenvs\smartcart\lib\site-packages\flexx\app_component2.py", line 41, in flx_proxy_action
self._proxy_action(flx_name, *args)
File "D:.virtualenvs\smartcart\lib\site-packages\flexx\app_component2.py", line 499, in _proxy_action
self._session.send_command('INVOKE', self._id, name, args)
File "D:.virtualenvs\smartcart\lib\site-packages\flexx\app_session.py", line 528, in send_command
self._ws.write_command(command)
File "D:.virtualenvs\smartcart\lib\site-packages\flexx\app_tornadoserver.py", line 614, in write_command
self.write_message(bb, binary=True)
File "D:.virtualenvs\smartcart\lib\site-packages\tornado\websocket.py", line 340, in write_message
return self.ws_connection.write_message(message, binary=binary)
File "D:.virtualenvs\smartcart\lib\site-packages\tornado\websocket.py", line 1096, in write_message
fut = self._write_frame(True, opcode, message, flags=flags)
File "D:.virtualenvs\smartcart\lib\site-packages\tornado\websocket.py", line 1073, in _write_frame
return self.stream.write(frame)
File "D:.virtualenvs\smartcart\lib\site-packages\tornado\iostream.py", line 540, in write
future = Future()  # type: Future[None]
File "d:\pythonversion38\lib\asyncio\events.py", line 639, in get_event_loop
raise RuntimeError('There is no current event loop in thread %r.'
RuntimeError: There is no current event loop in thread 'Thread-3'.
JS: C: foo changed:
JS:     from 0 to 1

my code here:
class ScrollExample(flx.Widget):
CSS = """
.flx-ScrollExample {
    overflow-y: scroll;  // scroll or auto
}
"""
foo = event.IntProp(0, settable=True)
def init(self):
    # self.c=Test()
    with flx.Widget():
        with flx.VBox(flex=1) as self.VB:
            for i in range(100):
                flx.Button(text="button " + str(i))

@flx.reaction('VB.pointer_click')
def set_value(self,*e):
    self.set_foo(3)
    print('clicked')

@event.reaction('foo')
def react_to_foo_c(self, *events):
    print('C: foo changed:')
    for ev in events:
        print('    from %i to %i' % (ev.old_value, ev.new_value))
        with self.VB:
            flx.Button(text='button_add')

from threading import Thread
def check(event_var):
n=0
print('Get thread started')
while True:
event_var.set_foo(n)
time.sleep(3)
print('continue')
n+=1
if name == 'main':
m = flx.launch(ScrollExample)
thread=Thread(target=check,args=(m,),daemon=True)
thread.start()
m.set_foo(5)
flx.run()

I have stranded with the issue for days, I am some new for flexx,  hope somebodies can help solve it

I recommend you send a file instead of putting the code in a comment.
In its current form, I think most people won't take the time to try to clean the code and run it.

At least I won't :-P

scrollable.py.txt

Thank you for your response, I attached the code file above.

I recommend you send a file instead of putting the code in a comment.
In its current form, I think most people won't take the time to try to clean the code and run it.
At least I won't :-P

hi, konubinx:
I am just a new one for flexx. I have attached the program above, you may help me solve my issue. I would appreciate for it
Thks a lot

I think you are doing it wrong. I would use threading to do this, but
rather use the asyncio call_later function.
I think you can manage to do something using threads, but it comes with
a lot of issues to deal with concurrency.
Here is what I would do:

have a PyComponent to deal with the server side of stuff
use call_later in the PyComponent to update the UI

There are alternative designs, like

keeping only one Widget and use the async loop of the browser to call later
insist on using threads

But I changed the code to make it more like I feel is the best way to go.
scrollable.py.txt
JS: C: foo changed:
JS:     from 0 to 0
JS: C: foo changed:
JS:     from 0 to 1
JS:     from 1 to 8
JS: C: foo changed:
JS:     from 8 to 9
JS: C: foo changed:
JS:     from 9 to 10
JS: clicked
JS: C: foo changed:
JS:     from 10 to 3
JS: C: foo changed:
JS:     from 3 to 4
JS: C: foo changed:
JS:     from 4 to 5
JS: C: foo changed:
JS:     from 5 to 6

Hope that helps and gets out started.

konubinix：
Thank you very much. that is so helpful.

I agree with @Konubinix's answer: asyncio call_later is the way to go on the Python side.
For completeness, if you're only interested in a timer on the JS side, use window.setTimeout or window.setInterval.


CloudObject key collisions

It seems like it is possible for two independently created CloudObjects to be generated with the same key, causing one value to overwrite the other. This can be very confusing to debug, as there is no indication that the duplication has happened, unless you manually inspect the key field.
This has happened to me surprisingly often. The function where I detected this happening only makes ~31 cloud objects per invocation with 256 invocations, but I've seen this happen at least 3 times in ~20 runs.

I suggest to use the thread-id instead of a random suffix for each CloudObject key generation

@omerb01 you think random id has collisions? It's not likely to happen.. weird actually if it does

@gilv The random ID has only 4 hexadecimal digits. That's only 16 ** 4 == 65536 possible values.

@LachlanStuart wow...i missed that part. @omerb01 can you handle the fix?

fix in #326 , I used a thread safe counter managed by the storage handler.


Concern about time type in gorethink

In brief, I used NodeJS to setup RethinkDB database, and createdAt field has a value of milliseconds since epoch UTC (which can be achieved via Date.now()), I want to store data like this because createdAt will be used as a number for later calculating process after data fetching
Now I buid the same server in Go, I need to seek an equivalent type in this case, which returns a number for me to calculate later process
I read GoDocs for time and found:
func (t Time) Unix() int64
But both int64 and time.Time didn't work out
To be more specific, I posted my question in Stackoverflow: http://stackoverflow.com/questions/36150021/go-get-time-from-rethinkdb

For future reference it's not good practice to ask the same question on multiple websites and link between. That being said.
The first person answered your question but you are just missing that you want to run the function .Unix() upon the Field CreatedAt in your structure:
type Quote struct{
    CreatedAt   time.Time  `gorethink:"created_at"`
}

if you are working with time stick with time.Time as it has a large quantity of functions you may want to use in the future.
sidenote: that the func (t Time) Unix() int64 is a function of (time.Time) with the name Unix(no params) and returns int64

@gabeio If I use time.Time, the fetched data will always be 0001-01-01 00:00:00 +0000 UTC (similarly 0 value if converted to milliseconds). Data in database is a number of milliseconds, and it can't be fetched

I managed to find the answer myself. True type is used in this condition is float64 so that results fetched match with in database explorer (for example,<PHONE_NUMBER>597 milliseconds)


feat: add PR number in worspace info

add PR number in worspace info
Description
This PR displays PR number if workspace is created from PR and working branch has not changed

[ ] This change requires a documentation update
[ ] I have made corresponding changes to the documentation

Related Issue(s)
closes #979

@quest-bot loot #979


Increase Test Coverage

With JaCoCo Test Coverage Verification working (#65), the Statistics module is showing that it's coverage is below the current standard.

It would be useful to have Code Coverage workflow run on pull requests before merging.


Add ExtraTreesRegressor

Hello Matteo, I am interested in working on this issue. Could you please share more information as to how I can go about implementing this?

Hi Manasvi,
great to see you want to contribute to Hummingbird! To add ExtraTreeRegressor the process should be similar to what I highlighted here.
On your vantage point compared to the HistGDBT implementation is that you can take inspiration from ExtraTreesClassifier converter implementation here (hopefully it will be as easy as that). Also you can look at the differences between classifier and regressor converters for random forest in the same file.
Let me know if this is clear enough or you have any other question!

Thank you for the explanation.

I have added ExtraTreesRegressor to hummingbird.ml.supported.py.
I have added the converter for the same to hummingbird.ml.operator_converters.decision_tree.py such that it uses the same convert function as that for Random Forest Regressor.

I have written a code to test RandomForestRegressor here and ExtraTreesRegressor here.
From my understanding, the "time for HB GPU" should be lower than "time for scikit-learn". However, I found that this is not the case. Please let me know if my understanding/code for the same is incorrect, and as to what other changes I should be making before creating a pull request.

I think you did everything right. I believe that for the specific dataset you are using there is not "enough compute" to exploit hardware acceleration. I was going to suggest you to play with the tree implementations but you already tried (good!).
Next thing you can try is to increase the number of trees. You are only using 10 trees, I believe that as you move toward 100s or 1000s you should definitely see performance improvements. (Also increasing the dataset size may help)

@interesaaat Thanks for the clarification!
I considered two datasets Boston(506 samples) and California Housing(20640 samples) and tried varying the number of trees.
In case of the Boston dataset, as you rightly pointed out, using 100 trees resulted in a significant difference in scikit-learn prediction time and HB GPU prediction time, with the latter being lower. This difference was even more significant when the number of trees were increased to 1000.
On the other hand, using California Housing dataset, the difference in execution time was apparent just by using 10 trees.

You can find the notebooks for these here: RandomForestRegressor and ExtraTreesRegressor

Great, this is what I was expecting :)
I have 3 questions: which version of pytorch did you use? Which GPU did you try with? Can you submit a PR with the ExtraTreeGressor?

Pytorch Version: 1.5.0
GPU: NVIDIA GeForce 940MX
I just created a pull request :)

Thanks! :) can you do a quick check? Do performance change if you switch from PyTorch 1.5.0 to 1.4? We saw some performance regression on our hardware and we would like to validate if this is also true for your spec.

I executed the Random Forest Regressor code using Pytorch v1.5.0 and v1.4. The execution time appears to be slighly lower using v1.5.0 in most cases.
You can find the notebooks here: v1.5.0 and v1.4

Thanks @mmbhatk. While I agree that for GPU PyTorch v1.5.0 looks a bit better than 1.4.0, we cannot say the same for CPU numbers, though.

Boston:

10 trees:

v1.4.0:  1.27 ms ± 81.9 µs
v1.5.0:  4.37 ms ± 14.6 µs

100 trees:

v1.4.0:  3.9 ms ± 21.3 µs
v1.5.0:  39.5 ms ± 168 µs

1000 trees:

v1.4.0:  48.6 ms ± 94.5 µs
v1.5.0:  417 ms ± 2.79 ms

California:

10 trees:

v1.4.0:  28.8 ms ± 191 µs
v1.5.0:  165 ms ± 3.65 ms per loop

100 trees:

v1.4.0:  234 ms ± 21.9 ms
v1.5.0:  1.73 s ± 51.9 ms

The performance is actually quite big.

@interesaaat I completely agree, there's a significant difference for the CPU time between the two versions.


This fixes ability to override default git provider

Let's say, we have default git provider and packages for hg and git.
First of all, setPaths is being called earlier then consumer, that
means that default git provider will already be there.
Second, we are checking for @repositories.length when adding new
provider, but if default git provider is already there, we're in
trouble, because another git provider simply won't be initialized.
Third, if we'll leave that condition there and fix something else,
again, after consuming hg, we'll have setPaths called with default
git adapter :( This kinda complicates stuff on first load / plugin
enable-disable on fly, but I don't feel that this is a big issue.

Hmmm... that works as expected, but getting "/Applications/Atom.app/Contents/Resources/app.asar/src/git-repository.js:358 Uncaught Error: Repository has been destroyed" now.
I'll try to fix this as we'll be getting this error both on git project load and git package enabled.
I'd still suggest to put all git stuff Atom currently have in separate module and make it disable-able. :) Will try to do it in another pull request as a PoC.

Closing it, too many bugs with default git-repository destruction :(


Add isort and codespell in lint and rework tox jobs

This codespell looks cool 👍 , I'll also try it


Prompt for bin

I've seen people asking "X command not found what do I do? I just installed it!" a million times in the IRC.
How about npm prompting "This package comes with a command line tool. Do you want to install it? Y/N:" if there's a bin in the package.json and just repeat the install with -g ?

There's a warning and preferGlobal option. IMHO, if people can't read/investigate just a bit, it's their, not npm's problem.

Telling people to RTFM is not a solution to a problem that shows up every day by lots of different people. It needs to be addressed somehow, I'm proposing for a prompt but that can have its own issues.
I just did npm install express and didn't find the warning you're talking about. Maybe a clear message at the end of the installation that tells the user "This package also has a command line tool that WAS NOT installed. Use npm install -g  to install it." would work as well.

Ah! I see what you mean! Then yes, you're absolutely right.
I thought you were talking about CLI-only tools with preferGlobal set.

I'd be ok with a log.warn message in there.  A prompt would be overly annoying.
If you feel like writing a patch, please do so on the tar-js branch, at least until that lands into master.

One possible caveat is that a lot of packages have bins that aren't really intended to be used from the cli very much, and might just be examples or test scripts.  Semver and nopt come to mind.


Can't add SEQ ID to activity before simulation

winner
https://jira.jpl.nasa.gov/browse/AERIEQS-272
High
When adding a new activity to a plan, the ability to add a SEQ ID is shown but always fails before the simulation is run. This is mildly annoying on its own, since the Sequence ID box is available and selectable so from a UI perspective I would expect it to work, but it always fails. However, the big problem is when this happens to parent activities, because there is no SEQ ID available for children to inherit. Without the newly created children being able to pick up the parent's assigned sequence, it falls on the user to keep track of every new child activity that is spawned and manually assign it a sequence, which is both very annoying and a serious risk of missing a child when multiple new parent activities are added at once.
This is related to AERIEQS-273SEQ IDs are not inherited from parent activity and AERIEQS-274 Sequence IDs not persistent in a plan.

New issue links are #797 and #796 (to replace the AERIEQS references above.)

Plan to address #796 and #797 instead


Many active dydx addresses are missing from the distribution

Analysis of Missing dydx Addresses in Penumbra Distribution
Hi, I have checked the Penumbra airdrop distribution and found that some dydx addresses are missing.
Methodology
I used the Numia BigQuery database, which contains all the data from the dydx chain, and filtered out all the addresses that were maker or taker (used the dydx perps) at least once before 2024-04-01.
WITH filtered_data AS (
    SELECT taker AS address
    FROM `numia-data.dydx_mainnet.dydx_match`
    WHERE block_timestamp < '2024-04-01 00:00:00'
    UNION DISTINCT
    SELECT maker AS address
    FROM `numia-data.dydx_mainnet.dydx_match`
    WHERE block_timestamp < '2024-04-01 00:00:00'
)
SELECT DISTINCT address
FROM filtered_data
ORDER BY address;

Then I converted all the addresses to Cosmos format using bech32 and compared them with the Penumbra distribution 160k address list.
Files Attached
•	dydx_users_before010424.txt - Result of the query from Numia database
•	dydx_users_converted.txt - Same addresses but in Cosmos format
•	not_found.txt - The addresses that are missing

dydx_users_before010424.txt
dydx_users_converted.txt
not_found.txt

Hi, sorry but this is out of scope for this repository. You should reach out to the people/communities involved directly.


Remote debugger

Steps to test:
0. grunt firefox

Start grunt exec:debug_server (in addition to grunt server)
Open http://localhost:8000/examples/inspector/inspector.html and turn on inspector's "remoteEnabled" preference, reload the page (w/o rfile query parameter)
Install the extension, and create boolean pref in about:config shumway.debug.enabled = true
Open page with SWF in new instance of browser and in context menu select Debug this SWF.

What's happening behind scenes:

debug server starts HTTP server on port 8010, all requests will have session-id, from and to parameters
on start, inspector connects to debug server to listen for debugController/1/2;  and debug//1;
on extension instantiation, the browser sends message to debugController/2/1 with message {action: "getDebugger", swfUrl: url}
the inspector, if debugController/1/2 gets url that matches remoteSWF options, it will return someUniqueId (from step 2), otherwise 0;
5.if extension gets value >= 2 (see step 2 and 4), it starts relaying all other messages over debug/1/

/botio test

See also https://github.com/mozilla/shumway/wiki/Remote-Debugging-of-Firefox-Extension


Implement Johnson's algorithm

Implement Johnson's algorithm to find all-pairs shortest paths in a graph.

Resolved by PR #57


OIDC-Fed - Login with single provider

For single Identity Providers federated enabled with multiple configurations, no default is defined and the login page returns an error instead multiple buttons.

thanks for the report.
Shoud be fixed by bcce0b213c0e8933be7fd35ea2fcf9ee1750210b


Add a new Persian tts model

See also
https://github.com/k2-fsa/sherpa-onnx/issues/524#issuecomment-1913120448

We have updated the APK download page. Please see

You can also try it at
https://huggingface.co/spaces/k2-fsa/text-to-speech

The Persian voice  model has been updated.
[Persian-Piper-Model-gyro](https://huggingface.co/gyroing/Persian-Piper-Model-gyro/tree/main)

Hi
Model has been updated:
Persian-Piper-Model-gyro

Hi Model has been updated: Persian-Piper-Model-gyro

Thanks! I have already updated the APK.


[Concurrency] Global actors

Global actor types can be used as attributes on various kinds of declarations to indicate that those declarations are part of the isolated state of that global actor. This pull request introduces support for global actors into the concurrency model:

[x] The @globalActor attribute indicates a type that can act as a global actor. Such types must have a static property named shared that provides a globally shared actor instance identified by the type. Add the attribute and check for this condition.
[x] A global actor can be used as an attribute on various declarations to indicate that they run on the actor indicated by the type. Most kinds of declarations (functions, properties, subscripts, types, extensions) can indicate which global actor they are associated with. Check basic correctness in the use of global actors as attributes.
[ ] Implement propagation and inference of global actor attributes from superclasses, overrides, protocol conformances, etc.
[ ] Extend the actor isolation model to incorporate global actors.

Implements most of rdar://70101562.

@swift-ci please smoke test

@swift-ci please test source compatibility

This was getting big enough, so I went ahead and merged it. The global actor propagation rules, as well as checking for consistency of witnesses and requirements, is still to come.


Bug: Telemetry is a collection of JSON objects, should be an array

To reproduce:
curl https://cdn.gamelockerapp.com/semc-vainglory/eu/2017/10/26/21/24/fd2b2893-ba93-11e7-b2a6-0a586461017b-telemetry.json

Returns
{
  "time": "2017-10-26T20:58:17+0000",
  "type": "HeroBan",
  "payload": {
    "Hero": "*Hero009*",
    "Team": "1"
  }
}
{

which can't be parsed as JSON because it's not an array.

apparently there is not one event per line, to hotfix use the following regex:
// add `,` to the beginning of each event
let hotfix = apiresponse.replace(/\{ "time":/g, ', { "time":');
// `, {` -> `{`, wrap in `[]`
hotfix = "[" + hotfix.substring(2, hotfix.length) + "]";

For new matches, it is fixed. The match in question above and other matches from that day are still broken.

This should be fixed.
And unless Madglory fix these matches manually, these matches bugged will be gone in 120 days.
With that in mind, I will close the issue


Use Cake tool 2.3.0 for build

Also, update tools used in script to versions we currently use

:tada: This issue has been resolved in version 2.1.0 :tada:
The release is available on:

GitHub Release
NuGet Package
Chocolatey Package


[ENG-631] handle missing dates on meeting detail header

Purpose
An undefined start date would result in "Invalid date" in the detail header.
Summary of Changes
Added

Tests:

Integration:

meetings

detail

meeting-detail-header - add tests for location and dates

Fixed

Components:

meetings

detail

meeting-detail-header - only attempt to display dates when defined

Side Effects
None expected.
Feature Flags
ember_meetings_detail_page
QA Notes
An empty start date should not result in "Invalid date" being displayed.
Ticket
https://openscience.atlassian.net/browse/ENG-631
Reviewer Checklist

[ ] meets requirements
[ ] easy to understand
[ ] DRY
[ ] testable and includes test(s)
[ ] changes described in CHANGELOG.md

Pull Request Test Coverage Report for Build 3058

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 72.498%

Totals

Change from base Build 3057:
0.0%

Covered Lines:
6300

Relevant Lines:
7844

💛  - Coveralls


Add group option value of Convolution2D to Caffe exporter

Add group option value of Convolution2D to caffe exporter

Thanks a lot for this PR. Would it be possible to include tests for this as well? I'd assume in tests/chainer_tests/exporters_tests/test_caffe.py.

OK, I'll add.

Thanks for the quick fix. Please let me change the title of this PR to include "caffe" since that's what it's relevant to.

jenkins, test this please.

Jenkins CI test (for commit 5c59905d51a2ee9bd19e1722cad8415ca4b9e4b4, target branch master) failed with status FAILURE.
(For contributors, please wait until the reviewer confirms the details of the error.)

The jenkins, failure seem unrelated.

LGTM!

Jenkins CI test (for commit 5c59905d51a2ee9bd19e1722cad8415ca4b9e4b4, target branch master) failed with status FAILURE.
(For contributors, please wait until the reviewer confirms the details of the error.)


[r] Support callers not having done library(tiledb)

Working on a repro with @mlin I found that in a simple script that doesn't do library(tiledb) -- only library(tiledbsoma) -- we get
Error in config(tiledb::tiledb_ctx()) : could not find function "config"

Repro script:
#!/usr/bin/env Rscript

library(tiledbsoma)

exp <- SOMAExperiment$new('path/to/data')
sdf <- exp$ms$get("RNA")$var
sdf$read(iterated=TRUE)
print(sdf$read_next())

Codecov Report
Patch coverage has no change and project coverage change: +0.56 :tada:

Comparison is base (0cd0ca4) 90.74% compared to head (419c2b8) 91.31%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1082      +/-   ##
==========================================
+ Coverage   90.74%   91.31%   +0.56%
==========================================
  Files          30       30
  Lines        2259     2279      +20
==========================================
+ Hits         2050     2081      +31
+ Misses        209      198      -11

Flag
Coverage Δ

python
91.31% <ø> (+0.56%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.
see 11 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

That's the cost of not running examples :face_with_head_bandage:


Add more binarization options

Use functions from Leptonica to provide more binarization options. The new options are: 1) Adaptive Otsu and 2) Sauvola (Tiled).

I updated the PR. enum class is now used instead of plain enum.
The CI failures are not related to this PR.

Use functions from Leptonica to provide more binarization options. The new options are: 1) Adaptive Otsu and 2) Sauvola (Tiled).

How do I use these options? I have a problem similar to #1990, and I'm looking for a solution.


Tried to launch different examples, nothing works, got different errors

My device is a Mac mini with M2 chip.
Before I describe the errors, I'd like to say that I don't know what to build so I tried building different things in Examples_3 folder.
Issues with The-Forge/Examples_3/Unit_Tests/macOS Xcode/16_Raytracing/16_Raytracing.xcodeproj:
Immediately after launch, an assert stops the execution.
In The-Forge/Examples_3/Unit_Tests/src/16_Raytracing/16_Raytracing.cpp on lines 213 and 214 there is this code:
font.pFontPath = "TitilliumText/TitilliumText-Bold.otf";
fntDefineFonts(&font, 1, &gFontID);
in fntDefineFonts on line 630 the assert stops the program because on line 610 fsOpenStreamFromPath(RD_FONTS, pDescs[i].pFontPath, FM_READ, &fh) returns false.
The same error occurred when running 09_LightShadowPlayground.xcodeproj.
So I assume the program cannot find file TitilliumText-Bold.otf.
There is indeed no such file in the freshly cloned project or anywhere else in my filesystem.
I also encountered an issue when building Visibility_Buffer.xcodeproj. Build failed, and this was listed among errors in Xcode:
Command PhaseScriptExecution failed with a nonzero exit code

Did you run PRE_BUILD.command ? do you have the Art folder in the root of the repo ?
I've just tried on a clean repo and it seems to work just fine.

Running PRE_BUILD.command helped. I was so distracted I didn't even notice this file in the project. Thank you for your time.


fix datatypes in cwise and gather ops

cwise_ops_gpu_common and gather_functor kernels deduce loop variables from input template datatype. they cause overflows  and consequently result in Illegal CUDA memory access issues. Sample code to reproduce is added below.
import tensorflow as tf tf.compat.v1.disable_eager_execution()  n = 13417677  # 13417676 works h = 160 x = tf.compat.v1.get_variable('x', [n, h]) with tf.compat.v1.Session() as sess:     sess.run(tf.compat.v1.global_variables_initializer())

Have you tested the performance impact of these changes (especially the changes to the cwise ops, I'm less worried about the changes to gather)?
CC @sherhut as FYI

Have you tested the performance impact of these changes (especially the changes to the cwise ops, I'm less worried about the changes to gather)?
CC @sherhut as FYI

For what I was able to test, there was no effect for the LEFT and RIGHT performance. I used the random initializer (which calls mul, add, etc, internally ending up in cwise ops) over several session runs and actually To64Bit was 2-3% faster, (that might not be very meaningful as the variance was high and the call was in the order of few microseconds)

Have you tested the performance impact of these changes (especially the changes to the cwise ops, I'm less worried about the changes to gather)?
CC @sherhut as FYI

For what I was able to test, there was no effect for the LEFT and RIGHT performance. I used the random initializer (which calls mul, add, etc, internally ending up in cwise ops) over several session runs and actually To64Bit was 2-3% faster, (that might not be very meaningful as the variance was high and the call was in the order of few microseconds)

I see, thanks.  I'd still prefer merging this after the branch cut for TF 2.5 (currently planned for March 25) to reduce the risk of a subtle regression & cherry picks.  If that's OK with you can you please reply on this PR after March 25?

Have you tested the performance impact of these changes (especially the changes to the cwise ops, I'm less worried about the changes to gather)?
CC @sherhut as FYI

For what I was able to test, there was no effect for the LEFT and RIGHT performance. I used the random initializer (which calls mul, add, etc, internally ending up in cwise ops) over several session runs and actually To64Bit was 2-3% faster, (that might not be very meaningful as the variance was high and the call was in the order of few microseconds)

I see, thanks. I'd still prefer merging this after the branch cut for TF 2.5 (currently planned for March 25) to reduce the risk of a subtle regression & cherry picks. If that's OK with you can you please reply on this PR after March 25?

Sure, will remind you then.

@kushanam Any update on this PR? Please. Thanks!

@kushanam Any update on this PR? Please. Thanks!

@gbaned this doesn't wait for an action from me. @sanjoy proposed to postpone it to 2.6 and hence is the change request.

Have you tested the performance impact of these changes (especially the changes to the cwise ops, I'm less worried about the changes to gather)?
CC @sherhut as FYI

For what I was able to test, there was no effect for the LEFT and RIGHT performance. I used the random initializer (which calls mul, add, etc, internally ending up in cwise ops) over several session runs and actually To64Bit was 2-3% faster, (that might not be very meaningful as the variance was high and the call was in the order of few microseconds)

One thing to consider here is that we are switching away from the Eigen kernels for cwise ops (and have already done so for many kernels, including mul and add). It is possible that when you tested, you were already using the MLIR generated kernels, not the Eigen kernels (if you were testing with the latest changes available on March 16th).
Can you please try a kernel that is definitely using Eigen, e.g. from the cwise ops, this would be igamma, or explicitly disable MLIR generated kernels by passing the build flag --no=//tensorflow/core/kernels/mlir_generated:enable_gpu ?

I did now some performance benchmarking on a index-heavy kernel, namely:
add with shapes
lhs_shape = 10, 1, 10, 10, 100
rhs_shape = 1, 10, 10, 1, 100
So lots of broadcasting involved -> many index computations.
For Eigen, with 64 bits it takes 1.9 times longer than before, going from 163 microseconds to 314 microseconds
For the MLIR generated kernel, with 64 bits it takes about 1.5 times longer than before, going from 17 microseconds to 26 microseconds.

I did now some performance benchmarking on a index-heavy kernel, namely:
add with shapes
lhs_shape = 10, 1, 10, 10, 100
rhs_shape = 1, 10, 10, 1, 100
So lots of broadcasting involved -> many index computations.
For Eigen, with 64 bits it takes 1.9 times longer than before, going from 163 microseconds to 314 microseconds
For the MLIR generated kernel, with 64 bits it takes about 1.5 times longer than before, going from 17 microseconds to 26 microseconds.

@akuegel and @sanjoy  Thanks for the benchmarks, I could repro the results for the cwise ops. Any suggestions on how to mitigate the issue then? Unless the datatypes change, randomizing big embedding would not fit in int32.

Unfortunately I don't have a suggestion on how to mitigate the issue. Given that the cases where it becomes slower are still faster with the MLIR generated kernels than with the Eigen kernels, maybe we can accept the slowdown?
@sanjoy what do you think?

@akuegel we could also have the kernel generator JIT compile a kernel for 64bit indices if needed.

@akuegel, @sanjoy Any update on this PR? Please. Thanks!

@akuegel, @sanjoy Any update on this PR? Please. Thanks!

I think the pull request as-is can be closed. It tries to adjust code that we are mostly not using anymore.
The index type choice for the MLIR generated kernels is hard-coded here:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/compiler/mlir/tools/kernel_gen/transforms/kernel_lowering_passes.cc#L56
JIT compiling is planned (I think) for Q3, then it might be possible to fix this for MLIR generated kernels.


[dv] Consider a seperate memory access checker

Is it worth introducing a new checker that looks at the transactions on the data bus and confirms they all should have been executed? Such a check may help us spot problems like the one highlighted in #1339.
The question is what exactly it should check. It could record all transactions seen and we could do a post process step that each transaction matches to an executed instruction in the log, including matching up with when the instruction was executed. However this wouldn't have spotted the particular issue in #1339 in the reproduction of the bug I did as two loads were output into the log where it should have output one (see #1342).
We could drop the checking of time for the transactions and just match them up to the loads/stores reported in the spike log (i.e. just ensuring global order matches), though this will run into difficulties where we want to check tests that have exception handler execution that doesn't occur in spike (e.g. due to an interrupt).
Perhaps we are satisfied the instruction trace compare suffices here and could just add some assertions/tracking that ensures that if we see a data request on the bus this relates to a load instruction that is being reported on the trace interface.

Any thoughts @udinator?

Please correct me if i'm misunderstanding, but wouldn't introducing log comparison updates like the ones discussed in #1342 mean that this checker could be unnecessary?
If we do introduce that sort of log checking enhancements, then we'd automatically be able to check all memory transactions have been executed correctly (including stores, as the memory addresses could then later be randomly accessed by load instructions).
I think then we'd only be missing checking for any load/store instructions executed by exception/irq/debug handlers, which I tried to avoid including in the riscv-dv implementations.
does that sort of make sense, or am I not quite understanding what you're describing here?

The current log comparison doesn't actually look at a memory trace at all, it just compares load and store instructions. I'm proposing something that snoops the actual data bus and confirms all transactions seen are correct. However I think we could do it in a lightweight way that uses the instruction tracing. E.g. during runtime we just confirm loads/store seen match exactly to the instructions reported on the trace interface then the post process compare will confirm those load/store instructions should have been executed.
Whilst the randomly generated loads and stores should eventually find a bug where a store gets malformed or missed it does make it harder to track down the bug itself (as you'll just see a mismatch at a later point) plus increases the chance you miss it altogether. The probability of seeing the bug is the probability of finding it multiplied by the probability of generating a later load that causes a mismatch that produces a failure. Better the probability of failure is just the probability of finding the bug.
Relying on the instruction comparison also won't see double load/double store cases where a transaction gets repeated. For normal memory in a single core system this is relatively harmless (though may cause performance issues). When loading/storing to non-idempotent memory (i.e. a device) this could be a big problem (two pops/pushes to a HW fifo rather than one for instance). It may cause memory consistency issues should Ibex be used in a multi-processor system also.

Ahh, I understand what you mean now - this would be an actual snooping component for the data bus itself.
I think that's a good idea, like you mentioned we could just take advantage of the trace interface to easily check that everything matches up, and double check with the post comparison steps.
This clearly also patches up a small hole in the memory checking like #1339 showed.

The new co-simulation environment contains a memory access checker.


Object literals in an assignment pattern do not get completions

As mentioned by @JsonFreeman in https://github.com/Microsoft/TypeScript/pull/3698#discussion_r33834234, completion at the cursor in the following example should list a and b (and I believe with no builder allowed).
let x, y;
let z = { a: 10, b: "20" };
let k = (100, { /**/ } = z, 300);

Thanks @a-tarasyuk!


Distribute binary through composer

What about include build binary to composer install?
To update need to do two thing: update composer and update binary. This is not convenient.

@grachevko there 2 things that comes to mind:

Size of the package (we have to include 4 dists in this case)
A lot of people using a custom build or RR

I think it's not a really good idea to do that. But it's only my opinion.

@Alex-Bond it depends on how to solve that.
The goal is remove need to duplicate version of rr in composer and binary downloader.
For example this goal can be reached by downloader script, which i can add to composer.json in post-install-cmd. Downloader will depend on installed rr version from composer.
If you don't need to download default binary, just not add call downloader in composer.json.
I think it's quite enough.
But It will not be superfluous to investigate how other libs solve that.

@wolfy-j yeap, that is exactly what i mean.


detectBrowserLanguage: true / alwaysRedirect: true with nuxt generate --> redirection creates history entry in Safari.

Version
v6.8.1
Reproduction link
https://github.com/XLeiSize/nuxt-i18n-bug-demo
Steps to reproduce

clone the project and install dependencies
run nuxt generate
run a local server on your dist folder (if you have python3, you can run npm run python-server)
access localhost either in MacOS Safari, MacOS Firefox , or iOS Safari

What is expected ?
redirect without creating history entry; meaning without being able click on "back" which display the website in default locale
What is actually happening?
redirection create a history entry :

And when you click on back, it shows the website in default locale :

Additional comments?
With a little bit of digging, I've found that the code responsible to the redirection is here :
https://github.com/nuxt-community/nuxt-i18n/blob/3f6dbeacda351071202b2acb0cfbfd3092a30b3a/src/plugins/main.js#L181
During my test I've found a workaround that I believe is specific to my use case ; which is instead of using redirect(redirectPath) I've directly used window.location.replace(redirectPath) as it's what is used inside nuxt's redirect function ( https://github.com/nuxt/nuxt.js/blob/c02ded2d8622c290ba28c696d363426b825a0977/packages/vue-app/template/utils.js#L201 )
I know that the workaround compromises SSR so I'm not exactly sure what is the best solution for this use case, would love some inputs.
And to be honest if it's even an issue with nuxt-i18n or with nuxt's redirect function.
Thanks :)

This bug report is available on Nuxt community (#c435)

I think I have "accidentally" fixed it with latest version (6.11.0). Can you confirm?

BTW. Since it wasn't mentioned, I have to add that the precondition to reproducing this is to have primary language in the browser/OS set to one of the languages supported by your demo that is not english.

Hey @rchl ! Thanks for your answer, indeed I forgot to mention that part.
Indeed it seems fixed with the latest version ! Thank you :)
So I assume it was fixed in this commit right ?

Yes.


Removed namespace alias to prevent collisions

We're having issues with internal namespace collisions due to the proto namespace alias, so we would prefer removing it.

@htuch

Committed a format fix, but it isn't being picked up.  Is this because the PR has already been approved?


[BACKLOG-19342] make FastJsonReader fast again

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -fn -f 'pom.xml' -pl 'plugins/json/core' -P '!assemblies' -amd clean install && mvn -B -f 'pom.xml' -pl 'plugins/json/core' -P '!assemblies' -amd site

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'plugins/json/core' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  plugins/json/core/src/main/java/org/pentaho/di/trans/steps/jsoninput/JsonInput.java
  plugins/json/core/src/main/java/org/pentaho/di/trans/steps/jsoninput/reader/FastJsonReader.java
  plugins/json/core/src/test/java/org/pentaho/di/trans/steps/jsoninput/JsonInputTest.java
  plugins/json/core/src/test/resources/sample.json

Unit test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.trans.steps.jsoninput.JsonInput

Branch Change:  + 1.35%
Complexity Change:  + .75%
Instruction Change:  + .33%
Line Change:  + .16%
Method Change:  + 3.79%

org.pentaho.di.trans.steps.jsoninput.reader.FastJsonReader

Branch Change: -1.79%:small_red_triangle_down:
Complexity Change: -.75%:small_red_triangle_down:
Instruction Change:  + 3.56%
Line Change:  + 3.46%

org.pentaho.di.trans.steps.jsoninput.reader.FastJsonReader.TransposedRowSet

Branch Change: -12.50%:small_red_triangle_down:
Complexity Change:  + 2.56%
Instruction Change:  + 17.95%
Line Change:  + 18.00%

@bmorrise please review


Pre-generate aggregation functions in QueryContext

Description
AggregationFunction itself is stateless, so we can share it among all the segments to prevent the overhead of creating it per segment. This can significantly improve the performance of high selectivity queries that hit lots of segments.

Remove the accept(visitor) from the AggregationFunction interface which may make it stateful
Make DistinctCount and DistinctCountBitmap stateless by caching the dictionary within the result holder

Release Notes
Interface change: accept(visitor) is removed from AggregationFunction
All the implementation of the AggregationFunction should be stateless so that it can be shared among all the segments.

@mayankshriv There is no way to ensure new implementations are stateless (we cannot prevent bugs in new implementation). The existing ones are covered by tests. Added some comments in the AggregationFunction javadoc.


Automated GIF creation

I'm going to hack a way for a GIF to be created and updated with every screenshot. Properly optimized GIFs are actually a rather efficient way to store the consecutive images as only differences are saved. I'm not a programmer - I really wouldn't know the best way to integrate it with this tool.
But in linux I am going to simply use the imagemagick command as follows:
convert -layers Optimize -delay 20 -loop 0 layers.gif layers-(latest timestamp).png layers.gif
Running this with every new screenshot will add it's differences to the existing animated GIF (first run may omit the first 'layers.gif' input). Parameters such as delay can be put into config file.
If growing GIF filesize is an issue, maybe it can start a new file with every n minutes, or n snapshots, or n megabytes.

Oh, thank you for the hint! I'll see if i can integrate this with
ingress-ice.

Sorry for waiting so long… If you are still here. I'm afraid it's impossible to integrate it directly. However, you can do it by watching for filesystem changes, for example, using inotify watches (man inotify).


Update NanoVG and stb-image sources, bring all VCV goodies too

@jpcima You have some plugins made with nanovg, can you give this a try?
Basically it is the updated version from VCVRack with the DPF custom additions on top.
For VCV itself this works, hopefully doesnt break anything else.

Not immediately, the spectacle-analyzer plugin wants a port to the newer model.

change all to Subwidget
mouse position handling, previously int and now double
checking if my old widget hacks are still relevant in new DGL

mouse position handling, previously int and now double

about this one, there are a few cast operators in place to allow to use old code as-is.
if there is one missing let me know, perhaps we can add one more.

But getting the old behaviour should be as simple as:

Rewriting in this way doesn't change anything.

I dont know then, but feel free to ping me if you need/want help with the update
I tested this branch with the nanovg stuff I have, everything seems to work just like before.
Going ahead and placing this on develop branch then.

I dont know then, but feel free to ping me if you need/want help with the update

@falkTX it's the updated source which can't work properly on new DPF
https://github.com/jpcima/spectacle/pull/new/with-new-dpf
example: click "Scale" tool bar icon, and no other icon can get interaction from that point on
also I don't understand how the change corrected the event propagation supposedly.
What was wrong about propagating from child to parent? now it seems as if toplevel takes exception to this behavior.

Ok I will take a quick loook


Updated package managers and documentation

https://www.pivotaltracker.com/story/show/148693055

@pivotal-yash-pancholi Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@pivotal-yash-pancholi Thank you for signing the Contributor License Agreement!


Singular forms of some texts are not translated

When I worked on #1218, using French localization, I noticed that "1 unread article" is not translated into French and remains in English, while the plural form is correct, giving for instance "10 articles non lus".
Both singular and plural forms are correctly translated in Crowdin, but it seems that the Localizable.dictstrings are not reimported into Vienna's Resources.

Sadly, these have to be imported manually. Xcode and Crowdin are not cooperating as much as I had hoped. Xcode 10 even changed the export format again, so we have to change the import routine. :/

OK, I will import the stringsdict-s manually.


feat: otel traces for flag evaluation

This PR
Partially address #575 by introducing traces for flag evaluations & otlp batch exporter based on otlp grpc with aim to use by otel collector.
Contents,

Refactor telemetry builder to register TraceProvider [1].
Tracers [2] for flag_evaluator.go & json_evaluator.go with passing context to derive span [2] tree

flagEvaluationService
|__ jsonEvaluator

Note that, setting otel-collector-uri is essential to export collected traces. However, flagd can still be run without collector uri -  this results in an empty(nil) exporter with no-op behavior this results in no provider registration, making traces to use NoopTracerProvider
How to test

Set up flagd with otel collector - follow documentation [4]
Perform flag evaluations  [5]
Visit Jaeger UI (typically - http://<IP_ADDRESS>:16686/) for traces

[1] - https://opentelemetry.io/docs/reference/specification/trace/api/#tracerprovider
[2] - https://opentelemetry.io/docs/reference/specification/trace/api/#tracer
[3] - https://opentelemetry.io/docs/reference/specification/trace/api/#span
[4] - https://github.com/open-feature/flagd/blob/main/docs/configuration/flagd_telemetry.md#export-to-otel-collector
[5] - https://github.com/open-feature/flagd/blob/main/docs/configuration/fractional_evaluation.md#example

This looks great to me and works well. Thanks for putting this together!
As a follow-up, ut would be nice if the service name and version were defined at the service level. You can see the semantic convention for that here.

Thank you for the feedback and review
Service name is already available in both metrics and traces. I will add the service version with the next commit.


one 7x7 conv vs. two 3x3 conv

Thank you for your wonderful work!
It has been noted that some recent works used two 3x3 convs (stride=2) instead of one 7x7 conv (stride=4) as stem, is it because the latter can lead to better results?

It seems that two 3x3 convs work better, according to uniformer’s choice:
https://github.com/Sense-X/UniFormer/blob/849cd0cd3b163f84102b1a799019a689d8d3fb8a/image_classification/models/uniformer.py#L341
But they do not have a strict ablation study (i.e. replacing only this patch embedding part) on this. I did not try, either, just followed their routines and focused on the attention part.
On 8 Apr 2023, at 12:58 PM, LMMMEng @.***> wrote:
Thank you for your wonderful work!
It has been noted that some recent works used two 3x3 convs (stride=2) instead of one 7x7 conv (stride=4) as stem, is it because the latter can lead to better results?
—
Reply to this email directly, view it on GitHubhttps://github.com/rayleizhu/BiFormer/issues/4, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AEYCTO3YTCY63YX7J43KK4TXADWANANCNFSM6AAAAAAWXGRUEI.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Got it, thank you!


ARROW-11166: [Python] Add binding for ProjectOptions

See also: https://github.com/apache/arrow/pull/8894/#issuecomment-756222590
The "project" compute function is not really intended for direct use; it's primarily a convenience for exposing expressions to projection: https://issues.apache.org/jira/browse/ARROW-11174
As such, maybe it should be hidden instead of exposed to python?

non-apache CI: https://github.com/bkietz/arrow/runs/1665173020

non-apache CI: https://github.com/bkietz/arrow/runs/1665173020

As such, maybe it should be hidden instead of exposed to python?

If it is not intended (yet) for direct use, I think that would be a good idea (or at least clearly mention this in the docstring).
(see also my reservations about the name at https://github.com/apache/arrow/pull/8894#issuecomment-756222590)

As such, maybe it should be hidden instead of exposed to python?

If it is not intended (yet) for direct use, I think that would be a good idea (or at least clearly mention this in the docstring).
(see also my reservations about the name at https://github.com/apache/arrow/pull/8894#issuecomment-756222590)

Merging.
Follow up to hide/rename/... https://issues.apache.org/jira/browse/ARROW-11206

Merging.
Follow up to hide/rename/... https://issues.apache.org/jira/browse/ARROW-11206


Avoid abbreviations in API?

The next release will be a major release therefore it is possible to update API.
The question is: is it good to abbreviate in API function's name or not?
For example:

Current
Idea

lv_obj_set_pos()
lv_object_set_position()

lv_btn_set_state()
lv_button_get_state()

lv_ddlist_set_options()
lv_dropdownlist_set_options()

lv_ta_set_cursor_pos()
lv_textarea_set_cursor_position()

The not abbreviated names are more descriptive but takes more time to write and read.
What's worth more? What is you opinion?

My opinion is stay with the shortened names.  They're quicker to type and are readable.

I like the option with full function names, although they can be implemented by defining abbreviated names

Meanwhile I tried different abbreviation "styles":
In my opinion the goal is to provide names which are so descriptive that you can know what it will do without (near) any prior knowledge.
For example the current LV_BTN_STATE_TPR (toggled pressed state of button) is obscure. LV_BTN_STATE_ON_PRESSED would be better.
In general keeping modul names (like btn, ta, ddlist) short but write longer "description part" seems a good choice. Like  change lv_btn_set_tgl() to lv_btn_set_toggle(). Hence you have to type only a few letters to get relevant result from auto-complete in your IDE and then the results will be very clear. This way not all off the current function names become obsolete (e.g. lv_button_set_toggle style would crash all the names) only a few updates will occur.
Do you agree?

So long as you provide a way (by defines or other) so that existing code can compile cleanly then it's not really an issue.  You'd be better asking anyone who has no knowledge of littlevgl what their opinion is, I think.

Until it is possible I will ensure backward compatibility. However unfortunately I can't ensure that the API will never change and will be backward compatible as the library evolves.
Only major releases (like the following v.5.0.0) will contain API modifications. The minor releases (like 4.1.0, 4.2.0, 4.3.0) are always backward compatible.
I know it is a pain for you and I feel sorry for that. But sometimes it is the price of introduce better things or improve the current state.

Fully understand that and I'll take a look at the release notes for v5 and see if there's anything I'll need. If not then I'll just stay on my current version which works really well.

Okay! :)
Here in TODO files you can always keep track with the new features for the new releases.


[BUG] Bump dapper and alpine versions

Describe the bug
Fossa/trivy needs a newer version of alpine to have reliable scans.
As a minimum request, we need to bump the alpine version from 3.9 to 3.14 and the dapper version from 0.4.1 to 0.5.8.
We also ensure that the alpine version used for dapper is now the same as the alpine version used in the packaging dockerfile.
Repos:

[ ] https://github.com/harvester/harvester
[ ] https://github.com/harvester/harvester-installer
[ ] https://github.com/harvester/network-controller-harvester
[ ] https://github.com/harvester/node-disk-manager
[x] https://github.com/harvester/load-balancer-harvester
[ ] https://github.com/harvester/cloud-provider-harvester
[ ] https://github.com/harvester/terraform-provider-harvester
[ ] https://github.com/harvester/docker-machine-driver-harvester
[ ] https://github.com/harvester/harvester-csi-driver

close in favor of https://github.com/harvester/harvester/issues/1868 as we will use the SLE BCI as the base image instead.


Require PJM API Key

Require providing API key during initialization or using PJM_API_KEY environment variables. Register for an API key at https://www.pjm.com/.

When will this be merged / released?

Hi! How can I register for an API key with PJM?

@bendnorman You can register here: https://apiportal.pjm.com/

Thanks! Once I'm registered any idea how I create an API key?

Yeah, sorry, I forgot that once you've created an account, you have to email PJM to get an API key.

For a non-member account, please send an email to<EMAIL_ADDRESS>or<EMAIL_ADDRESS>requesting dataminer API access.

Here's the full guide.
data-miner-2-api-guide.pdf


[Live-Site] - fix to run on local enviroment

This fix is due to every time I go to the URL.js file and change the URL for the development environment and when raising the PR I need to discard the change. so that's why raising the PR to fix the issue.

Why the prod one got changes to localhost:3000?

it's inside development not prod


Child link listeners

https://github.com/David-OConnor/seed/issues/163

// todo: Excessive nesting?

use std::convert::identity;

/// Set up a listener that intercepts clicks on elements containing an Href attribute,
/// so we can prevent page refresh for internal links, and route internally.  Run this on load.
#[allow(clippy::option_map_unit_fn)]
pub fn setup_link_listener<Ms>(update: impl Fn(Ms) + 'static, routes: fn(Url) -> Ms)
where
    Ms: 'static,
{
    let closure = Closure::wrap(Box::new(move |event: web_sys::Event| {
        event.target()
            .and_then(|et| et.dyn_into::<web_sys::Element>().ok())
            .and_then(|el| el.closest("[href]").ok())
            .and_then(identity)  // Option::flatten not stable (https://github.com/rust-lang/rust/issues/60258)
            .and_then(|href_el| match href_el.tag_name().as_str() {
                // Base and Link tags use href for something other than navigation.
                "Base" | "Link" => None,
                _ => Some(href_el)
            })
            .and_then(|href_el| href_el.get_attribute("href"))
            .and_then(|href| {
                href.chars().next()
                    .map(|first_char| (href, first_char))
            })
            // The first character being / indicates a rel link, which is what
            // we're intercepting.
            // todo: Handle other cases that imply a relative link.
            // todo: I think not having anything, eg no http/www implies
            // todo rel link as well.
            .and_then(|(href, first_char)| if first_char == '/' { Some(href) } else { None })
            .map(|href| {
                event.prevent_default(); // Prevent page refresh
                // Route internally based on href's value
                let url = push_route(Url::from(href));
                update(routes(url));
            });
    }) as Box<FnMut(web_sys::Event) + 'static>);

    (util::document().as_ref() as &web_sys::EventTarget)
        .add_event_listener_with_callback("click", closure.as_ref().unchecked_ref())
        .expect("Problem setting up link interceptor");

    closure.forget(); // todo: Can we store the closure somewhere to avoid using forget?
}

I don't like how repetitive that code chunk is, but not sure how to get around that; ie I think else if would still look weird.

I've tried some ideas, but I think it isn't possible without creating extra traits or some unsafe magic / reflection.
Merge at will, I'll try it and close the issue.


Bugs in hdmap.py

In https://github.com/zhaone/LaneGCN_ref/blob/main/data/LaneGCN/hdmap.py#L176
dist = np.expand_dims(ctrs, axis=1) - np.expand_dims(ctrs, axis=0)
dist = np.sqrt((dist ** 2).sum(2))

The motivation should be calculating a distance matrix of nodes which shape is $(N,N)$, where N is the number of nodes.
However, the code above will get a $(M,M,2)$ matrix, where M is the number of lanes.
Therefore, the index operation in #L199 left_dist[hi[mask], wi[mask]] = 1e6 will raise a out of range error.

Also, the same error happens in https://github.com/zhaone/LaneGCN_ref/blob/main/data/LaneGCN/hdmap.py#L208.
The feats should be a tensor with the shape of (num of nodes, 2). However the code miss np.concatenate(feats, 0).


Add Python module export and support more complex types

This is not ready for review.
Motivation and Context

Description

Testing

Checklist

[ ] I have updated CHANGELOG.next.toml if I made changes to the smithy-rs codegen or runtime crates
[ ] I have updated CHANGELOG.next.toml if I made changes to the AWS SDK, generated SDK code, or SDK runtime crates

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Closing in favour of another PR I am working on. I made a lot of mistakes here :D


Reset spec Release when version is updated

The specfile may not be maintained in the upstream (e.g. it can be fetched using wget during post-upstream-cone). Therefore, if the version is changed (e.g. new GitHub release), we should reset the Release tag. This commit aims to avoid breaking any existing use-case, therefore the resetting is rather conservative, e.g. if the upstream specfile explicitly sets a higher Release tag than it is in downstream, we do not reset it.
TODO:

[x] Write new tests or update the old ones to cover new functionality.
[x] Update doc-strings where appropriate.
[x] Update or write new documentation in packit/packit.dev.

Fixes: #1794
RELEASE NOTES BEGIN
Packit now resets the Release tag during propose-downstream if the version is updated and the Release tag has not explicitly been overridden in the upstream specfile.
RELEASE NOTES END

Thanks for so many quick reviews :)

Thanks, but the fix is not in the stg instance yet for some reason.

@pcahyna The stg images are not rebuilt on push to packit/packit, only on push to packit/packit-service.
There was a push half an hour ago and the newer images were imported 10 minutes ago so try now, please.

Unfortunately, the change is not complete, see e.g. https://src.fedoraproject.org/rpms/linux-system-roles/pull-request/132#request_diff . Release is reset to 1, but the %changelog section has the old Release: * Tue Dec 20 2022 Packit<EMAIL_ADDRESS>- 1.36.2-5


feat: upgrade native audio sdk 4.4.0

Update native sdk 4.4.0 dependencies

This pull request is trigger by bot, you can checkout this branch and update it.

Examples built:

https://nightly.link/AgoraIO-Extensions/agora_flutter_sdks_build/actions/runs/12292013309/agora_rtc_engine_android_6.4.0-sp.440.a_20241212081054.zip
https://nightly.link/AgoraIO-Extensions/agora_flutter_sdks_build/actions/runs/12292013309/agora_rtc_engine_ios_6.4.0-sp.440.a_20241212080318.zip
https://nightly.link/AgoraIO-Extensions/agora_flutter_sdks_build/actions/runs/12292013309/agora_rtc_engine_macos_6.4.0-sp.440.a_20241212080517.zip
https://nightly.link/AgoraIO-Extensions/agora_flutter_sdks_build/actions/runs/12292013309/agora_rtc_engine_windows_6.4.0-sp.440.a_20241212075302.zip
https://nightly.link/AgoraIO-Extensions/agora_flutter_sdks_build/actions/runs/12292013309/agora_rtc_engine_web_6.4.0-sp.440.a_20241212075009.zip

This comment is commented by bot, do not edit it directly


Using state in vue template

Hi, Paleo!
Could you please give us an example explaining how we use state in vue template?
I am really grateful for your help.
I used useState
https://vue-hooks.netlify.com/?path=/story/usestate--docs
But it doesn't seem to work.

I done


[BUG] 4.2.0 breaks builds

Hello,
The latest version seems to break the builds, at least with Ionic App Scripts v1.2.2.
Error output:
+ npm run build

> com.brandbassador@ build /var/lib/jenkins/workspace/STG-IonicApp
> node --max-old-space-size=2048 ./node_modules/.bin/ionic-app-scripts build

[14:52:39]  ionic-app-scripts 1.2.2
[14:52:39]  build dev started ...
[14:52:39]  clean started ...
[14:52:39]  clean finished in 1 ms
[14:52:39]  copy started ...
[14:52:39]  transpile started ...
[14:52:46]  typescript: node_modules/ionic-image-loader/dist/components/img-loader.d.ts, line: 1
            Module '"/var/lib/jenkins/workspace/STG-IonicApp/node_modules/@angular/core/index"' has no exported member
            'Renderer2'.

       L1:  import { ElementRef, Renderer2, OnInit, EventEmitter } from '@angular/core';
       L2:  import { ImageLoader } from '../providers/image-loader';

[14:52:46]  ionic-app-script task: "build"
[14:52:46]  Error: Failed to transpile program
Error: Failed to transpile program
    at BuildError.Error (native)
    at new BuildError (/var/lib/jenkins/workspace/STG-IonicApp/node_modules/@ionic/app-scripts/dist/util/errors.js:16:28)
    at /var/lib/jenkins/workspace/STG-IonicApp/node_modules/@ionic/app-scripts/dist/transpile.js:102:20
    at transpileWorker (/var/lib/jenkins/workspace/STG-IonicApp/node_modules/@ionic/app-scripts/dist/transpile.js:68:12)
    at Object.transpile (/var/lib/jenkins/workspace/STG-IonicApp/node_modules/@ionic/app-scripts/dist/transpile.js:26:12)
    at buildProject (/var/lib/jenkins/workspace/STG-IonicApp/node_modules/@ionic/app-scripts/dist/build.js:98:78)
    at /var/lib/jenkins/workspace/STG-IonicApp/node_modules/@ionic/app-scripts/dist/build.js:46:16

Ionic Info:
[jenkins@bb-jenkins STG-IonicApp]$ ionic info

Your system information:

Cordova CLI: 6.5.0
Ionic Framework Version: 2.0.1
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
Ionic App Scripts Version: 1.2.2
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Linux 3.10
Node Version: v6.6.0
Xcode version: Not installed

I think Renderer2 was introduced in Angular 4.x, and IIRC<EMAIL_ADDRESS>uses Angular 2.x
I'll replace Renderer with Renderer and publish a new release soon.


Fix for Bcrypt and SqlAlchemy type casting in Postgres

Hello,
I was running into an issue with an "Invalid Salt"  exception when checking user passwords with a Postgresql backend.  I was able to track the issue down to SqlAlchemy casting the hash to the incorrect type when db.String is specified.  Saving it as a db.Binary type because it is a Byte string remedies this issue.
More info here: http://stackoverflow.com/a/37032208

I struggled with this "Invalid Salt" issue. I was using python3 with the Flask-Bcrypt library. Ultimately, I found that I needed to apply the .decode('utf-8') to the password hash like below:
    def set_password(self, password):
    """Set password."""
    self.password = bcrypt.generate_password_hash(password).decode('utf-8')

So it seems not clear that changing to Binary type is the solution here.

bcrypt.generate_password_hash doesn't return a utf-8 string though.  It returns an array of bytes.
I believe the generate_password_hash you are referring to is in flask-bcrypt and that function calls and returns hashpw from the actual bcrypt module.  This function takes and returns bytes.  Storing the hashed password as bytes would be correct in this case instead of trying to interpret it as unicode/utf-8 string.

Thanks!


add scaling function parameter

Hi,
Thank you for your contribution !
Could you please elaborate on the effect of this parameter and the necessity of adding it to the configuration? I know that it has an influence on the Lipschitz constant of the scaling function but I don’t think adding this as a new hyperparameter will help for optimisation. For example, in MuZero paper, this parameter is fixed to 0.001 for all experiments.

Hi,
Thank you for your contribution !
Could you please elaborate on the effect of this parameter and the necessity of adding it to the configuration? I know that it has an influence on the Lipschitz constant of the scaling function but I don’t think adding this as a new hyperparameter will help for optimisation. For example, in MuZero paper, this parameter is fixed to 0.001 for all experiments.

Adding epsilon parameter in support_to_scalar and scalar_to_support is just for test. In the paper, https://arxiv.org/abs/1805.11593, the default value is 0.01. MuZero changes it to 0.001. May be better not to write it as a constant in the formula.

Could you please run some tests to see the influence of the epsilon parameter on the training so we can know more precisely  if epsilon could be a key parameter for optimisation ?


Removal of src/core/include/utils/defines.h

All 4 CI jobs succeeded.

As part of investigating the removal of OPENFHE_UNUSED(), I ran all benchmarks at tip of dev, and at tip of this branch, and observed that the differential in run times looked like just noise.  i.e. this is not short-circuiting things.  ...in the benchmarks, at least.  Additionally, CI ran and all unit tests are passing.  I will also attach my code review comments.

I have a feeling that this will have borked the HEXL build.  I have HEXL pinned to the last release, so I'm not going to let that get in the way of this PR.  I will attend to any HEXL issues after the next OpenFHE release.

closes #155


[NextCloud+OnlyOffice]  Shared editing does not show changes from other users

Hello,
Firstly, I have just started testing OO, and I am very excited and impressed with the features.
I have a new installation of OO by following the Linux installation guide.  I created a document and shared it inside NextCloud between two users.  Chrome crashed while in the middle of the users collaboratively editing the file, and now users attempting to edit that specific file cannot see realtime edits from other users.  If I create a new file, the system works normally.  If either user edits the broken file, the file will be modified and saved properly.  The only functionality that is broken is the collaborative editing.
I have saved the state of the system since I think debugging this specific issue will be helpful.  This issue is very important because multiple people can be happily editing files and overwrite other changes (since the users think no one else is editing the files).  I can dive into the code, although I think this is a fairly trivial issue to diagnose by someone experienced with the codebase.
Restarting nginx, rabbitmq, and redis did not affect the state (the issue persisted).  The respective logfiles do not contain any errors pointing to a simple cause.  What debug info is needed to determine the root cause?
Steps to reproduce (I have not fully reproduced the error on a clean system yet):

Clean installation following OO linux install guide
Link to Nextcloud
USER1@Nextcloud web:  Create document DOC1 in a shared folder
USER2@Nextcloud web:  Open document DOC1 shared from USER1
Edit the document from USER1 and USER2.  Verify edits are shared in both directions
Force quit / Uncleanly exit Chrome on USER1 + USER2
Restart Chrome
USER1@Nextcloud web:  Open DOC1 for editing, make changes, and exit
USER2@Nextcloud web:  Open DOC1 for editing, make changes, and exit
At some point, changes to either file will not sync and the Chat panel will only contain USER1 or USER2.  The realtime changes do not appear in the opposite user session
Quickly repeat steps 8-10 until users become unsynchronized.  The users should remain unsync'd for a at least a few closes and opens

Minor debug note:  While on the same workstation, I used Google Chrome in normal mode for USER1 and incognito mode for USER2 (to maintain separate sessions for USER1 and USER2).
NextCloud 13.0.0
OnlyOffice 5.0.7 CE
nginx 1.10.3 (SSL enabled)
Google Chrome 64.0.3282.167
Client OS:  OSX 10.13.3
Server OS:  Ubuntu 16.04.3

Hello @sonaro,
Could you please specify the following phrase, as OSX 10.13.3 is not supported by the document server.

OSX 10.13.3

Hello, I updated the post to clarify the client/server OS's.

Hello @sonaro,
Unfortunately, we cannot reproduce the mentioned issue. Please specify some additional information:

Is Versions application installed and enabled in Nextcloud?
Do USER1 and USER2 add any information to the files on the steps 3 and 4?
Does Chrome browser restore previously opened tabs? If yes, please specify whose session is this (USER1's or USER2's).

We would appreciate if you can make a video or a .gif file of the whole scenario.

Hello @alexanderonlyoffice ,
1- Yes, Versions is installed and enabled v1.6.0.
2- Yes, I updated the above steps.  The collaboration functions at first, and then stops working.
3- Chrome has restored and also not restored tabs.  To rule out the browser, I attempted the same inside Firefox, as well as with/without Privacy, also USER1 FF + USER2 Chrome; all with the same result.  It appears to be an issue on the VM.
I have not been able to fully reproduce the issue, but I do have a single file that is still stuck in this unsynchronized mode.  On this specific file, the chat box does not show other participants when other users open the file.
The link that opens in the browser has always remained the same:
https://cloud.example.com/apps/onlyoffice/993
Update:  While attempting to make a recording, I opened and closed the files ~5x per USER today, and the sync began to work again.  Total times opened and closed while the bug was present was ~15x per USER.
Please let me know if examining logfiles or something else can help to track this down.

Hello @alexanderonlyoffice,
I have been able to reproduce the issue.  I now have three separate files that are unsynchronized.  I have been able to replicate the issue four times, three which are active.  I have updated the steps to reproduce in the original post above.
20180222-nc-oo-sync-error.webm.zip
20180222-nc-oo-sync-error-reproduced.webm.zip

Hello @sonaro,
Thank you for the provided information. We will analyze it and try to reproduce the mentioned issue to detect its reason.

Same situation here as well: when two or more users open the same document, they do not see each others changes or even that there is another user at all And this even leads to data loss!
Example:
A spreadsheet contains 4 rows.
User A changes row 1 and edits some text.
User B adds a row 5 with some additional stuff.
User A changes row 2.
User B closed the document.
Result: the docment will not contain the new row 5 but only the changes from user A.

@arnowelzel, please see #164 for the answer.

Hello @sonaro
The reason of the problem is in Versions app. Keys are being generated for every version of the file and those keys do not match each other sometimes for shared file. We are thinking on how to resolve this issue.

Hello @alexanderonlyoffice
Thanks for the update.  Do you think this is a bug in the Versions app (upstream)?
Is it possible to create a temporary patch?  For example, can you detect that the file is open and alert the user(s), or apply some kind of timeout between each user opening a file?  This way, at least the issue of data loss can be prevented.

I am having having the same issue with users overwriting other users.  Has this been fixed?  Is there an update?  Thanks.  My client is looking at bailing on NextCloud and OO all together as it seems everytime we get it stable something breaks.


Additional details that need to be added to this article on how Safe senders work

I would request that additional details be added that state:
The Aggregate Safe Sender list inside EOP has following sync limit 1024 safe senders (Safe sender email addresses, safe recipients, external contacts (if user has selected “also trust email from my contacts” in Junk Mail folder settings)) and 500 block sender entries (blocked domains, blocked sender addresses only).
Lists are not used and False Positive/False Negative management is done via the Admin submission tool:
https://docs.microsoft.com/en-us/microsoft-365/security/office-365-security/admin-submission
For lists that are over the limit:
•	The rules synced to Azure Active Directory are mail contacts first(if trusted contacts is enabled) then Outlook Safe Sender & Safe Recipient lists combined, de-duplicated and sorted alphabetically each time a change is made for the first 1024 entries
•	The 1024 on the server are run and anything relevant gets stamped on the message
•	The ones over 1024 that did not get synced to Azure Active Directory are run as JMF when they get to Outlook (not Outlook on the Web) and are not stamped in the headers.
•	Impact of enabling trusted contact in safe senders limit will reduce the number of Safe Sender & Safe Recipient that can be synced and if this is a concern then Turning Off Trusted Contacts is recommended.
•	It is possible to disable trusted contacts with a group policy the policy is part of the Office policies
o	File name: outlk16.opax
o	Policy setting name: Trust e-mail from contacts
There are two places where safe senders are kept, one list per mailbox (Mailbox Junk Email Configuration), and a second list in the aggregate list inside EOP. Mailbox Junk email configuration has limit of 510 KB at client level; which includes all junk mail filter lists and additional junk mail filter settings. If the mailbox junk email configuration limit is hit, user can receive an error in Outlook like below:
Cannot/Unable add to the server Junk E-mail lists. You are over the size allowed on the server.  The Junk E-mail filter on the server will be disabled until your Junk E-mail lists have been reduced to the size allowed by the server.
When the aggregate list contains at least 1024, the list stops accepting more entries via PowerShell/OWA, but the user/admin does not receive any error. Outlook on the other hand can continue to add more entries till it reaches client limit of 510kb and utilizes the entries (presuming that something else in the transport stack does not block it (transport rule, ATP policy, etc.).
Shared Mailboxes
Safe Senders for shared mailboxes are not synced to Azure AD and EOP by design.

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

ID: 2bec871b-790f-6826-b8f8-d1b7830c49ab
Version Independent ID: 460db4e8-7f93-60a3-4889-f2d8f08fc75f
Content: Configure junk email settings on Exchange Online mailboxes in Office 365 - Office 365
Content Source: microsoft-365/security/office-365-security/configure-junk-email-settings-on-exo-mailboxes.md
Service: o365-seccomp
GitHub Login: @chrisda
Microsoft Alias: chrisda

Topic updated.
Thanks for the feedback.
Closing


fix: admin management api minor refactoring

Rename some tests filenames.
Add comments for schema.py for convention.
Add suffix for some schema objects.
Update admin management api openapi.json.
Recreate admin management api client code.
Configure frontend for FAMAccessControlPrivilegeApi
Fix frontend issue due to backend schema change.
Use service instance dependency in routers.

thanks Ian! I just got a question, looks good!


Remove "hosted" from page copy

Just call it "Chef account" and "Chef username" and put it into the i18n
config.
ChangeLog-Entry: Remove "hosted" from some text in oc-id
/cc @chef/chef-visual-interaction

:+1: On the idea of the change.  It looks superficially request but needs a :+1: from someone who knows our web stack.

:+1:  This is just using Rails i18n setup and then using the shortcut syntax for views. This all looks good.

@smith Rebase and merge when ready.


Infinite scroll when using async component in react

Describe the bug
I'm using next 13's app directory but using useQuery in an async component causes an infinite loop that hangs the browser. Ideally, I feel like react query should check for this behavior and avoid it but I don't know how react query works to get a reason for this. You'll let me know me know why this happens
Your minimal, reproducible example
https://github.com/veritem/next-13-react-query-repro
Steps to reproduce

pnpm install
pnpm dev

open the browser tab, it'll hang.
Expected behavior
I should shouldn't hang.
How often does this bug happen?
Every time
Screenshots or Videos
https://github.com/TanStack/query/assets/53856673/b53b285c-7ee7-4e75-ad30-44ec0ef2cabc
Platform

OS: MacOs
Browser: Chrome

Tanstack Query adapter
None
TanStack Query version
4.29.19
TypeScript version
5.1.5
Additional context
No response

using useQuery in an async component

you are using an async client component - that's not a thing. server components can be async, client components cannot.
see: https://twitter.com/AdamRackis/status/1672779428617674753


Error: No matching constructor overloading was found.

Expected Behavior

Create a new PNG file
Current Behavior

Error: No matching constructor overloading was found. Please see the docs for how to call the Jimp constructor.
Failure Information (for bugs)

Steps to Reproduce
    let pixelData = new Uint8Array(dataset.byteArray.buffer, pixelDataElement.dataOffset, pixelDataElement.length);

    new Jimp({ data: pixelData, width: columns, height: rows }, (err, image) => {
                console.log(err);
                console.log(image);
            });

Context

Jimp Version: 0.5.6
Operating System: Ubuntu 18.04.1
Node version: 10.12.0

Failure Logs

Have you tried makeing pixelData into a buffer?  Has this worked before?

It's the first time I'm using Jimp, just following the docs and APIs. I just tried with pixelData.buffer and it doesn't work, same error.

This is the code uses to determine if the data is a image buffer
https://github.com/oliver-moran/jimp/blob/master/packages/core/src/index.js#L95
it looks like you may have the wrong size.

I see, indeed my image is a 1 channel (white/black) with non-alpha. How could I do it in this case? Maybe it would be good to update the error message into something more explicit like : "Received xxx bytes but expecting yyy bytes" or "Wrong image size".
Thanks for your help

Unfortunately I'm working with some sensitive data and cannot share the image, but I guess you could reproduce with any 1 channel non alpha image. But as indicated in the docs, this constructor only take RGB(A) images, thus displaying this error message.
Two solutions I guess : change the error message to something more explicit and/or accept other type of images instead of only RGB(A) - which I have no idea of the modifications scope required to do it.

Try this:
Jimp.read({ data: src.pixels, width: src.width, height: src.height }).then((image) => { /* operation */});
src.data is a Buffer populated by a loop of writeUInt32BE calls.

Same issue here:
Jimp.read(fs.readFileSync('foo.png')).then(img => {
	...
});

Error: No matching constructor overloading was found. Please see the docs for how to call the Jimp constructor.

I have a same problem with any image I give to this function.
/* RESIZE OPTIMIZE IMAGES */
const Jimp = require('jimp');

/**
 * Resize + optimize images.
 *
 * @param Object options Customizable Options.
 * @param Array images An array of images paths.
 * @param Number width A number value of width e.g. 1920.
 * @param Number height Optional number value of height e.g. 1080.
 * @param Number quality Optional number value of quality of the image e.g. 90.
 */
module.exports = async (options = {}) => {
	const defaultOptions = {
		images: [],
		width: 1920,
		height: Jimp.AUTO,
		quality: 90
	};

	const opt = { ...defaultOptions, ...options };
	await Promise.all(
		opt.images.map(async imgPath => {
			const image = await Jimp.read(imgPath);
			await image.resize(opt.width, opt.height);
			await image.quality(opt.quality);
			await image.writeAsync(imgPath);
		})
	);
};

Turns out it was an issue with the path of the image.

Ok so i have the same issue, but the only time i get that error is when i have my image size or lower than 32x32 or higher than 90x90


mat,blas,lapack: concurrency and performance with Cgo backend

What are you trying to do?
Inverse matrix calculation,  using the gonum package.
What did you do?
Benchmark gonum performance with go-backend, and with netlib, using openBLAS.
package main

import (
	"fmt"
	"time"

	"gonum.org/v1/gonum/mat"
)

const (
	size       = 600
	iterations = 1000
)

func main() {
	matrix := mat.NewDense(size, size, nil)
	for i := 0; i < size; i++ {
		matrix.Set(i, i, 1)
	}

	start := time.Now()
	inverse := mat.NewDense(size, size, nil)

	for i := 0; i < iterations; i++ {
		err := inverse.Inverse(matrix)
		if err != nil {
			panic(err)
		}
	}
	fmt.Printf(
		"matrix (%dx%d) inverted %d times for %s (%f for 1s)",
		size, size, iterations, time.Since(start).String(), float64(iterations)/time.Since(start).Seconds(),
	)
}

vs
package main

import (
	"fmt"
	"time"

	"gonum.org/v1/gonum/blas/blas64"
	"gonum.org/v1/gonum/lapack/lapack64"
	"gonum.org/v1/gonum/mat"
	blas64NetLib "gonum.org/v1/netlib/blas/netlib"
	"gonum.org/v1/netlib/lapack/netlib"
)

const (
	size       = 600
	iterations = 1000
)

func main() {
	lapack64.Use(netlib.Implementation{})
	blas64.Use(blas64NetLib.Implementation{})

	matrix := mat.NewDense(size, size, nil)
	for i := 0; i < size; i++ {
		matrix.Set(i, i, 1)
	}

	start := time.Now()
	inverse := mat.NewDense(size, size, nil)

	for i := 0; i < iterations; i++ {
		err := inverse.Inverse(matrix)
		if err != nil {
			panic(err)
		}
	}
	fmt.Printf(
		"matrix (%dx%d) inverted %d times for %s (%f for 1s)",
		size, size, iterations, time.Since(start).String(), float64(iterations)/time.Since(start).Seconds(),
	)
}

What did you expect to happen?
Code, using c-backend is faster.
What actually happened?
go-backend matrix (600x600) inverted 1000 times for 19.108314289s (52.333232 for 1s)
c-backend  matrix (600x600) inverted 1000 times for 14.807496174s (67.533349 for 1s)

Code, that uses netlib is actually faster, but the native go code uses only one core, and code, using openBLAS uses all 8 cores.
The next benchmark was done, using all 8 cores with go code:
package main

import (
	"fmt"
	"runtime"
	"sync"
	"sync/atomic"
	"time"

	"gonum.org/v1/gonum/mat"
)

const (
	size       = 600
	iterations = 1000
)

func main() {
	matrix := mat.NewDense(size, size, nil)
	for i := 0; i < size; i++ {
		matrix.Set(i, i, 1)
	}

	var done int32
	start := time.Now()
	var wg sync.WaitGroup
	for c := 0; c < runtime.NumCPU(); c++ {
		wg.Add(1)
		go func() {
			defer wg.Done()
			inverse := mat.NewDense(size, size, nil)

			for i := 0; i < iterations; i++ {
				err := inverse.Inverse(matrix)
				if err != nil {
					panic(err)
				}
			}
			atomic.AddInt32(&done, iterations)
		}()
	}
	wg.Wait()
	fmt.Printf(
		"matrix (%dx%d) inverted %d times for %s (%f for 1s)",
		size, size, done, time.Since(start).String(), float64(done)/time.Since(start).Seconds(),
	)
}

go-backend, 8 routines matrix (600x600) inverted 8000 times for 20.541248958s (389.460197 for 1s)

Go backend, using 8 routines, is ~8 times faster, as expected.
But adding
	lapack64.Use(netlib.Implementation{})
	blas64.Use(blas64NetLib.Implementation{})

makes code much-much slower due to context switching.
c-backend, 8 routines matrix (600x600) inverted 80 times for 1m18.213372478s (1.022843 for 1s)

Is it possible to use OpenBLAS, without concurrency inside the C-code, to prevent useless context switching?
What version of Go, Gonum, Gonum/netlib and C implementation are you using?
go version go1.15.2 linux/amd64
Gonum - eea0b5cb5cc92420e0be3a49bbdaeb8aa32d309b
Gonum/netlib - 2390d26c3658c5ced3ae1534fbad84bde7082fe6
OpenBLAS - ff16329cb780396521e14de7e2ebd673fbab674a
Does this issue reproduce with the current master?
yes

It's my understanding that OpenBLAS can be built to use a specific number of threads. I think that it might be a better idea to ask there. If there is a runtime API for setting thread count we could possibly add a hook here, though we don't specifically target OpenBLAS.


Different folders for (sha 256) models

The program stores ALL models in parts in a directory:
ollama\models\blobs
With the various problems of downloading models, moving them to another location, etc., this causes a problem, because you have to work a bit to figure out which parts belong to which model.
It would be a good idea to put each model in parts into a PERSONAL catalog.
e.g.
ollama_models\blobs\lama3
ollama_models\blobs\gemma
ollama_models\blobs\mistral7b
ollama\models\blobs\llava:34b

Hey @milenamilka755 , thanks for the issue. The reason why they are stored in a single directory is it's possible for models to share various parts like their weights, templates, parameters, etc. It allows us to deduplicate anything which is shared.
If you need to move the models out to some other place you can always use the OLLAMA_MODELS env variable w/ ollama serve (this is covered in the FAQ). I'm going to close the issue, but was there a particular problem you were running into w/ downloading? Was it freezing at 99%?

I'm going to close the issue, but was there a particular problem you were running into w/ downloading? Was it freezing at 99%?
Sometimes when a model is deleted, it does not remove all files associated with the model.


Add Banca Intesa Serbia.

Hi,
Found one more example: Banca Intesa Serbia. Explanation and screenshot included.
Regards.

Thank you for the contribution!

You're welcome.
I will keep an eye for more.


ReadMe links are broken

Links from readme at the typography section for Example of these files are broken.

Thanks, fixed!


        If the coordinates array has shape (N, 2), all returned geometries
        will be two-dimensional, and the third dimension will be discarded,
        if present. If the coordinates array has shape (N, 3), the returned
        geometries preserve the dimensionality of the input geometries.

        .. warning::

            The geometry array is modified in-place! If you do not want to
            modify the original array, you can do
            ``set_coordinates(arr.copy(), newcoords)``.

        Parameters
        ----------
        geometry : Geometry or array_like
        coordinates: array_like

        See Also
        --------
        apply : Returns a copy of a geometry array with a function applied to its
            coordinates.

        Examples
        --------
        >>> set_coordinates(Geometry("POINT (0 0)"), [[1, 1]])
        <pygeos.Geometry POINT (1 1)>
        >>> set_coordinates([Geometry("POINT (0 0)"), Geometry("LINESTRING (0 0, 0 0)")], [[1, 2], [3, 4], [5, 6]]).tolist()
        [<pygeos.Geometry POINT (1 2)>, <pygeos.Geometry LINESTRING (3 4, 5 6)>]
        >>> set_coordinates([None, Geometry("POINT (0 0)")], [[1, 2]]).tolist()
        [None, <pygeos.Geometry POINT (1 2)>]

        Third dimension of input geometry is discarded if coordinates array does
        not include one:

        >>> set_coordinates(Geometry("POINT Z (0 0 0)"), [[1, 1]])
        <pygeos.Geometry POINT (1 1)>
        >>> set_coordinates(Geometry("POINT Z (0 0 0)"), [[1, 1, 1]])
        <pygeos.Geometry POINT Z (1 1 1)>
        """
        geometry_arr = np.asarray(geometry, dtype=np.object_)
        coordinates = np.atleast_2d(np.asarray(coordinates)).astype(np.float64)
        if coordinates.ndim != 2:
            raise ValueError(
                "The coordinate array should have dimension of 2 "
                "(has {})".format(coordinates.ndim)
            )
        n_coords = lib.count_coordinates(geometry_arr)
        if (coordinates.shape[0] != n_coords) or (coordinates.shape[1] not in {2, 3}):
            raise ValueError(
                "The coordinate array has an invalid shape {}".format(coordinates.shape)
            )
>       lib.set_coordinates(geometry_arr, coordinates)
E       pygeos.GEOSException: IllegalArgumentException: Points of LinearRing do not form a closed linestring

These were the PRs that were merged between the two builds. At first glance, these PRs shouldn't have changed anything with this ferc714 test.
Debugging:

[x] Check environment package difference: Only a couple of minor package updates that I don't think would have caused this issue.
[x] Diff the sqlite databases between the two builds

There was no difference between the two censusdp1tract.sqlite files:
county_2010census_dp1: 0 changes, 0 inserts, 0 deletes, 3221 unchanged
geometry_columns: 0 changes, 0 inserts, 0 deletes, 3 unchanged
spatial_ref_sys: 0 changes, 0 inserts, 0 deletes, 1 unchanged
sqlite_sequence: 0 changes, 0 inserts, 0 deletes, 3 unchanged
state_2010census_dp1: 0 changes, 0 inserts, 0 deletes, 52 unchanged
tract_2010census_dp1: 0 changes, 0 inserts, 0 deletes, 74002 unchanged

[x] Rerun failed the validation test in both docker images

I downloaded the output databases for each run and reran the tests:
pytest \
       --gcs-cache-path gs://internal-zenodo-cache.catalyst.coop \
       --bypass-local-cache \
       --etl-settings $PUDL_SETTINGS_YML \
       --live-dbs test/integration/output_test.py::test_ferc714_outputs

Both passed :/

[x] Rerun all validation tests

I reran the full test suite in both docker images and test/integration/output_test.py::test_ferc714_outputs passed in both
pytest \
       --gcs-cache-path gs://internal-zenodo-cache.catalyst.coop \
       --bypass-local-cache \
       --etl-settings $PUDL_SETTINGS_YML \
       --live-dbs test

The build that finished on 9/28 passed despite running the code from 5264d2664ca664b397793d369cf4a2dec1de2c0a-dev, the previous built that failed :/ This makes me think the PyGeos failure could maybe be an API issue? I can't think of any flaky APIs that are a part of the census processing though. Any ideas @zaneselvans?

I don't think there are any APIs involved. We've just got the one 2010 census DB, which should be the same as it's always been, and that's where the geometries are coming from. If something has changed with the geometries it's got to be in the Python GIS stack: GEOS, pygeos, shapely, fiona, geopandas. I don't think there's any random numbers in there either. Or you know, it could be cosmic rays! Not satisfying.

We decided to punt this issue unless it becomes a recurring problem right? No idea why it's not consistent.


Is it possible to print traceback.format_exc() in color using colored-traceback.py

I am logging output of traceback.format_exc().  Is it possible to color it as well while using print or alternative?

traceback does its own printing so the regular exception handling is not used – which, in turn, is what colored_trackback uses. It seems you need to combine the code of colored_traceback and traceback.py then

Example code:
import traceback
import colored_traceback
colored_traceback.add_hook(always=True)

a = 1 / 0 # Prints colored traceback results

try:
    a = 1 / 0
except:
    traceback.print_exc()  # prints in color white
    print(traceback.format_exc())  # prints in color white

Solved in here: https://stackoverflow.com/a/61157747/2402577


[RFR] Use Webpack for watch and build tasks

Use Webpack to allow developers watching live their changes (see README instructions).
Also use Webpack for build to remove dependencies to almond.

Thanks!


support following symbolic links of sub directories

Fixes #23

New setting follow_symlinks (default false) which when enabled will follow symbolic links to retrieve sub directories
Updated README.md and default.bra.toml with new setting. Took the freedom to replace tabs with spaces
Re-generated bindata.go

Please let me know if I've missed anything.

Thank you!


Configure "inject css" from material-ui

It has been mafe on src/pages/_document.page.tsx -> getInitialProps
Result on view-source page: <style data-emotion="classNameHere" />
Referencies:
https://github.com/mui/material-ui/tree/master/examples/nextjs-with-typescript
https://github.com/mui/material-ui/issues/26561#issuecomment-855286153


fix(curriculum): changing 4 challenges' content - JavaScript Todo App

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #54558

I have gone ahead and reopened your PR since it does make the correct changes.
but in the future, it is best to wait for the issues to be properly triaged but creating a PR.
you can read the full contributing docs here
https://contribute.freecodecamp.org/#/
thanks


x/vgo: vgo build fails on successive builds

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
go1.10 darwin/amd64
Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
darwin/amd64
What did you do?
First vgo build command will build project properly. Successive vgo build commands will fail with a 404 error on certain packages.
What did you expect to see?
Successful build.
What did you see instead?
vgo: finding github.com/rs/cors v1.2.0
vgo: github.com/rs/cors v1.2.0: unexpected status (https://api.github.com/repos/rs/cors/git/refs/tags/v1.2.0): 404 Not Found
vgo: finding github.com/google/uuid v0.1.0
vgo: github.com/google/uuid v0.1.0: unexpected status (https://api.github.com/repos/google/uuid/git/refs/tags/v0.1.0): 404 Not Found
vgo: finding github.com/google/uuid v0.1.0
vgo: github.com/google/uuid v0.1.0: unexpected status (https://api.github.com/repos/google/uuid/git/refs/tags/v0.1.0): 404 Not Found
vgo: unexpected status (https://api.github.com/repos/google/uuid/git/refs/tags/v0.1.0): 404 Not Found

I believe it's the same issue #23954 when the tagged version is not three numbers

After some further testing - if a package has no tags, it will pull from the HEAD and use the pseudo-version is used as defined in vgo-intro - Defining Go Modules. However if the package is tagged - but not with 3 numbers - it causes the 404 error when running vgo build or vgo run.
To remedy this, one can manually set the package's pseudo-version in the go.mod file using the commit hash:
require (
        "github.com/google/uuid" v0.0.0-20171129175443-dec09d7
	"github.com/rs/cors" v0.0.0-20180122175443-feef513
)