Register extractor submit file

I'm going to go ahead and create this as a draft to get feedback.
Extractors are registered using the extractor-info.json. Files and datasets can be submitted to a running extractor. The message sent is as close to what was sent before so that minimal changes are needed for pyclowder2.
Right now extractors don't run since they rely on api endpoints that aren't in clowder2.0. Users also don't have extractor keys. I will create other issues and possibly link them here as well.

Made a few changes.
Extractor versions are now strings instead of floats, since many extractor versions use 1.0.0. Still compared.
There is also a sync and async listener. Both work, but I would consider the sync one the default and adequate for what we are doing. The async one I wrote because I was trying to get the heartbeat extractor to run as a background thread in main, but if it's run as a separate service it should not matter.
I have not added docker deployment for this. That will be a later issue and pull request.

Also, for this to work use branch
50-clowder20-submit-file-to-extractor
branch with pyclowder, and test using the wordcount.

related pull request for pyclowder
https://github.com/clowder-framework/pyclowder/pull/51
branch:
https://github.com/clowder-framework/pyclowder/tree/50-clowder20-submit-file-to-extractor


Isolated Python config uses Ascii encoding

Describe the bug
Now that Python is initialised with an isolated config, it seems to now longer read the LC_CTYPE environment variable which we set in the Info.plist. As a result, it is initialised with Ascii encoding instead of UTF-8.
To Reproduce
Steps to reproduce the behavior:

Create and build a default briefcase app with the newest template.
Try to print a non-ascii character to the console from the app.

Environment:

Operating System: macOS
Python version: 3.11
Software versions:

Briefcase: 0.3.12.dev188+g4cac510

Additional context
We should probably tell Python to use UTF-8 using in the pre-config:
https://docs.python.org/3/c-api/init_config.html#c.PyPreConfig.utf8_mode

It might be useful to add a test for this to the Python-support-testbed.


Consider usage of the confluent kafkajs library

Hi.
Just stumbled on https://github.com/confluentinc/confluent-kafka-javascript/tags
Maybe it is about time to check out the new client as it has reached the 1.0.0 version.
1.0.0 is not exactly production ready but it should not be a while before it reaches real production ready status.

Had this basically working back in July:
https://github.com/dbos-inc/dbos-transact-ts/tree/chuck/ckafka
If you'd put it to use, we can prioritize getting it updated to the newer package, updating to our new TS API, and merging.
Are you looking to produce or consume messages, or both?

Hi,
I am looking to both produce and receive messages.
I see there is a producer communicator implementation in chuck/ckafka which is really cool to have!.
It is certainly missing from the current implementation (maybe add it in a separate PR?).
I will certainly make use of the confluence kafka client.
I use KRaft which has already produced some hiccups to DBOS-transact.
https://github.com/dbos-inc/dbos-transact-ts/blob/8f0652bc8fe921025ceda99fa57a22fef132b1f3/src/kafka/kafka.ts#L50
Still the main concern here is to gradually move to a library with a future instead of relying on an unmaintained one.


Find influential nodes in connection to known nodes

Currently when answering the Qs: Which amongst a list of "Other" projects interact closely with a list of "Known" projects in a weighted graph where projects are nodes and edges are connections , we use closeness centrality to identify the closest and central nodes in a network.
While this returns nodes that are close to each other, this can be influenced by including heavily interconnected nodes in the "Other" category which may not be very important in connection to the Known projects.
Replace closeness centrality with a more nuanced heuristic for finding influential nodes.
Problem: Based on closeness centrality  the closer the node is to other nodes, the more central it is. Thus, when we use closeness centrality to find nodes which are the most central in a network, the score is impacted by closely connected nodes within a certain group such as the "Other projects".
Possible Solution:

As a first step, it would be valuable to identify the most central nodes amongst the which are known to us and starting from there identify the nodes which interact most closely with these known project nodes
If we want to get nodes closest to the most centrally located known repositories (lets say in an industry or software vertical or an organization), we need to first find the most centrally located known projects on the network and then find the nodes from a certain category which are closest to it.
Since in this network representation, the edge weights represent the degree of connection, we need to find closest nodes based on the geometric distance using an algorithm such as A*, Djikstra's or Best First Search.

@oindrillac Is this closable?


PennyLess Drop QuickStart Spec

@ritwickdey
A few points:

I see you added a new MDX file and edited an existing one, can you please revisit the checklist?
I see Validate VPA is currently on staging, you want to go live with it? If not, please change the target branch of this PR to staging or I'll merge changes from staging to main

Updated the content/menuItems.json file.
We have to share the quickstart doc with our few clients. That's why I think prod deployment is needed.
Anyway, the visible_in_sidebar flag is false. So, it will not be visible in the nav bar.
@aditya-67


Specifying Linux, Mac, or Windows Dependencies

Are there any plans to support different dependencies on Linux, Mac, or Windows? This feature would be especially useful, if the tool downloads tar files with compiled artifacts.

I am not sure I understand your request. Can you please elaborate on your use case / what you would like to do.

Sure. This tool says it is intended for dealing with source code from other repositories. It supports downloading and unpacking tar files. I'm wondering if this tool is meant to support binaries.
It is pretty easy to put compiled libraries in a tar file. Unfortunately, the binaries are dependent on compiler version, compiler flags, and OS. I'm wondering if it makes sense for this tool to only download a tar file based on the OS that the script is run.
A short term work around would be to download all of the dependencies. But it seems wasteful to get dependencies that won't be used.

I would phrase it like this: vcs doesn't care what is in the resources it is fetching. The users says what to fetch, the tool gets it.
In order to be able to differentiate between entries for different OS that information would need to be present in the .repos file which is being passed to vcs import. Arguably depending on the use case it would even make sense to select which repos should be fetched based on e.g. the Ubuntu version (e.g. on 15.10 and older you should clone compat-repo but not on any newer Ubuntu). Any criteria about the host system could decide if you need a certain resource or not. This kind of feature would require vcs tool to be aware of these criteria and formalize the conditions in the .repos file. That sounds like a lot of infrastructure for that use case :worried:
I am not convinced that vcs (in its core) should know about these. But this could e.g. be implemented on-top of vcs. Either as a separate tool or as a plugin / entry point to vcs. If a new command like import-by-os is not enough I would be happy to add the necessary hooks into the existing import command which allows an external plugin to parse the additional information from the yaml file and decide if a certain entry should be imported. What do you think about that approach?
A workaround right now for your scenario could be to split the resources into a .repos file containing the OS independent set as well as OS specific .repos files. But I guess you want something more streamlines :wink:

I will close this ticket for now since there is no action item to be done for now. Please feel free to comment here if there is anything which could be changed within vcstool to enable / make it easier to provide that functionality on top of the API of vcstool.


Use GroovyClassLoader in SourceUnit and CompilationUnit of GroovyParser.

fixes #2773

Good job. I know this was a lot harder to track down than the simplicity of the change itself suggests, since I helped track it down.


shasum cannot process file that have space in its name

shasum.cmd script splits file name at spaces. For example
$ shasum.cmd "SlackSetup 64.exe"
shasum: SlackSetup: no such file
shasum: 64.exe: no such file

I installed it via scoop.
$ scoop which shasum.cmd
Not a scoop shim.
C:\Users\talha\scoop\shims\shasum.cmd

Thanks for letting me know. I'll have a look at this tonight.

It turned out to be a problem with the way Scoop creates .cmd shims, so I've fixed it in Scoop.
You need to run scoop update;scoop uninstall shasum;scoop install shasum to recreate the shim.

Thanks a lot for prompt fix @lukesampson. I can confirm the issue is fixed.

Good to hear. You're welcome 👍


Switching from WYSIWYG to MarkDown mode breaks markup (preformatted text and lists)

Switching from WYSIWYG to MarkDown mode breaks markup
Happens when MarkDown contains preformatted text as a list item.
To Reproduce
Steps to reproduce the behavior:

Go to https://nhn.github.io/tui.editor/latest/tutorial-example01-editor-basic
Paste/type following MarkDown in MD mode:1. 123123123
2.
    ```py
    sdsdfsdfsdf
    ```
3. sdfsdfsdfdf

Switch to WYSIWYG, then back to MarkDown editor mode
Markdown will be different this time:1. 123123123
2.

    ```py
    sdsdfsdfsdf
    ```
3. sdfsdfsdfdf

Repat switching to WYSIWYG, then back to MarkDown editor mode
Markdown will become even more broken this time:1. 123123123
2.

```
```py
sdsdfsdfsdf
```
```

3. sdfsdfsdfdf

Expected behavior
When switching Markdown should ideally remain the same or at least should render the same HTML.
Desktop (please complete the following information):

OS: Ubuntu
Browser: Chrome
Version: latest

Smartphone (please complete the following information):

Not tested

@vilyus
Sorry for late replying.
I checked issue and it will be fixed.

Hello, any updates on this issue? Just checked on v3.2.2 and got these results:

Started with:

1. 123123123
2.
    ```py
    sdsdfsdfsdf
    ```
3. sdfsdfsdfdf

After the first switch -> WYSIWYG -> Markdown:

1. 123123123
2.

    ```py
    sdsdfsdfsdf
    ```
3. sdfsdfsdfdf

After the second switch:

1. 123123123
2.

```
```py
sdsdfsdfsdf
```
```

3. sdfsdfsdfdf


Valid JUMPDESTs inaccessbile if inside PUSH bytes

According to  geth's opJump implementation, it is valid to have a JUMPDEST inside a PUSHN, (see here). Geth doesn't do analysis and just checks at runtime if its a valid jump.
The analysis module here shouldn't skip pushbytes when checking for valid jump destinations.

disregard im wrong

I had a lot of this kind of moments 😄


Allow link in attribution

Issue #798
Allow link in attribution by unescape anchor tag.

Please review the new commits


Fix errwrap linting error

Replace explicit Error() method call on lookup error to switch from returning a string suffix to including an additional error by way of a second error wrapping verb (Go 1.20+).
refs GH-564

Ironically these changes end up triggering a different errwrap linting error:

/__w/check-cert/check-cert/internal/netutils/net.go:589:26: Errorf call has more than one error-wrapping directive %w

For now will keep the change from this PR and await feedback from the linter author for further steps.
See also:

https://github.com/fatih/errwrap/issues/21


[Android] Use PersistableBundle to persist the whole ShortCutItem object

Fixes: #51
Pro's:

In memory list mShortcutItems is no longer needed.
'Type' is technically useless now but I think we should leave it to distinguish each shortcut.
Method: getShortcutItem is no longer needed since the whole object is persisted, not just type.
The whole object persists on COLD APP launch, now consistent with iOS version.

Cons:

I believe we need to set the minimumSDK to 21 since PersistableBundle was only added then but because quick actions on Android are only supported on Android 7.1 (25) and after, this should be fine?

This should cause no regression but I am not 100%  sure whether iOS returns the whole object like this.
Let me know what you think,
Alberto Blanco

Thanks @ItsNoHax! I've skimmed through the code and nothing jumps out as immediately concerning. I need to fire up my old copy of Android Studio and play around with this to make sure it works as expected. If you don't hear from me in a week or so feel free to ping me again.

@ItsNoHax I don't see the benefit of changing to PersistableBundle if you don't actually use it to persist to a store. It is only a wrapper for easy serialization.
Starting in API 21, there is a new PersistableBundle class that is a variant of Bundle with a stable data format that supports serialization as XML. It only accepts a subset of the data types supported by Bundle. In particular, it does not support Parcelable objects.
https://medium.com/google-developers/developing-for-android-v-f6b8038b42f5
However, you have pointed out that the existing code can be simplified a bit.
References:

https://developer.android.com/reference/android/os/PersistableBundle.html
https://medium.com/google-developers/developing-for-android-v-f6b8038b42f5

Hey man, I would very much like to close this issue at work. Could you please take 5 minutes of your time to look at this?

Sadly this is not just a 5 minute check. I have to get my Android Studio
app setup and working again so I can run your code. This has been on my
radar but I just haven’t had time to check it out.
Additionally someone pointed out some potential issues with your
implementation. Not sure where the comment went but I’ll paste the text
below:

I don't see the benefit of changing to PersistableBundle if you don't
actually use it to persist to a store. It is only a wrapper for easy
serialization.
Starting in API 21, there is a new PersistableBundle class that is a
variant of Bundle with a stable data format that supports serialization as
XML. It only accepts a subset of the data types supported by Bundle. In
particular, it does not support Parcelable objects.
https://medium.com/google-developers/developing-for-android-v-f6b8038b42f5
However, you have pointed out that the existing code can be simplified a
bit.
References:
https://developer.android.com/reference/android/os/PersistableBundle.html
https://medium.com/google-developers/developing-for-android-v-f6b8038b42f5

On Tue, Feb 20, 2018 at 4:02 AM Alberto Blanco<EMAIL_ADDRESS>wrote:

Hey man, I would very much like to close this issue at work. Could you
please take 5 minutes of your time to look at this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jordanbyron/react-native-quick-actions/pull/54#issuecomment-366911551,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AACe1tldJ_hvW-ZBbiuv3CWhhTF6sdpVks5tWooJgaJpZM4RFmbA
.

--
Jordan

@jordanbyron I deleted the comment. I didn't read the diff right. The code looks fine to me.
I'll try and test this PR over the next few days.
https://developer.android.com/reference/android/os/PersistableBundle.html
https://medium.com/google-developers/developing-for-android-v-f6b8038b42f5

Just answering some points in the comment deleted. If I remember correctly, the reason I used PersistableBundle is because it restricts the data types it can hold to make sure it is always persistable since ShortCutManager saves the shortcutinfo on disk.

@ItsNoHax I finally had a chance to update my Android Studio so I could test out this PR and it seems like there is a bit of a problem. Any ideas?

Hey @jordanbyron, I'm not sure what that error means but I don't think it's related to my code?

Any updates on this?

I’ve been using my fork in production for months now without a problem
On Wed, 12 Dec 2018 at 12:30, Diego Fernandes<EMAIL_ADDRESS>wrote:

Any updates on this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jordanbyron/react-native-quick-actions/pull/54#issuecomment-446555664,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEBxyhOA4sZRsMk6ndhUJZiH3btdRc3sks5u4Oi_gaJpZM4RFmbA
.

@ItsNoHax Can you publish your fork to NPM registry?

🤠  I'll just merge this. If something goes wrong with the android side of the house I'll expect ya'll to chip in and help fix it. As I've stated before the Android code was "gifted" to me and I don't use it.


💭 [lint] require await inside async functions

Upstream rule: https://eslint.org/docs/rules/require-await
Basically I would like to propose a rule where we enforce the use of await if a function is marked with async.
Unfortunately with TypeScript we can bypass this check, so I think having a lint rule might be beneficial for us. I noticed this in one of the tests where the callback was marked as async (t) => but there was no await inside its implementation.

I would rework this rule to be a bit more nuanced, all async function calls should either be

prefixed with an await
consumed by another fn

for instance
ILovePromises(myAsyncFn());

That means that the following patterns would not error
await foo()
yay(foo);

but
foo()

would

This eslint rule is horrifically bad and should never have existed in the first place. There are tons of benefits from using async function alone, and forcing use of await both can make code less readable and can force an unnecessary tick (via return await`, which is always an antipattern outside a try block)
Similarly, calling a sync function inside an async one is perfectly valid, and trying to force await usage on it will only serve to needlessly slow down the async function. Without type information, this is simply not something that’s safe to even attempt to lint.

If I'm understanding this proposal correctly, the intention of this rule is to mandate that async function bodies contain at least one await statement. This is tangentially related to - but different - than mandating how async functions are consumed, which is what I believe @samccone is referring to (which is a valid rule in my opinion, and one that we should track the creation of in another ticket.)
I agree with @ljharb and feel that a rule that mandates that async function bodies contain at least one await statement is too restrictive and could lead to unnecessarily-awaited synchronous statements. It's common to see async functions used for syntactical benefits, such as properly catching and propagating errors in an async function body to a consumer without explicit try / catch wrapping.

Thank you all for the constructive feedback! As suggested by @bitpshr I am going to open a new ticket to track the rule suggested by @samccone which is more focused the async part rather than the await part.
We can all agree that forcing an await inside an async function is a bad practice.


Qingping Air Monitor (cgllc.airmonitor.s1): pm2.5 sensor doesn't have unit

So, as the title says — for some reason the unit of measurement is not set for my PM2.5 sensor of Qingping Air Monitor, while for Qingping Air Monitor Lite it shows µg/m³ as it should.

Try the latest commit of the master branch.

Yup, it has the unit now, thanks!


[FR] Image support

Implement a way to include images in the test data, most likely using base64 encoded image files.

resolved in d7dae497c30b2a83128a513e13d706a8a1452d98


How to use ClickHouseRowBinaryStream to write map?

I am usingClickHouseRowBinaryStream to write data like this
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
   ClickHouseRowBinaryStream stream = new ClickHouseRowBinaryStream(byteArrayOutputStream,
       TimeZone.getTimeZone(ZoneId.systemDefault()), new ClickHouseProperties());
   stream.writeString("foo");

there are no methods like .writeMap. How do I go about it?

Nested type like Array, Tuple, Map and Object etc. is a bit more complex than simple types. You may take this as an example to start with.

@zhicwu  thanks for the idea! I was able to make a simple map work like this-
ClickHouseMapValue chMapValue = ClickHouseMapValue.of(MYMAP, Integer.class, String.class);

ClickHouseRowBinaryProcessor.getMappedFunctions().serialize(chMapValue,
     new ClickHouseConfig(),
     ClickHouseColumn.of("my_map_column", "Map(Int32,String)")
     byteArrayOutputStream);

However, I can't make nested maps work.
e.g. if I defined a Map like this in CH-
Map(Int32, Array(Tuple(String, Array(Int32))))
and then try to serialize like this-
     ClickHouseMapValue chArrMapValue = ClickHouseMapValue.of(MY_NESTED_MAP, Integer.class, List.class);

      ClickHouseRowBinaryProcessor.getMappedFunctions().serialize(chArrMapValue,
          new ClickHouseConfig(),
          ClickHouseColumn.of("MY_NESTED_MAP", "Map(Int32, Array(Tuple(String, Array(Int32))))"),
          byteArrayOutputStream);

I do not get any errors, but when I query data in ClickHouse, instead of seeing the expected value, I see java memory references like this
 {2818:[('[I@6297a1b0',[]),('[I@5f4b22e9',[])],2819:[('[I@1ad991a8',[]),('[I@ec0b311',[])]}

Any suggestion on how to go about handling nested maps?
For debugging, I can see that when I call chArrMapValue.toSqlExpression() I see a perfectly valid SQL string.
e.g.
{2818 : ({'<IP_ADDRESS>' : [1,0]},{'<IP_ADDRESS>' : [2,0]}),2819 : ({'23' : [1,0]},{'22' : [2,0]})}

By default, ClickHouse data types are mapped to corresponding Java classes. For instances:

ClickHouse Data Type
Java Class

Array
Object[] or primitive array like int[]

Tuple
List, usually immutable

Map
Map

Object/JSON
List(because it's treated as Tuple with names and types)

Note: Object/JSON will be supported starting from 0.3.2-patch8.
So Map(Int32, Array(Tuple(String, Array(Int32)))) is mapped to something like Map<Integer, List<?>[]> in Java. Below code snippet demonstrates how to create such value in Java:
Map<Integer, Object[]> nestedMap = new HashMap<>();
nestedMap.put(1, new List<?>[] {
    Arrays.asList("stringValue1", new int[] {1,2,3}),
    Arrays.asList("stringValue2", new int[] {4,5,6}),
    ...
});
...

I do not get any errors, but when I query data in ClickHouse, instead of seeing the expected value, I see java memory references like this

What's the expected value? What you saw is Java objects representing the nested Map returned from ClickHouse.

For debugging, I can see that when I call chArrMapValue.toSqlExpression() I see a perfectly valid SQL string

toSqlExpression() was primarily for building a SQL query, when you prefer SQL query(slow) over streaming.

Hi @zhicwu ,
when I query the table like select * from table..\G using the clichouse cli, I see something like this
map_array_column:      {2818:[('[I@91f2d03',[]),('[I@783e9af4',[])],2819:[('[I@1fcfd347',[]),('[I@47cc0519',[])]}

whereas the expected values are the real values e.g
{2818 : ({'<IP_ADDRESS>' : [1,0]},{'<IP_ADDRESS>' : [2,0]}),2819 : ({'23' : [1,0]},{'22' : [2,0]})}

here is how my map looks like

I think what's wrong here, the Tuple is expected to be a List but in my case, it is a Map, let me make some changes to see if that fixes it.

I think I understand what's wrong here, the Tuple is expected to be a List but in my case, it is a Map, let me make some changes to see if that fixes it.

Yes, and Array(Tuple(...)) should be mapped to List<?>[] not List<Map<..>>.

I have to admit the API should be improved as well. There are a few more features related on 0.3.3 branch, let me port some of the changes and get them merged into the upcoming patch release.

ClickHouseDataStreamFactory will expose methods to get ClickHouseSerializer and ClickHouseDeserializer for given ClickHouseFormat
ClickHouseDataProcessor will expose methods to read and write values
Enhanced ClickHouseInputStream and ClickHouseOutputStream and new stream package

I'll also add some more examples and put them under examples/deser folder.


Having trouble sampling a trained model

"
Im a grad student in Media Design Practices at Art Center College of Design. A colleague and I are working with HyperGAN for a media piece we are working on. We are having a hard time figuring out the bash for building or generating hallucinations after we successfully trained our GAN. Any help would be greatly appreciated, we are new to this. Thanks so much!
"

The easiest thing to do is batch sampling.  You can use hypergan to sample with hypergan sample -c mymodel --sampler batch.
More complicated sampling is available too, check out hypergan/samplers.

Samplers are much better in 1.0. Going to tag this as fixed in 1.0 in order to close it when that's released.


Error: Failed to download https://formulae.brew.sh/api/formula.jws.json!

brew doctor output
❯ brew doctor
Your system is ready to brew

Verification

[X] My "brew doctor output" above says Your system is ready to brew. and am still able to reproduce my issue.
[X] I ran brew update twice and am still able to reproduce my issue.
[X] This issue's title and/or description do not reference a single formula e.g. brew install wget. If they do, open an issue at https://github.com/Homebrew/homebrew-core/issues/new/choose instead.

brew config output
❯ brew config
HOMEBREW_VERSION: 4.1.11
ORIGIN: https://github.com/Homebrew/brew
HEAD: 4afb8e5602f3ecc9edf67a44257d8eceeaa8a108
Last commit: 35 hours ago
Core tap JSON: 13 Sep 01:52 UTC
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_MAKE_JOBS: 10
Homebrew Ruby: 2.6.10 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
CPU: 10-core 64-bit arm_firestorm_icestorm
Clang: 14.0.3 build 1403
Git: 2.41.0 => /opt/homebrew/bin/git
Curl: 8.1.2 => /usr/bin/curl
macOS: 13.5.1-arm64
CLT: <IP_ADDRESS>.1.1683849156
Xcode: N/A
Rosetta 2: false

What were you trying to do (and why)?
❯ brew update
Error: Failed to download https://formulae.brew.sh/api/formula.jws.json!
What happened (include all command output)?
❯ brew update
Error: Failed to download https://formulae.brew.sh/api/formula.jws.json!
What did you expect to happen?
No error
Step-by-step reproduction instructions (by running brew commands)
❯ brew update
Error: Failed to download https://formulae.brew.sh/api/formula.jws.json!

Tried brew update about 5 more times and it eventually worked.

I'm seeing this again today and https://formulae.brew.sh/api/formula.jws.json seems to 404 when loading in the browser. Perhaps there's an intermittent issue with this api?

Sorry to tag you directly here @MikeMcQuaid, but looking at https://github.com/Homebrew/formulae.brew.sh/deployments it seems like you've been doing most of the deployments for this page/api. Is there a known issue where these api files don't exist sometimes? Perhaps during deploys?

It's automated deploys - not manual.
GitHub Pages occasionally does this with deploys, yes. It's not an issue on our side as the file is definitely there on upload, and the issue always corrects itself after the next automated deploy (every 15 minutes), but it is useful data to know when you notice it happening and how much impact it is having.

Thank you @Bo98 and @MikeMcQuaid for the prompt responses! I don't have numbers currently on how often this happens, but we have a brew update before some of our install/setup scripts and this was preventing them from running. It sounds like migrating away from github pages is the fix, so hopefully that won't be too difficult and it'll resolve this once and for all.

Would it make sense to pin this issue?

@apainintheneck done!

Hi, I'm a bit uncertain from the above what my options are. I went to bed with Brew working fine on macOS Sonoma. When I woke up it was broken:
% brew doctor
Your system is ready to brew.
% brew update
Error: Failed to download https://formulae.brew.sh/api/formula.jws.json!
Is there anything I can do to get Brew working again? Thanks.

Works fine for me so don't think it's the 404 seen here, but perhaps wait a 20 minutes or so and try again.

Oh yes. I loaded the JSOn file manually in my browser OK, then saw your reply. Then I tried Brew and it's working now. Cheers!

Was getting this for https://formulae.brew.sh/api/cask.jws.json but it resolved itself by the time I started writing this. I got a 404 in the browser too.

GitHub have said this should be fixed on their end now 🤞🏻 .


PromConsole area renderer elevates a time series unexpectedly

What did you do?
I used PromConsole.Graph with renderer: "area", and often see time series elevated more than they should be, as if they were stacked on other time series which are not actually under them.  I attach a screenshot.
See https://github.com/livebungalow/promconsole-rendering-example for a small working example (well, non-working, which is the point).  For the purposes of that example, I monkey-patch PromConsole.Graph.prototype.buildQueryUrl to inject data which provokes the issue -- I copied this data from an actual query_range response, formatted it, and reduced it to a manageable size.
What did you expect to see?
Time series resting on the x-axis.
What did you see instead? Under which circumstances?
Time series elevated off the x-axis.  The linked example repo has sample data that provokes the problem.
Environment
The linked example uses the docker image prom/prometheus:v2.19.3 with its standard configuration file.

the promised screenshot

Oh, and my browser is Chrome Version 84.0.4147.89 (Official Build) (64-bit) on macOS 10.15.6 (19G73).

Oh, and: I do not see this behaviour in the expression browser, even for the same queries.  That is, if I click on the little plus sign of a console graph that has the wrong elevations, the resulting expression browser graph does not have wrong elevations.

What is the query that's using? Based on the timestamps that looks like a range vector from query, rather than from query range - which Rickshaw may not like.

@brian-brazil The query that produced that data is sum by (code_version) (info)

Can you share the full query_range URL? The sample data you have didn't come from a Prometheus query_range - the timestamps are all wrong.

@brian-brazil : verbatim from chrome developer tools, on a console where I'm seeing this issue in production:
:path: /api/v1/query_range?query=sum%20by%20(ecs_service)%20(up%7Bjob%3D%22ecs-task%22%2Cservice%3D%22metrics-web%22%7D)&step=5.3097345132743365&start=1596576860.673&end=1596580460.673

The first thousand characters of the response:
{"status":"success","data":{"resultType":"matrix","result":[{"metric":{},"values":[[1596576860.673,"0"],[1596576865.982,"0"],[1596576871.291,"0"],[1596576876.600,"0"],[1596576881.909,"0"],[1596576887.218,"0"],[1596576892.527,"0"],[1596576897.836,"0"],[1596576903.145,"0"],[1596576908.454,"0"],[1596576913.763,"0"],[1596576919.072,"0"],[1596576924.381,"0"],[1596576929.690,"0"],[1596576934.999,"0"],[1596576940.308,"0"],[1596576945.617,"0"],[1596576950.926,"0"],[1596576956.235,"0"],[1596576961.544,"0"],[1596576966.853,"0"],[1596576972.162,"0"],[1596576977.471,"0"],[1596576982.780,"0"],[1596576988.089,"0"],[1596576993.398,"0"],[1596576998.707,"0"],[1596577004.016,"0"],[1596577009.325,"0"],[1596577014.634,"0"],[1596577019.943,"0"],[1596577025.252,"0"],[1596577030.561,"0"],[1596577035.870,"0"],[1596577041.179,"0"],[1596577046.488,"0"],[1596577051.797,"0"],[1596577057.106,"0"],[1596577062.415,"0"],[1596577067.724,"0"],[1596577073.033,"0"],[1596577078.342,"0"],[1596577083.651,"0"],[1596577088.96

(lmk if you want more).
Since we seem to suspect that the data is wrong, here's details about the server that produced it.  (I omitted this information before because I believed it was a front-end issue.)
System information:
$ uname -srm
Linux 4.14.181-140.257.amzn2.x86_64 x86_64

Prometheus version:
$ prometheus --version
prometheus, version 2.15.1 (branch: HEAD, revision: 8744510c6391d3ef46d8294a7e1f46e57407ab13)
  build user:       root@4b1e33c71b9d
  build date:       20191225-01:04:15
  go version:       go1.13.5

Prometheus configuration file:
global:
  external_labels:
    export_prefix: productionfieldstone
scrape_configs:
  - job_name: ecs-task
    scrape_interval: 10s
    scheme: http
    file_sd_configs:
    - files:
      - /etc/prometheus/ecs-list.json
  - job_name: recent-commits
    scrape_interval: 60s
    scheme: https
    metrics_path: /github-recent-commits/recent-commits
    params:
      repo:
      - fieldstone
    bearer_token: [redacted]
    static_configs:
    - targets:
      - botler.bungalow.com
  - job_name: pushgateway
    scrape_interval: 1m
    scheme: http
    honor_labels: true
    static_configs:
      - targets:
          - 'localhost:9091'
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      - 'localhost:9093'
rule_files:
  - rules/*.yaml

I omit the rules files; they specify alerts (no recording rules).  Let me know if you think they might be relevant.

@brian-brazil , here's an example that more closely matches the prepared minimal example:
:path: /api/v1/query_range?query=sum%20by%20(code_version)%20(info)&step=5.3097345132743365&start=1596577699.264&end=1596581299.264

The first thousand characters of the response:
{"status":"success","data":{"resultType":"matrix","result":[{"metric":{"code_version":"50ba7bbcead1843108c88eaf1ea6a7cbe7131752"},"values":[[1596577699.264,"16"],[1596577704.573,"16"],[1596577709.882,"16"],[1596577715.191,"16"],[1596577720.500,"16"],[1596577725.809,"16"],[1596577731.118,"16"],[1596577736.427,"16"],[1596577741.736,"16"],[1596577747.045,"16"],[1596577752.354,"16"],[1596577757.663,"16"],[1596577762.972,"16"],[1596577768.281,"16"],[1596577773.590,"16"],[1596577778.899,"16"],[1596577784.208,"16"],[1596577789.517,"16"],[1596577794.826,"16"],[1596577800.135,"16"],[1596577805.444,"16"],[1596577810.753,"16"],[1596577816.062,"16"],[1596577821.371,"16"],[1596577826.680,"16"],[1596577831.989,"16"],[1596577837.298,"16"],[1596577842.607,"16"],[1596577847.916,"16"],[1596577853.225,"16"],[1596577858.534,"16"],[1596577863.843,"16"],[1596577869.152,"16"],[1596577874.461,"16"],[1596577879.770,"16"],[1596577885.079,"16"],[1596577890.388,"16"],[1596577895.697,"16"],[1596577901.006,"16"],[1

(Again, let me know if you want more.)

Your example doesn't render for me, and adding an appropriate endtime and duration then works fine.   This came from a request
:path: /api/v1/query_range?query=sum%20by%20(code_version)%20(info)&step=5.3097345132743365&start=1596722472.141&end=1596726072.141

Here's how it renders for me:

Do these examples address your remark that the previous examples "didn't come from a Prometheus query_range - the timestamps are all wrong"?

Here's a complete query_range response

What's the width parameter there?

What's the width parameter there?

I don't know what you're referring to.  I copied the response and the requested url from the Chrome developer console; they are verbatim, and neither mentions width.

Width is a parameter of the graphing code, I need it to figure out what the math is doing under the covers.

The code creating the graph:
<script>
new PromConsole.Graph({
  node: document.querySelector("#codeVersions"),
  expr: "sum by (code_version) (info)",
  renderer: "area",
  name: "[[ code_version ]]",
  yAxisFormatter: PromConsole.NumberFormatter.humanizeNoSmallPrefix,
  yHoverFormatter: PromConsole.NumberFormatter.humanizeNoSmallPrefix,
  min: 0,
  yTitle: "Number of containers"
})
</script>

I had to reverse engineer a bit and still can't reproduce that exact graph, but I think I've found the issue. #7773

I'm still seeing the problem, using prometheus built from source at ce838ad6fcbd14b0cf9971a4d093ad672e1469fe .

@brian-brazil , you mentioned that you weren't able to reproduce exactly the same graphs that I'm seeing.  I'd be happy to prepare a reproduction in docker, like the one in my original report here.  Would that be useful to you?

Yes that would help

Ok, I'll prepare that -- but fyi I probably won't get to it until tomorrow.

I've revised https://github.com/livebungalow/promconsole-rendering-example to use prometheus ce838ad6fcbd14b0cf9971a4d093ad672e1469fe .  See the README there for exact reproduction instructions, and a screenshot to help verify that we're seeing the same thing.

That's not a perfect reproduction, as indicated above the width of the graph also matters. This depends on your monitor and browser dimensions. Can you put in an explcit width?

I can reproduce that with my 1920x1080 screen,
it seems that the issue is that rickshaw calculates the stack per position in the vector instead of per timestamp.

So an upstream bug then?

I did not dig, that's what it looks like at first sight. Still present with latest rickshaw version.

It looks like Rickshaw is once again being maintained, so we might be able to get it fixed up there.

Can you put in an explicit width?

Sure.  I specified the width of the div in https://github.com/livebungalow/promconsole-rendering-example/commit/82fa2d0fb0e5ce9e3766b01b68b841e12465dbce

Still present with latest rickshaw version.

I've never seen this behaviour in the Expression Browser.  Is there something different about how the Expression Browser uses rickshaw?

Hello from the bug scrub.
No update here in almost 4y. The issue only happens in the console templates, which is a bit of a niche feature. We still want to keep it, see https://github.com/prometheus/prometheus/issues/13443 , bet we do want to get rid of the legacy css and js in it, which also includes Rickshaw.
We are closing this now, essentially because the problem is in deprecated code, and there doesn't seem to be an easy fix.


Hide errors when user cancels kernel startup

Fixes #9645

Codecov Report

Merging #9856 (d4d816e) into main (9f58327) will increase coverage by 0%.
The diff coverage is 100%.

@@         Coverage Diff          @@
##           main   #9856   +/-   ##
====================================
  Coverage    63%     63%
====================================
  Files       203     203
  Lines      9810    9813    +3
  Branches   1556    1557    +1
====================================
+ Hits       6224    6227    +3
+ Misses     3087    3086    -1
- Partials    499     500    +1

Impacted Files
Coverage Δ

src/platform/errors/errorHandler.ts
67% <100%> (+<1%)
:arrow_up:


feat: support composite key

Codecov Report
Attention: Patch coverage is 0% with 67 lines in your changes missing coverage. Please review.

Project coverage is 17.19%. Comparing base (5cd75c0) to head (327b9db).

Files
Patch %
Lines

codegen/template.go
0.00%
19 Missing :warning:

sequel/dialect/mysql/alter_table_stmt.go
0.00%
8 Missing :warning:

sequel/dialect/mysql/create_table_stmt.go
0.00%
8 Missing :warning:

sequel/dialect/sqlite/create_table_stmt.go
0.00%
8 Missing :warning:

sequel/dialect/postgres/alter_table_stmt.go
0.00%
7 Missing :warning:

sequel/dialect/postgres/create_table_stmt.go
0.00%
7 Missing :warning:

codegen/codegen.go
0.00%
5 Missing :warning:

codegen/templates/model.go
0.00%
3 Missing :warning:

codegen/generate.go
0.00%
1 Missing :warning:

sequel/dialect/sqlite/alter_table_stmt.go
0.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #99      +/-   ##
==========================================
- Coverage   17.45%   17.19%   -0.27%
==========================================
  Files          55       55
  Lines        2114     2146      +32
==========================================
  Hits          369      369
- Misses       1718     1750      +32
  Partials       27       27

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Extract logger into packages

We have a logger in API which provides a proper interface and functionality for the purpose. We need to be able to use it in other packages. For this it needs to be moved to a dedicated package.
Acceptance criteria:

a new logging package is created
the logger is moved there
adjustments to the constructor need to be made to ensure we can still pass the parameters which are currently imported via config
api is updated to depend on that package
should be covered with unit tests

Hello @ygrishajev I will take this issue
Please assign me this issue

hey @forbesus! thanks for your initiative. Sure, go for it!

So, thanks to @forbesus most of this task is done.
To close it we need to add unit tests to the logger.

okay, i will add unit test  @ygrishajev


How to transition from PoA to dPoS: epoch cutoff?

We decided to launch directly with dPoS as our committee selection mechanism is top stakers anyway.


bump dev version to 0.4.2

Coverage remained the same at 96.031% when pulling f76b1323051cc591275567cacb20c4dc15390017 on narekgharibyan:0.4.2dev into 3c263ff21da7e5b33a38cfe3986d474eb705eab5 on KeyviDev:master.


File/Folder structure

Hey, I just wanted to ask whether the file structure was intended to be like it is currentyl?
It all seems a bit confusing. I mean a folder named reducers which doesn't contain the reducers, a folder named services, which doesn't contain services.
I'm not sure about the standards regarding ng2/redux folder structure, but doesn't that seem a bit unclear?
A short introduction the the structure would be great!

Well the reducers folder does contain the main reducer.
As far as the exact folder structure, I didn't delve to deep into it as it depends on whether or not you want to lazy load most of your stuff.
If you're not going to be doing a lot of lazy loading, then you can put your reducers/services/actions/effects etc in their own folders
However, if you are going to be doing a lot of lazy loading, then it would make more sense to put your reducers/services/actions/effects in the feature folders so that they will only be loaded when you load that particular feature module.


adds an option to the PR template for config files

What does this PR do?
If someone makes a change to a config option, the change file should be changed to reflect that.

Veryyyy nice


Feature/build status readme

:tada: This PR is included in version 1.2.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Update Microsoft.CognitiveServices.Speech from 1.9.0 to 1.10.0

Purpose

...

Does this introduce a breaking change?

[ ] Yes
[x] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[x] Other... Please describe:
Update Microsoft.CognitiveServices.Speech from 1.9.0 to 1.10.0 for VoiceAssistantClient project.

## How to Test
*  Get the code

git clone [repo-address]
cd [repo-name]
git checkout [branch-name]
npm install

* Test the code
<!-- Add steps to run the tests suite and/or manually test -->

## What to Check
Verify that the following are valid
* ...

## Other Information
<!-- Add any other helpful information that may be needed here. -->

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: qfweiwei sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


[BEAM-10124] Compute number of records before each offset using a Multimap sideinput keyed with a filename.

Compute number of records before each offset using a Multimap sideinput keyed with a filename to alleviate memory consumption concerns to materialize side input, see: https://github.com/apache/beam/pull/12924#discussion_r495050059.
I am somewhat conflicted about this change since this adds a O(num_read_ranges_in_file) lookup per each row. I thought about using  Map <file_name, Map <offset, num_records_before_each_offset>> for contextual metadata in the side input, but according to offline discussion with @lukecwik, who is currently OOO, materialization will not work in this case.
Happy to follow up if there is a better suggestion to address the existing memory concerns.

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

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

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

GitHub Actions Tests Status (on master branch)

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

R: @rezarokni

Run Java_Examples_Dataflow_Java11 PreCommit

@rezarokni I merged the multimap implementation as discussed offline. We can later reconsider the nested map approach (https://github.com/apache/beam/pull/13247).


Update citation

In this issue I will update citations in main README.

In https://github.com/JMSLab/LaroplanOCR/commit/ba81698364ee20f7d554b1884d932527455c8e39 I updated the README. I compiled once again the release, although the only difference is in the codebook.
New codebook is codebook.pdf. Previous codebook can be obtained from v1.0.0. Since the only difference is the citation, in the Harvard Dataverse version I only updated the file codebook.pdf and the metada.
I will move to PR.


Mark integration tests that are expected to fail with Skip attribute

There are currently some integration tests in master that are known to fail.
We should mark these with the Skip attribute to make it easier to determine whether or not all relevant integration tests have passed. Also prevents us wasting time running failing tests.
Tests that seem to be known failures that are consistently ignored:

AddNewAccount_for_xpub_only_wallet_informs_user_to_create_new_wallet_
CreateExtPubKeyOnlyWallet_creates_wallet_with_extra_flag
A_cut_off_miner_advanced_ahead_of_network_causes_reorg_on_reconnect

Ideally we should fix these tests but until that is done I don't see harm in skipping them if we are allowing PRs to be merged without them passing anyway.

Note that AddNewAccount_for_xpub_only_wallet_informs_user_to_create_new_wallet_ and CreateExtPubKeyOnlyWallet_creates_wallet_with_extra_flag are failing because of a trivial bug in ApiSteps.cs.

@zeptin OK, did not know that. What is the bug?

A missing value when instantiating a WalletExtPubRecoveryRequest:
https://github.com/stratisproject/StratisBitcoinFullNode/pull/1760/files/d2fe96fbf5350f64cbcfc553bfeeca633ec6986c#diff-7486e7b637d07113c405e5dbc9a66418R264

Nice work, we probably don't need to worry about skipping those for much longer then.

Closing as we now have Retry's and all integration tests should be passing locally.


Missing 'Deleted' notification

Great project, easy to use. But when deleting file there is no 'Deleted' notification
May it be because the OS? Windows 10 x64

Hmm, i also tested this on Windows 10 x64. Is there maybe some other specialty like the file system, network drive etc...?

Oh and: Is this for files or folders?

hi, i have the same problem on windows 10 x64 1809
the event only fires on delete and move to recycle bin (press del key) (as 2 separate events) and not on delete bypassing the recycle bin (shift+del)

investigating further have found that delete events comming from scripting and command prompts also are not caught

on further investigation i have found that deleted via .net File.Delete and also VB6 "Kill(filename)" do fire the delete event
tested so far
works
..explorer normal delete (only del or menu option)
..Net Framework File.Delete
..VB6 "Kill(filename)"
not working
..explorer permanent delete
..command prompt del x.x

maybe i have found the reason, it looks like it could be an os limitation
from https://github.com/Microsoft/Windows-driver-samples/tree/master/filesys/miniFilter/delete
Note Because of the way in which the Windows operating system deletes files, it is not possible for the minifilter to detect in advance that a file or stream will be deleted. The minifilter can only detect operations that may cause a deletion, and then determine if the deletion took place after the operation completes.

workaound found, i am passing the read event to the user mode part and calling a file.exists to see if the file has been deleted, works with command prompt and explorer permanent delete (shift delete)

@scott-adamson1975 thank you for the investigation and for sharing your result! I'll try to document that at a suitable location.


Generate Constructor should propose to take super constructor parameters into account

Mirror of https://netbeans.org/bugzilla/show_bug.cgi?id=170010
Example:
    public class Foo
    {
        public Foo(int n) { }
    }

    public class Bar extends Foo
    {
        private final String s;
        private final boolean b;
    }

Code completion within Bar proposes to generate Bar() or Bar(String s, boolean b), but the generated constructors will
be insufficient because the super constructor requires an argument. It's often the case that super constructor
arguments are also arguments passed to the current constructor, hence it would be useful to also propose the generation
of Bar(int n) and Bar(int n, String s, boolean b) in the example above.
This would also be useful regardless of the presence of instance fields, for example in subclasses of
java.lang.Exception, which often have the same four constructors as java.lang.Exception, which then would be available
for automatic generation.

Tentatively reserved for https://www.reddit.com/user/TotesAStickMan


Refactor ceph executable

Minimal refactor of 'ceph-disk' and 'ceph' commands to get them from system.executable_path
Signed-off-by: Martin Palma<EMAIL_ADDRESS>

Can one of the admins verify this patch?

please test this

ok to test

Not sure why Jenkins is failing? Local tests all succeeded + deployed a test cluster with my version.

@mazebuhu we had a couple of issues with the build system that we just fixed. For a while in ceph-deploy we have been trying to certain conventions in commit messages, would you mind rebasing and changing your commits to comply with the new conventions?
The contributing file will point you in the right direction: https://github.com/ceph/ceph-deploy/blob/master/CONTRIBUTING.rst
And I already created the issue in the tracker for you, so you would just need to use the ticket ID: http://tracker.ceph.com/issues/13847

@mazebuhu The merge commits don't look good in a pull request. Also, it looks like you have three commits from @alfredodeza in there. 8059332 is a duplicate of https://github.com/ceph/ceph-deploy/commit/17a477ec0dd453e7da661fb86e0047feb33a3539 for example.

@mazebuhu 814ac23 and a31589b are the same commit?

@smithfarm yes, you a right. I might messed things up when rebasing. I will close this PR and submit a new one.


Max data disks per VM Table Seems Misleading

The Max data disks per VM table above seems misleading.  The paragraph just above the table correctly states that "The size of the VM instance determines how many data disks can be attached" and then the table below lists the max disks for each very broad category as 64.  While the max data disks possible within each category may be 64, that seems a little misleading.  That column should be changed or left off I think.

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

ID: 572ce9c7-8ca7-a7c3-2b76-0883025cbb5c
Version Independent ID: 96ee5f8c-0a94-3ce4-0ce9-cdec7f48cba0
Content: Tutorial - Create and use disks for scale sets with Azure CLI - Azure Virtual Machine Scale Sets
Content Source: articles/virtual-machine-scale-sets/tutorial-use-disks-cli.md
Service: virtual-machine-scale-sets
GitHub Login: @cynthn
Microsoft Alias: cynthn

Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

#assign @ju-shim

Thanks for pointing this out.  Upon reviewing, we agree.  We've modified the article and eliminated the table.  #please-close


Rm truncated hmac ext

Fixes #4341.
Status
READY
Requires Backporting
NO

Seems that with merge conflict the Travis won't start.

I have now rebased and fixed the merge conflict (I think...)

Thanks @TRodziewicz. I have now added the guide entry. Please take a look.

Note: we already have ChangeLog and migration guides entries for "remove support for our previous buggy version of Truncated HMAC" (look for MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT in ChangeLog and docs/3.0-migration-guide.md - the files not the directories). I think they should be merged with the entries for removing Truncated HMAC entirely, as it makes little sense to explain the two of them separately.

I have modified the ChangeLog and Migration guide in response to @mpg 's comment. Please can @TRodziewicz and @gilles-peskine-arm take another look to see if what I have done is sensible. Thanks.


[Icon Request]:

What is the name of the icon?
Vikunja
What is the website/page of the icon?
https://vikunja.io/
Upload the icon here: [Optional]
Upload the icon, MUST be PNG or SVG.

I'll add it asap


[WIP] [ENG-4010] Address deprecated router event

Ticket: ENG-4010
Feature flag: n/a

Purpose

Address deprecation of router events found here: https://deprecations.emberjs.com/v3.x/#toc_deprecate-router-events

Summary of Changes

Remove usage of willTransition and didTransition in the app router
Remove usage of private router API from app router
Move logic that was handled in aforementioned willTransition, didTransition and other private router API calls into a new app-instance initializer router (The name is sort of awful, so any alternative name suggestions would be much appreciated 😬 )

Fetch server-side rendered page if a given waffle flag is not enabled
Scroll to top on page change, except in cases of query-param only route changes

Screenshot(s)

NA

Side Effects

None I think

QA Notes

This PR impacts how our app handles route changes (including query param only changes like registries/my-registrations?tab=submitted -> registries/my-registrations?tab=draft). The behavior of route changes should be exactly the same, so I think just navigating the app (going from emberized pages and non-emberized pages) should be enough.
A small corner case to check is when going to a potentially waffled off page. If the page is waffled off, it should serve up the legacy page

If you try to register a service that's already been instantiated (e.g. in an instance initializer), that registration will fail quietly so I've had to unregister the router service, before they could be re-registered as stubs in our tests. I don't like that I have to do this and it feels like a "gotcha" for future test-writing.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

24 of 29 (82.76%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 71.72%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

app/instance-initializers/router.ts
24
29
82.76%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
5435

Relevant Lines:
7361

💛  - Coveralls


GSSOC '23 Space Race Game!

Hey, I'm a contributor at GirlScript Summer of Code 2023 and I'd love to contribute to your project by building a simple Space Race Game. It's a two-player game. https://www.youtube.com/watch?v=ibESf4gAuMw

Assigned this issue to you kindly complete it within 10 days go through the readme and contributing.md as well for successful merge. All the best to your work Nikita... !!!

Can you please assign me this issue


Configure jest

I noticed jest wasn't including all covered files. There's also a small TypeScript update in this due to Jest failing on the inferred HTMLElement type
Before

After

I've made these changes


We currently do not have an orderly release process

Would love to hear your thoughts on this, @Borda .
I currently release from master manually, from my personal laptop, when a bugfix or a feature is pulled in (and let nice-to-have changes, documentation, etc. wait in master until the next functionality-affecting change).
Do we want to build an automated process for building and releasing the package to PyPI? I'm assuming git and Github have relevant abilities; maybe something that also tests the packages files, and then some approval by a certain class of contributors? With PyPI credentials loaded as repository secrets and used by the deploy job to deploy to PyPI?
I'm just guessing here. I don't mind carry on as it is now; just thought to ask.

Do we want to build an automated process for building and releasing the package to PyPI?

In general, it shall be fine and straightforward, except I do not have any experience with Versioneer, could you pls describe the steps you do manually? :robot:
Then the automation shall be fine with for example GH release of git tag... :rocket:


Query: When does config reload

If I change a config setting in the .conf file when does it take effect? Do I need to restart the database?

Yes.
On Thursday, November 12, 2015, ivanscattergood<EMAIL_ADDRESS>wrote:

If I change a config setting in the .conf file when does it take effect?
Do I need to restart the database?
—
Reply to this email directly or view it on GitHub
https://github.com/influxdb/influxdb/issues/4763.


Error for archiving in Linux - s.join is not a function

Bug Report
App Version: 2.0.3
Platform: Linux
Installation Method: Snap
Bug Description:
Clicking on Archive doesn't work and send an error "s.join is not a function"

Thanks for all the work :clap:

@quentinDupont thanks for reporting this.

Did you do a fresh install of sleek using Snap or had it been installed as an update?
Would you be willing to share your config file or at least the files section of it? If you press alt key, the window menu should appear, here you can click sleek and then About. A window appears and shows a button to reveal the location of the configuration in your file manager. From there navigate to sleek/userData/config.json.
Can I ask you to quit the application and  remove the userData folder and then restart sleek again, to see if this fixes the issue? This of course will delete all your settings.
If this doesn't help, can you please download the AppImage of the same release and tell me, if the issue also occurs here? https://github.com/ransome1/sleek/releases/tag/v2.0.3

Sleek 2.0.3 (flatpak update) on Linux Mint 22.1.  I experienced the same error.
Following your instructions, I quit the application and removed the userData folder, then restarted sleek again.
Identified my todo.txt file and my archive file (todo-done.txt) as requested at startup of sleek.
Created a test item, closed it.  Tested the archive function.  The issue no longer occurs for me.
Checked Archive file contents - It was updated OK with the test item.
Thank you.

Thanks for reporting this back. if it ever happens again, please feel free to re-open this issue.

I think it was a snap update for me !
thanks for the tutorial, it works !


Having trouble replicating results from README on 96-core CPU

I have just re-created the test bench scenario using a 96-core Ampere Altra Dev Workstation with 96 GB of RAM, running Ubuntu 20.04 server aarch64, with the following kernel:
root@ampere:/opt/hpl-2.3/bin/Altramax_oracleblis# uname -a
Linux ampere 5.4.0-155-generic #172-Ubuntu SMP Fri Jul 7 16:13:58 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux

I have now replicated this setup with two clean installs (even going so far as removing all my NVMe drives, reformatting them, and re-installing Ubuntu 20.04 aarch64 twice for a completely fresh systsem).
And both times, I am getting around 980-1,000 Gflops following the explicit instructions in this repo each time (see also, https://github.com/geerlingguy/sbc-reviews/issues/19).
My most recent run today, on a new fresh install:
root@ampere:/opt/hpl-2.3/bin/Altramax_oracleblis# mpirun -np 96 --allow-run-as-root --bind-to core --map-by core ./xhpl
================================================================================
HPLinpack 2.3  --  High-Performance Linpack benchmark  --   December 2, 2018
Written by A. Petitet and R. Clint Whaley,  Innovative Computing Laboratory, UTK
Modified by Piotr Luszczek, Innovative Computing Laboratory, UTK
Modified by Julien Langou, University of Colorado Denver
================================================================================

An explanation of the input/output parameters follows:
T/V    : Wall time / encoded variant.
N      : The order of the coefficient matrix A.
NB     : The partitioning blocking factor.
P      : The number of process rows.
Q      : The number of process columns.
Time   : Time in seconds to solve the linear system.
Gflops : Rate of execution for solving the linear system.

The following parameter values will be used:

N      :  105000
NB     :     256
PMAP   : Row-major process mapping
P      :       8
Q      :      12
PFACT  :   Right
NBMIN  :       4
NDIV   :       2
RFACT  :   Crout
BCAST  :  1ringM
DEPTH  :       1
SWAP   : Mix (threshold = 64)
L1     : transposed form
U      : transposed form
EQUIL  : yes
ALIGN  : 8 double precision words

--------------------------------------------------------------------------------

- The matrix A is randomly generated for each test.
- The following scaled residual check will be computed:
      ||Ax-b||_oo / ( eps * ( || x ||_oo * || A ||_oo + || b ||_oo ) * N )
- The relative machine precision (eps) is taken to be               1.110223e-16
- Computational tests pass if scaled residuals are less than                16.0

================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR11C2R4      105000   256     8    12             774.54             9.9642e+02
HPL_pdgesv() start time Sun Aug  6 22:00:59 2023

HPL_pdgesv() end time   Sun Aug  6 22:13:54 2023

--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=   2.00850780e-03 ...... PASSED
================================================================================

Finished      1 tests with the following results:
              1 tests completed and passed residual checks,
              0 tests completed and failed residual checks,
              0 tests skipped because of illegal input values.
--------------------------------------------------------------------------------

End of Tests.
================================================================================

And the contents of the HPL.dat file:
root@ampere:/opt/hpl-2.3/bin/Altramax_oracleblis# cat HPL.dat
HPLinpack benchmark input file
Innovative Computing Laboratory, University of Tennessee
HPL.out      output file name (if any)
6            device out (6=stdout,7=stderr,file)
1            # of problems sizes (N)
105000       Ns
1            # of NBs
256          NBs
0            PMAP process mapping (0=Row-,1=Column-major)
1            # of process grids (P x Q)
8            Ps
12           Qs
16.0         threshold
1            # of panel fact
2        PFACTs (0=left, 1=Crout, 2=Right)
1            # of recursive stopping criterium
4          NBMINs (>= 1)
1            # of panels in recursion
2            NDIVs
1            # of recursive panel fact.
1        RFACTs (0=left, 1=Crout, 2=Right)
1            # of broadcast
1            BCASTs (0=1rg,1=1rM,2=2rg,3=2rM,4=Lng,5=LnM)
1            # of lookahead depth
1            DEPTHs (>=0)
2            SWAP (0=bin-exch,1=long,2=mix)
64           swapping threshold
0            L1 in (0=transposed,1=no-transposed) form
0            U  in (0=transposed,1=no-transposed) form
1            Equilibration (0=no,1=yes)
8            memory alignment in double (> 0)

According to the README, I should be getting over 1.2 Tflops using this same configuration.
Can you help me figure out what might be different between my test workstation setup and the one used to generate these results?

Hi Jeff,
I have some questions about the setting of HPL.dat, you set the Ns parameter as 105000, but you also mentioned that the system has 96GB RAM, I am a bit confused about this, because I found some easy configuration HPL.dat on this website parameter method
https://www.advancedclustering.com/act_kb/tune-hpl-dat-file/
, according to your configuration, your actual system memory should be at least 100GB~110GB, or even more...
I am not sure about that, can you give me some advice?
Thanks
BR
ii-BOY

@ii-BOY - It's slightly more complex than that, Ns is not 1:1 correlated to memory size, and finding the right parameters to make HPL use as much RAM as you have—but not too much—is mostly a matter of trial and error.
As this project's README states, with Ns at 105000, the RAM usage is around 91 GB, which is about ideal for a 96 GB RAM system, assuming it's only running the benchmark.

Seeing that one of the Ampere devs who is benchmarking the same system (and who's numbers are used in the README) has gotten different results, we compared everything about our systems, and determined the only real difference is the memory.
I am currently running:

Transcend TS2GHR72V2E3 DDR4-3200 ECC RAM

And he is running Samsung ECC RAM, same spec though. You wouldn't think different vendors' RAM would cause a 20% performance difference (they are both similar down to CL22 CAS Latency...), but stranger things have happened.
So I've ordered six sticks of 16 GB Samsung M393A2K40DB3-CWE DDR4-3200 ECC RAM, and they should come in a day or two... then I'll re-run my tests and see if they're any faster with Samsung RAM.

For a point of reference, I even tried forcing 3200 (instead of 'Auto') for the memory speed in the BIOS, and got the same result (+/- 1%), and here are the current memory speed results from tinymembench:
tinymembench v0.4.9 (simple benchmark for memory throughput and latency)

==========================================================================
== Memory bandwidth tests                                               ==
==                                                                      ==
== Note 1: 1MB = 1000000 bytes                                          ==
== Note 2: Results for 'copy' tests show how many bytes can be          ==
==         copied per second (adding together read and writen           ==
==         bytes would have provided twice higher numbers)              ==
== Note 3: 2-pass copy means that we are using a small temporary buffer ==
==         to first fetch data into it, and only then write it to the   ==
==         destination (source -> L1 cache, L1 cache -> destination)    ==
== Note 4: If sample standard deviation exceeds 0.1%, it is shown in    ==
==         brackets                                                     ==
==========================================================================

 C copy backwards                                     :  10139.5 MB/s
 C copy backwards (32 byte blocks)                    :  10055.4 MB/s
 C copy backwards (64 byte blocks)                    :  10063.4 MB/s
 C copy                                               :  10082.4 MB/s
 C copy prefetched (32 bytes step)                    :  10818.0 MB/s
 C copy prefetched (64 bytes step)                    :  10850.6 MB/s
 C 2-pass copy                                        :   6704.2 MB/s
 C 2-pass copy prefetched (32 bytes step)             :   7298.4 MB/s
 C 2-pass copy prefetched (64 bytes step)             :   7581.8 MB/s
 C fill                                               :  43887.5 MB/s
 C fill (shuffle within 16 byte blocks)               :  43889.2 MB/s
 C fill (shuffle within 32 byte blocks)               :  43887.0 MB/s
 C fill (shuffle within 64 byte blocks)               :  43881.4 MB/s
 ---
 standard memcpy                                      :  10725.0 MB/s
 standard memset                                      :  44748.3 MB/s
 ---
 NEON LDP/STP copy                                    :  10764.2 MB/s
 NEON LDP/STP copy pldl2strm (32 bytes step)          :  12066.4 MB/s
 NEON LDP/STP copy pldl2strm (64 bytes step)          :  12115.7 MB/s
 NEON LDP/STP copy pldl1keep (32 bytes step)          :  12260.1 MB/s
 NEON LDP/STP copy pldl1keep (64 bytes step)          :  12234.5 MB/s
 NEON LD1/ST1 copy                                    :  10801.2 MB/s
 NEON STP fill                                        :  44748.2 MB/s
 NEON STNP fill                                       :  44747.6 MB/s
 ARM LDP/STP copy                                     :  10834.4 MB/s
 ARM STP fill                                         :  44735.5 MB/s
 ARM STNP fill                                        :  44730.9 MB/s

==========================================================================
== Memory latency test                                                  ==
==                                                                      ==
== Average time is measured for random memory accesses in the buffers   ==
== of different sizes. The larger is the buffer, the more significant   ==
== are relative contributions of TLB, L1/L2 cache misses and SDRAM      ==
== accesses. For extremely large buffer sizes we are expecting to see   ==
== page table walk with several requests to SDRAM for almost every      ==
== memory access (though 64MiB is not nearly large enough to experience ==
== this effect to its fullest).                                         ==
==                                                                      ==
== Note 1: All the numbers are representing extra time, which needs to  ==
==         be added to L1 cache latency. The cycle timings for L1 cache ==
==         latency can be usually found in the processor documentation. ==
== Note 2: Dual random read means that we are simultaneously performing ==
==         two independent memory accesses at a time. In the case if    ==
==         the memory subsystem can't handle multiple outstanding       ==
==         requests, dual random read has the same timings as two       ==
==         single reads performed one after another.                    ==
==========================================================================

block size : single random read / dual random read, [MADV_NOHUGEPAGE]
      1024 :    0.0 ns          /     0.0 ns
      2048 :    0.0 ns          /     0.0 ns
      4096 :    0.0 ns          /     0.0 ns
      8192 :    0.0 ns          /     0.0 ns
     16384 :    0.0 ns          /     0.0 ns
     32768 :    0.0 ns          /     0.0 ns
     65536 :    0.0 ns          /     0.0 ns
    131072 :    1.3 ns          /     1.8 ns
    262144 :    2.4 ns          /     2.9 ns
    524288 :    3.4 ns          /     3.9 ns
   1048576 :    4.1 ns          /     4.4 ns
   2097152 :   18.4 ns          /    26.1 ns
   4194304 :   25.6 ns          /    32.3 ns
   8388608 :   31.3 ns          /    36.9 ns
  16777216 :   39.1 ns          /    42.5 ns
  33554432 :   77.4 ns          /   103.0 ns
  67108864 :   99.8 ns          /   125.3 ns

block size : single random read / dual random read, [MADV_HUGEPAGE]
      1024 :    0.0 ns          /     0.0 ns
      2048 :    0.0 ns          /     0.0 ns
      4096 :    0.0 ns          /     0.0 ns
      8192 :    0.0 ns          /     0.0 ns
     16384 :    0.0 ns          /     0.0 ns
     32768 :    0.0 ns          /     0.0 ns
     65536 :    0.0 ns          /     0.0 ns
    131072 :    1.3 ns          /     1.8 ns
    262144 :    1.9 ns          /     2.3 ns
    524288 :    2.3 ns          /     2.5 ns
   1048576 :    2.5 ns          /     2.8 ns
   2097152 :   16.9 ns          /    24.4 ns
   4194304 :   24.6 ns          /    30.5 ns
   8388608 :   27.7 ns          /    32.4 ns
  16777216 :   29.6 ns          /    33.5 ns
  33554432 :   70.5 ns          /    95.1 ns
  67108864 :   91.5 ns          /   115.4 ns

@geerlingguy The next part of the test was the memory latency test. The results are as below
Run 1 |   |   |   |
-- | -- | -- | -- | --
block size | JG-single_run | JG-dual_run | RB-single_run | RB-dual_run
1024 | 0 | 0 | 0 | 0
2048 | 0 | 0 | 0 | 0
4096 | 0 | 0 | 0 | 0
8192 | 0 | 0 | 0 | 0
16384 | 0 | 0 | 0 | 0
32768 | 0 | 0 | 0 | 0
65536 | 0 | 0 | 0 | 0
131072 | 1.3 | 1.8 | 1.3 | 1.8
262144 | 2.3 | 2.9 | 2.4 | 3
524288 | 3.2 | 3.9 | 3.4 | 3.9
1048576 | 3.6 | 4.2 | 4.1 | 4.5
2097152 | 22.9 | 33 | 17.8 | 24.8
4194304 | 32.6 | 40.9 | 25 | 30.5
8388608 | 38.1 | 43.5 | 30.1 | 35
16777216 | 43.2 | 48.6 | 37 | 45.7
33554432 | 86.2 | 112.2 | 71.2 | 93.7
67108864 | 109.3 | 135.2 | 91.4 | 112.1
Run 2 |   |   |   |
block size | JG-single_run | JG-dual_run | RB-single_run | RB-dual_run
1024 | 0 | 0 | 0 | 0
2048 | 0 | 0 | 0 | 0
4096 | 0 | 0 | 0 | 0
8192 | 0 | 0 | 0 | 0
16384 | 0 | 0 | 0 | 0
32768 | 0 | 0 | 0 | 0
65536 | 0 | 0 | 0 | 0
131072 | 1.3 | 1.8 | 1.3 | 1.8
262144 | 1.9 | 2.3 | 1.9 | 2.4
524288 | 2.2 | 2.5 | 2.3 | 2.5
1048576 | 2.6 | 2.8 | 2.6 | 2.8
2097152 | 21.6 | 31.6 | 16.2 | 23.1
4194304 | 31.1 | 39.4 | 23.3 | 28.7
8388608 | 35.8 | 41.7 | 26.7 | 30.4
16777216 | 38.5 | 43 | 28.3 | 31.5
33554432 | 79.9 | 104.9 | 64.9 | 85.9
67108864 | 101.1 | 125.4 | 83.7 | 102.9
I mapped one of the runs into a graph as seen below

As seen with other latency benchmarks, we're good when comparing L1 and L2 cache.  The differences start popping up as we move from L2 Cache to system memory. Once again my results are ~20% faster.

Wow, what a difference the memory seems to make!
I got 2 of the 6 new RAM sticks just now. Running HPL with N=50000, I see:

Old Transcend RAM (2x16 GB): 279.22 Gflops
New Samsung RAM (2x16 GB): 369.05 Gflops

Encouraging early result! The rest of the RAM is coming Monday...
And here are the new tinymembench results (NOTE: Just for the 2x16GB sticks, performance will differ filling all the memory channels...):

Click to expand tinymembench results
tinymembench v0.4.10 (simple benchmark for memory throughput and latency)

==========================================================================
== Memory bandwidth tests                                               ==
==                                                                      ==
== Note 1: 1MB = 1000000 bytes                                          ==
== Note 2: Results for 'copy' tests show how many bytes can be          ==
==         copied per second (adding together read and writen           ==
==         bytes would have provided twice higher numbers)              ==
== Note 3: 2-pass copy means that we are using a small temporary buffer ==
==         to first fetch data into it, and only then write it to the   ==
==         destination (source -> L1 cache, L1 cache -> destination)    ==
== Note 4: If sample standard deviation exceeds 0.1%, it is shown in    ==
==         brackets                                                     ==
==========================================================================

 C copy backwards                                     :  10261.8 MB/s
 C copy backwards (32 byte blocks)                    :  10233.9 MB/s
 C copy backwards (64 byte blocks)                    :  10238.1 MB/s
 C copy                                               :  10277.0 MB/s
 C copy prefetched (32 bytes step)                    :  10403.7 MB/s
 C copy prefetched (64 bytes step)                    :  10407.1 MB/s
 C 2-pass copy                                        :   7065.6 MB/s
 C 2-pass copy prefetched (32 bytes step)             :   8825.9 MB/s
 C 2-pass copy prefetched (64 bytes step)             :   9179.0 MB/s
 C fill                                               :  42770.6 MB/s (1.1%)
 C fill (shuffle within 16 byte blocks)               :  42675.3 MB/s
 C fill (shuffle within 32 byte blocks)               :  42755.8 MB/s (0.2%)
 C fill (shuffle within 64 byte blocks)               :  42587.5 MB/s
 NEON 64x2 COPY                                       :  10633.4 MB/s
 NEON 64x2x4 COPY                                     :  10679.9 MB/s
 NEON 64x1x4_x2 COPY                                  :   6380.2 MB/s (0.1%)
 NEON 64x2 COPY prefetch x2                           :  12576.1 MB/s
 NEON 64x2x4 COPY prefetch x1                         :  12767.1 MB/s
 NEON 64x2 COPY prefetch x1                           :  12462.2 MB/s
 NEON 64x2x4 COPY prefetch x1                         :  12763.3 MB/s
 ---
 standard memcpy                                      :  10582.3 MB/s
 standard memset                                      :  42988.5 MB/s (1.3%)
 ---
 NEON LDP/STP copy                                    :  10645.9 MB/s
 NEON LDP/STP copy pldl2strm (32 bytes step)          :  11909.5 MB/s
 NEON LDP/STP copy pldl2strm (64 bytes step)          :  11902.6 MB/s
 NEON LDP/STP copy pldl1keep (32 bytes step)          :  11816.3 MB/s
 NEON LDP/STP copy pldl1keep (64 bytes step)          :  11818.2 MB/s
 NEON LD1/ST1 copy                                    :  10690.8 MB/s
 NEON STP fill                                        :  43059.6 MB/s (1.2%)
 NEON STNP fill                                       :  43150.2 MB/s (0.3%)
 ARM LDP/STP copy                                     :  10711.8 MB/s
 ARM STP fill                                         :  43011.2 MB/s (1.1%)
 ARM STNP fill                                        :  43117.3 MB/s (0.2%)

==========================================================================
== Memory latency test                                                  ==
==                                                                      ==
== Average time is measured for random memory accesses in the buffers   ==
== of different sizes. The larger is the buffer, the more significant   ==
== are relative contributions of TLB, L1/L2 cache misses and SDRAM      ==
== accesses. For extremely large buffer sizes we are expecting to see   ==
== page table walk with several requests to SDRAM for almost every      ==
== memory access (though 64MiB is not nearly large enough to experience ==
== this effect to its fullest).                                         ==
==                                                                      ==
== Note 1: All the numbers are representing extra time, which needs to  ==
==         be added to L1 cache latency. The cycle timings for L1 cache ==
==         latency can be usually found in the processor documentation. ==
== Note 2: Dual random read means that we are simultaneously performing ==
==         two independent memory accesses at a time. In the case if    ==
==         the memory subsystem can't handle multiple outstanding       ==
==         requests, dual random read has the same timings as two       ==
==         single reads performed one after another.                    ==
==========================================================================

block size : single random read / dual random read, [MADV_NOHUGEPAGE]
      1024 :    0.0 ns          /     0.0 ns
      2048 :    0.0 ns          /     0.0 ns
      4096 :    0.0 ns          /     0.0 ns
      8192 :    0.0 ns          /     0.0 ns
     16384 :    0.0 ns          /     0.0 ns
     32768 :    0.0 ns          /     0.0 ns
     65536 :    0.0 ns          /     0.0 ns
    131072 :    1.3 ns          /     1.8 ns
    262144 :    2.4 ns          /     2.9 ns
    524288 :    3.4 ns          /     3.9 ns
   1048576 :    7.7 ns          /    11.3 ns
   2097152 :   20.5 ns          /    29.5 ns
   4194304 :   28.9 ns          /    36.7 ns
   8388608 :   35.7 ns          /    41.7 ns
  16777216 :   45.2 ns          /    55.4 ns
  33554432 :   74.5 ns          /    95.5 ns
  67108864 :   89.0 ns          /   107.1 ns

block size : single random read / dual random read, [MADV_HUGEPAGE]
      1024 :    0.0 ns          /     0.0 ns
      2048 :    0.0 ns          /     0.0 ns
      4096 :    0.0 ns          /     0.0 ns
      8192 :    0.0 ns          /     0.0 ns
     16384 :    0.0 ns          /     0.0 ns
     32768 :    0.0 ns          /     0.0 ns
     65536 :    0.0 ns          /     0.0 ns
    131072 :    1.3 ns          /     1.8 ns
    262144 :    1.9 ns          /     2.3 ns
    524288 :    2.3 ns          /     2.5 ns
   1048576 :    2.6 ns          /     2.8 ns
   2097152 :   19.1 ns          /    27.8 ns
   4194304 :   27.6 ns          /    35.0 ns
   8388608 :   31.4 ns          /    37.3 ns
  16777216 :   33.6 ns          /    38.6 ns
  33554432 :   67.7 ns          /    87.8 ns
  67108864 :   80.6 ns          /    97.5 ns

memcpy goes from 9894.0 to 10582.3, a 7% difference (again, with 2 sticks vs 6), while HPL goes from 279 to 369, almost a 30% improvement! Latency is vastly improved over the Transcend RAM as well.
Can't wait for the other sticks to arrive. I will finally pass the 'teraflop on a CPU' barrier :)

I have a Twitter (X?) thread going on about the memory differences. Going to also try to see if I can look up timing data in Linux via decode-dimms (CPU-Z under Windows on Arm isn't showing timing data).

Hmm...
$ sudo apt install -y i2c-tools
$ sudo modprobe eeprom
$ decode-dimms
# decode-dimms version 4.3

Memory Serial Presence Detect Decoder
By Philip Edelbrock, Christian Zuckschwerdt, Burkart Lingner,
Jean Delvare, Trent Piepho and others

Number of SDRAM DIMMs detected and decoded: 0

@geerlingguy The next part of the test was the memory latency test. The results are as below
Run 1
block size	JG-single_run	JG-dual_run	RB-single_run	RB-dual_run
1024	0	0	0	0
2048	0	0	0	0
4096	0	0	0	0
8192	0	0	0	0
16384	0	0	0	0
32768	0	0	0	0
65536	0	0	0	0
131072	1.3	1.8	1.3	1.8
262144	2.3	2.9	2.4	3
524288	3.2	3.9	3.4	3.9
1048576	3.6	4.2	4.1	4.5
2097152	22.9	33	17.8	24.8
4194304	32.6	40.9	25	30.5
8388608	38.1	43.5	30.1	35
16777216	43.2	48.6	37	45.7
33554432	86.2	112.2	71.2	93.7
67108864	109.3	135.2	91.4	112.1
Run 2
block size	JG-single_run	JG-dual_run	RB-single_run	RB-dual_run
1024	0	0	0	0
2048	0	0	0	0
4096	0	0	0	0
8192	0	0	0	0
16384	0	0	0	0
32768	0	0	0	0
65536	0	0	0	0
131072	1.3	1.8	1.3	1.8
262144	1.9	2.3	1.9	2.4
524288	2.2	2.5	2.3	2.5
1048576	2.6	2.8	2.6	2.8
2097152	21.6	31.6	16.2	23.1
4194304	31.1	39.4	23.3	28.7
8388608	35.8	41.7	26.7	30.4
16777216	38.5	43	28.3	31.5
33554432	79.9	104.9	64.9	85.9
67108864	101.1	125.4	83.7	102.9
I mapped one of the runs into a graph as seen below
As seen with other latency benchmarks, we're good when comparing L1 and L2 cache. The differences start popping up as we move from L2 Cache to system memory. Once again my results are ~20% faster.

Hi Jeef,
I am not sure about the Run1 and Run2 meaning, I tried to do the tinymembench and I saw [MADV_NOHUGEPAGE] at 1st run the is [MADV_HUGEPAGE], so you did the tinymembench with same configuration for 2 times or you did 1 time but get 2 result(HUGEPAGE and NOHUGEPAGE)?
Thanks
BR
ii-BOY

@ii-BOY . Hi this test was run just once.
Internally, tinymembench ran twice. Once with THP disabled (MADV_NOHUGEPAGE) and once with THP enabled (MADV_NOHUGEPAGE).
You can find more information here : https://man7.org/linux/man-pages/man2/madvise.2.html
Thanks.
Note : Thanks for pointing out the omission in descriptions for Run1 and Run2 tables that were posted. I've edited those to reflect MADV_NOHUGEPAGE and MADV_HUGEPAGE in their tables respectively.

tinymembench run with all six sticks (96 GB total) of Sam sung RAM:

Click to view tinymembench results
tinymembench v0.4.10 (simple benchmark for memory throughput and latency)

==========================================================================
== Memory bandwidth tests                                               ==
==                                                                      ==
== Note 1: 1MB = 1000000 bytes                                          ==
== Note 2: Results for 'copy' tests show how many bytes can be          ==
==         copied per second (adding together read and writen           ==
==         bytes would have provided twice higher numbers)              ==
== Note 3: 2-pass copy means that we are using a small temporary buffer ==
==         to first fetch data into it, and only then write it to the   ==
==         destination (source -> L1 cache, L1 cache -> destination)    ==
== Note 4: If sample standard deviation exceeds 0.1%, it is shown in    ==
==         brackets                                                     ==
==========================================================================

 C copy backwards                                     :  11416.8 MB/s
 C copy backwards (32 byte blocks)                    :  11374.5 MB/s
 C copy backwards (64 byte blocks)                    :  11380.7 MB/s
 C copy                                               :  11486.6 MB/s
 C copy prefetched (32 bytes step)                    :  12074.4 MB/s
 C copy prefetched (64 bytes step)                    :  12072.5 MB/s
 C 2-pass copy                                        :   7456.1 MB/s
 C 2-pass copy prefetched (32 bytes step)             :   8489.5 MB/s
 C 2-pass copy prefetched (64 bytes step)             :   8901.7 MB/s
 C fill                                               :  43888.0 MB/s
 C fill (shuffle within 16 byte blocks)               :  43888.0 MB/s
 C fill (shuffle within 32 byte blocks)               :  43888.3 MB/s
 C fill (shuffle within 64 byte blocks)               :  43882.9 MB/s
 NEON 64x2 COPY                                       :  12176.6 MB/s
 NEON 64x2x4 COPY                                     :  12229.0 MB/s
 NEON 64x1x4_x2 COPY                                  :  10022.1 MB/s
 NEON 64x2 COPY prefetch x2                           :  13542.4 MB/s
 NEON 64x2x4 COPY prefetch x1                         :  13902.0 MB/s
 NEON 64x2 COPY prefetch x1                           :  13579.6 MB/s
 NEON 64x2x4 COPY prefetch x1                         :  13903.2 MB/s
 ---
 standard memcpy                                      :  12107.0 MB/s
 standard memset                                      :  44746.4 MB/s
 ---
 NEON LDP/STP copy                                    :  12186.3 MB/s
 NEON LDP/STP copy pldl2strm (32 bytes step)          :  13778.2 MB/s
 NEON LDP/STP copy pldl2strm (64 bytes step)          :  13785.9 MB/s
 NEON LDP/STP copy pldl1keep (32 bytes step)          :  13847.4 MB/s
 NEON LDP/STP copy pldl1keep (64 bytes step)          :  13825.8 MB/s
 NEON LD1/ST1 copy                                    :  12242.3 MB/s
 NEON STP fill                                        :  44745.9 MB/s
 NEON STNP fill                                       :  44747.5 MB/s
 ARM LDP/STP copy                                     :  12298.1 MB/s
 ARM STP fill                                         :  44730.0 MB/s
 ARM STNP fill                                        :  44730.8 MB/s

==========================================================================
== Memory latency test                                                  ==
==                                                                      ==
== Average time is measured for random memory accesses in the buffers   ==
== of different sizes. The larger is the buffer, the more significant   ==
== are relative contributions of TLB, L1/L2 cache misses and SDRAM      ==
== accesses. For extremely large buffer sizes we are expecting to see   ==
== page table walk with several requests to SDRAM for almost every      ==
== memory access (though 64MiB is not nearly large enough to experience ==
== this effect to its fullest).                                         ==
==                                                                      ==
== Note 1: All the numbers are representing extra time, which needs to  ==
==         be added to L1 cache latency. The cycle timings for L1 cache ==
==         latency can be usually found in the processor documentation. ==
== Note 2: Dual random read means that we are simultaneously performing ==
==         two independent memory accesses at a time. In the case if    ==
==         the memory subsystem can't handle multiple outstanding       ==
==         requests, dual random read has the same timings as two       ==
==         single reads performed one after another.                    ==
==========================================================================

block size : single random read / dual random read, [MADV_NOHUGEPAGE]
      1024 :    0.0 ns          /     0.0 ns
      2048 :    0.0 ns          /     0.0 ns
      4096 :    0.0 ns          /     0.0 ns
      8192 :    0.0 ns          /     0.0 ns
     16384 :    0.0 ns          /     0.0 ns
     32768 :    0.0 ns          /     0.0 ns
     65536 :    0.0 ns          /     0.0 ns
    131072 :    1.3 ns          /     1.8 ns
    262144 :    2.4 ns          /     2.9 ns
    524288 :    3.4 ns          /     3.9 ns
   1048576 :    4.1 ns          /     4.4 ns
   2097152 :   23.2 ns          /    33.2 ns
   4194304 :   32.7 ns          /    41.1 ns
   8388608 :   39.7 ns          /    46.2 ns
  16777216 :   47.7 ns          /    51.0 ns
  33554432 :   81.6 ns          /   103.5 ns
  67108864 :  102.1 ns          /   122.2 ns

block size : single random read / dual random read, [MADV_HUGEPAGE]
      1024 :    0.0 ns          /     0.0 ns
      2048 :    0.0 ns          /     0.0 ns
      4096 :    0.0 ns          /     0.0 ns
      8192 :    0.0 ns          /     0.0 ns
     16384 :    0.0 ns          /     0.0 ns
     32768 :    0.0 ns          /     0.0 ns
     65536 :    0.0 ns          /     0.0 ns
    131072 :    1.3 ns          /     1.8 ns
    262144 :    1.9 ns          /     2.3 ns
    524288 :    2.3 ns          /     2.5 ns
   1048576 :    2.6 ns          /     2.8 ns
   2097152 :   21.6 ns          /    31.6 ns
   4194304 :   31.4 ns          /    39.4 ns
   8388608 :   36.2 ns          /    41.7 ns
  16777216 :   38.5 ns          /    43.0 ns
  33554432 :   74.8 ns          /    95.7 ns
  67108864 :   93.6 ns          /   112.0 ns

New result:
================================================================================
HPLinpack 2.3  --  High-Performance Linpack benchmark  --   December 2, 2018
Written by A. Petitet and R. Clint Whaley,  Innovative Computing Laboratory, UTK
Modified by Piotr Luszczek, Innovative Computing Laboratory, UTK
Modified by Julien Langou, University of Colorado Denver
================================================================================

An explanation of the input/output parameters follows:
T/V    : Wall time / encoded variant.
N      : The order of the coefficient matrix A.
NB     : The partitioning blocking factor.
P      : The number of process rows.
Q      : The number of process columns.
Time   : Time in seconds to solve the linear system.
Gflops : Rate of execution for solving the linear system.

The following parameter values will be used:

N      :  105000
NB     :     256
PMAP   : Row-major process mapping
P      :       8
Q      :      12
PFACT  :   Right
NBMIN  :       4
NDIV   :       2
RFACT  :   Crout
BCAST  :  1ringM
DEPTH  :       1
SWAP   : Mix (threshold = 64)
L1     : transposed form
U      : transposed form
EQUIL  : yes
ALIGN  : 8 double precision words

--------------------------------------------------------------------------------

- The matrix A is randomly generated for each test.
- The following scaled residual check will be computed:
      ||Ax-b||_oo / ( eps * ( || x ||_oo * || A ||_oo + || b ||_oo ) * N )
- The relative machine precision (eps) is taken to be               1.110223e-16
- Computational tests pass if scaled residuals are less than                16.0

================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR11C2R4      105000   256     8    12             649.46             1.1883e+03
HPL_pdgesv() start time Mon Sep 11 20:21:22 2023

HPL_pdgesv() end time   Mon Sep 11 20:32:11 2023

--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=   2.00850780e-03 ...... PASSED
================================================================================

Finished      1 tests with the following results:
              1 tests completed and passed residual checks,
              0 tests completed and failed residual checks,
              0 tests skipped because of illegal input values.
--------------------------------------------------------------------------------

End of Tests.
================================================================================

1188.3 Gflops at 296W = 4.01 Gflops/W

It seems like my Samsung RAM still performs just under whatever RAM @rbapat-ampere is using in his system, so that seems to explain the delta!
I think this issue can be closed, as we've found the culprit.


OWNERS: remove inactive users, add new members of NID team

/hold
Until https://github.com/openshift/release/pull/59402 is merged.


Add code in java to check upper case

Why: add java code to check upper case

Closes #1133
What's being changed: File

Hey @jaypavasiya
Please comment !assign on #1133 to be auto assigned to the related issue
!assign


Trace viewer/timeline addition

I saw configuration in meta with HTML result but not in notification with AWS so is this possible to attach to HTML result with video/screenshot? If yes, can you explain solution.

Hey @bibas07 are you wanting to attach links to artifacts stored in s3? Or something else?
There's an example in the readme:

these are screenshot and video. I want timeline