Getting started in developing custom layers

Discussed in https://github.com/reearth/reearth/discussions/314

Originally posted by gsutay August  5, 2022
Hi Team,
My goal to to setup the needed development environment to be able to create custom layers on top of the 2D/3D WebGIS map.  I assume that I will need to use an API plugin to pull in data from a database to populate the custom layer.
Are my assumptions correct thus far?
To begin setting up a dev env, I have a RHEL server where I opened ports 8080 and 27017 and then have successfully run:
curl -O https://raw.githubusercontent.com/reearth/reearth/main/docker-compose.yml
docker compose up -d
The result is that I can open URL http://localhost:8080/ in Firefox and see a Re:Earth login page.
It is not clear now what user/password to login with.   I have attempted the "Sign up" to created a new user and I get the message "Please check your inbox for instructions on how to verify your account."  However, I never receive the email.  I am stuck.  I cannot get past the login page on http://localhost:8080/.  Is there a way to manually create the login?
I will attempt to find the Auth0 config in the docker image and see if introducing a user/pass there will get me past the login page.
UPDATE 1:
I can get into the mongo:4.4-focal container using 'docker exec -ti 8f97cc041a0f "bash"' but I don't see any Auth0 config there to tweak.
Trying various commands and permutations to 'docker exec -ti ...' into the reearth/reearth:latest container all fail.
UPDATE 2:
On page "https://docs.reearth.io/developer-guide/intro/setup/auth0", I see text "In previous versions of Re:Earth, Auth0 configuration was required, but the current version has a built-in authentication server, so it works without Auth0 configuration."
This suggests that there are built-in user/pass to get past the login page already in the docker image. Could somebody please share the default user/pass configured to work on the "built-in authentication server" please?
Cheers,
Gene

Hey. Sorry to make the system different to use. But now we support a mock system on local environment to let user use our system without login. Pls, check our docs in the future.


binlog default ProjectImports seems to be wrong

The doc says that the default is Embed - however without setting any ProjectImports option I get a msbuild.ProjectImports.zip file meaning that the default is ZipFile.

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

ID: e6254da8-fbe7-cc2a-2c10-1ba918a61039
Version Independent ID: 7d3100b1-8ab0-f17f-6494-d183bdeb9081
Content: MSBuild Command-Line Reference - Visual Studio
Content Source: docs/msbuild/msbuild-command-line-reference.md
Product: visual-studio-windows
Technology: msbuild
GitHub Login: @ghogen
Microsoft Alias: ghogen

so it turns out the default is Embed but a temporary zip file is still created (then deleted). see https://github.com/microsoft/msbuild/issues/5383

@asklar -- Alexander, thank you for your followup.


20354 quick fix searchpage list refactor

Details

This is a response this @mountiny request from here: https://github.com/Expensify/App/pull/33080#discussion_r1462488403
This PR is a quick fix that removes the old SearchPage.js file in favour of the new SearchPage/index.js.
Also adds debouncing to report searching and a loading indicator when reports are looked up on the server.
Fixed Issues

$ https://github.com/Expensify/App/issues/20354
PROPOSAL: no proposal
Tests

[ ] Verify that no errors appear in the JS console

Offline tests

QA Steps

run the app and hit the magnifying glass icon button in the top bar (search)
check the search page functionality for any abnormalities in comparison to the current one
Verify that no errors appear in the JS console
[ ] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@rushatgabhane @mountiny tagging you guys here

@rushatgabhane whats your ETA for review

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@rushatgabhane I cannot reproduce it. It must be somehow specific to your app state. Can add some more info?

You can add a function to solve this problem simply. set a variable with a negative value false and after clicking this search bar run this function and check this variable value if it is true then set CSS style this referral main div set style display none. Lastly, the function sets the variable value to true; this result will be when first click the search bar the referral link will be displayed block and next all click this will display none.

🚀 Deployed to staging by https://github.com/cristipaval in version: 1.4.38-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
cancelled 🔪

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/cristipaval in version: 1.4.38-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

This PR is failing because of issue https://github.com/Expensify/App/issues/36082
The issue is reproducible in: Web, Android, mWeb/Safari.
https://github.com/Expensify/App/assets/78819774/7a3acb13-2cb7-4d98-9109-e2bf9fddd0c3

🚀 Deployed to production by https://github.com/marcaaron in version: 1.4.38-6 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


[pornhub] Try to bypass scrape detection without invoking phantomjs.

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[x] Improvement
[ ] New extractor
[ ] New feature

Description of your pull request and other information
This PR is a follow-up of 278d061a0c5eae20963c0a6df4b9b13fd1537186.
In that commit, phantomjs is invoked whenever scrape detection is on.
In contrast, this commit bypasses scrape detection without invoking phantomjs,
and only invokes phantomjs as a last resort (which never occurs in my test).
The motivation behind this PR is that I believe the use of phantomjs should be
minimized due to the following reasons:

phantomjs is no longer maintained
executing arbitrary javascript without knowing what it is doing is bad
one less dependency if openload video support is not required
why run javascript if we can have the same functionality with pure python

I think point 1 and 2 are the most important since they have security
implications.

Crashes on python 2:
> py -2.7 .\youtube_dl\__main__.py http://www.pornhub.com/view_video.php?viewkey=648719015 -F --proxy <IP_ADDRESS>:8118 -v
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'http://www.pornhub.com/view_video.php?viewkey=648719015', u'-F', u'--proxy', u'<IP_ADDRESS>:8118', u'-v']
[debug] Encodings: locale cp1251, fs mbcs, out cp866, pref cp1251
[debug] youtube-dl version 2019.02.18
[debug] Git HEAD: 2c8ae68
[debug] Python version 2.7.12 (CPython) - Windows-10-10.0.10240
[debug] exe versions: ffmpeg N-85653-gb4330a0, ffprobe N-85653-gb4330a0, phantomjs 2.1.1, rtmpdump 2.4
[debug] Proxy map: {u'http': u'<IP_ADDRESS>:8118', u'https': u'<IP_ADDRESS>:8118'}
Traceback (most recent call last):
  File ".\youtube_dl\__main__.py", line 19, in <module>
    youtube_dl.main()
  File "C:\Dev\youtube-dl\master\youtube_dl\__init__.py", line 472, in main
    _real_main(argv)
  File "C:\Dev\youtube-dl\master\youtube_dl\__init__.py", line 462, in _real_main
    retcode = ydl.download(all_urls)
  File "C:\Dev\youtube-dl\master\youtube_dl\YoutubeDL.py", line 2006, in download
    url, force_generic_extractor=self.params.get('force_generic_extractor', False))
  File "C:\Dev\youtube-dl\master\youtube_dl\YoutubeDL.py", line 794, in extract_info
    ie_result = ie.extract(url)
  File "C:\Dev\youtube-dl\master\youtube_dl\extractor\common.py", line 508, in extract
    ie_result = self._real_extract(url)
  File "C:\Dev\youtube-dl\master\youtube_dl\extractor\pornhub.py", line 308, in _real_extract
    webpage = dl_webpage('pc')
  File "C:\Dev\youtube-dl\master\youtube_dl\extractor\pornhub.py", line 306, in dl_webpage
    video_id, 'Downloading %s webpage' % platform)
  File "C:\Dev\youtube-dl\master\youtube_dl\extractor\common.py", line 772, in _download_webpage
    expected_status=expected_status)
  File "C:\Dev\youtube-dl\master\youtube_dl\extractor\pornhub.py", line 39, in _download_webpage_handle
    re_opts = re.ASCII | re.DOTALL | re.VERBOSE
AttributeError: 'module' object has no attribute 'ASCII'

Does not work on python 3:
> py -3.6 .\youtube_dl\__main__.py http://www.pornhub.com/view_video.php?viewkey=648719015 -F --proxy <IP_ADDRESS>:8118 -v
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['http://www.pornhub.com/view_video.php?viewkey=648719015', '-F', '--proxy', '<IP_ADDRESS>:8118', '-v']
[debug] Encodings: locale cp1251, fs utf-8, out utf-8, pref cp1251
[debug] youtube-dl version 2019.02.18
[debug] Git HEAD: 2c8ae68
[debug] Python version 3.6.4 (CPython) - Windows-10-10.0.10240-SP0
[debug] exe versions: ffmpeg N-85653-gb4330a0, ffprobe N-85653-gb4330a0, phantomjs 2.1.1, rtmpdump 2.4
[debug] Proxy map: {'http': '<IP_ADDRESS>:8118', 'https': '<IP_ADDRESS>:8118'}
[PornHub] 648719015: Downloading pc webpage
[PornHub] 648719015: Downloading pc webpage
WARNING: [PornHub] Unable to generate RNKEY cookie:
[PornHub] Executing JS on webpage
[PornHub] 648719015: Downloading pc webpage
[info] Available formats for 648719015:
format code  extension  resolution note
240p         mp4        240p        370k
480p         mp4        480p        614k
720p         mp4        720p       1073k  (best)

Also I barely see any point in this since they are likely to start making intentional changes again to break such implementations.
Also p. 2 sounds far-fetched. Do you really beautify and then thorough check each such website's arbitrary JS before run open it in browser? I don't think so.

@dstftw many people use noscript in their web browser.


fix(File): file.has -> file.get

file.has is undefined

Current coverage is 65.50% (diff: 0.00%)

Merging #433 into master will not change coverage

@@             master       #433   diff @@
==========================================
  Files            32         32
  Lines          2661       2661
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           1743       1743
  Misses          918        918
  Partials          0          0

Powered by Codecov. Last update 586679d...74d81a6


docs: Simplify OIDC documentation

Fix OIDC documentation and simplifying  the required secret generation docs for WGE.

Documentation didn't work

How was this change implemented?

How did you validate the change?

Release notes

Documentation Changes

Good find on the namespace. Its now fixed.


Using NFSv3 in Azure StorageAccount

Hi,
Do you have any plans of supporting (beta maybe) simply using NFSv3 in a storageaccount. (Currently in preview). This would potentially be a more attractive option than using a VM ( or NetApp) due to the native Azure features available.
Regards
Thomas

any update on this now NFS has gone live. general availability

At this time adding support for Azure StorageAccount is not a priority but will be investigated in future.


In  RSS link breaks if .Site.Title has quotes (")

In the following there is an error.
https://github.com/thegeeklab/hugo-geekdoc/blob/f1a713d59a54c7c934eb931f9238c19e7beba5e4/layouts/partials/head/others.html#L19
It breaks[1] when $.Site.Title contains quotes ("). The solution is to replace that line with:
    {{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink ($.Site.Title | htmlEscape ) | safeHTML }}

[1] Meaning the title attribute ends up looking like:
title="Some "quoted name""

if .Site.Title is Some "quoted name".
This obviously won't parse as desired.

Thanks for your report. RSS/Feeds at all is not supported for this theme, so I'm going to remove the block completely for now.


Configure max push interval via ENV

use MAX_PUSH_INTERVAL to set the max push interval used to rate limit requests.

min_push_interval? It's actually a minimum between consecutive requests


Custom cache

Until proper cache management is implemented into Nextcord, cache all messages so to avoid uncached message deleted audit entries.

Development with Nextcord ended.


optimize retry per-call-attempt memory usage

We now allocate CallAttempt object (about 1.5KB) directly instead of on the call arena so that we can free it as soon as it's no longer needed.

The two incomplete tests look like infrastructure failures.


GDP data adapters need to contain two more global attributes

In the case of the GDP, NCEI requests that the following global attributes be added: time_coverage_start or time_coverage_end. This could be done in either of two ways:

Collect these attributes from the individually gathered NetCDF files and pick the first of time_coverage_start and last of time_coverage_end for the ragged array file
Determine the minimum and maximum values of the ragged array variable time and assign them to   time_coverage_start and time_coverage_end, respectively.

I would vote for #1, that way we are sure that we don't introduce different values from the source.

#2 is easier to implement, and if the resulting value is different from the source, it would mean that the source value is incorrect, which seems like it would be important to know.

Can't we just add this to the gdp adapters as new variables to bring to the ragged arrays if there are already in the files?

I guess the question is do we also want the time_coverage_start and time_coverage_end for each trajectory to be [traj] variable? And then we take the minimum and set it as a global variable? Or we only add this to the global variable?
After giving it some thought, my opinion is now that it's not that useful to have this for each trajectory (very easy to calculate..) so we could just add min(time) max(time) as global attributes (#2).

Yes, I believe we want it to be global attributes


Same issue, rename failed

First hour of using the new version on Windows the rename failed and I lost the user data.
The writer did not throw any errors, but we did learn that the tmp file is being created.
[2021-11-03T21:59:43.481Z] ERROR: [DB] Update entity user Failed: Error: ENOENT: no such file or directory, rename 'C:\audiobookshelf\config\users\tmp\data.0.json.1635976783472.tmp' -> 'C:\audiobookshelf\config\users\data\data.0.json'
Tmp file was created. Those other .old files are older failed renames, and likely their corresponding tmp file.

I know I have come across some strange issues with node fs in windows regarding file handles remaining open. I found this project:
https://github.com/isaacs/node-graceful-fs
It seems this is a known problem because graceful fs solved for it by retrying the rename in the case it fails:
On Windows, it retries renaming a file for up to one second if EACCESS or EPERM error occurs, likely because antivirus software has locked the directory.
Not very elegant unfortunately.

Just happened again, but I did not restart the server so the data.0.json wasn't re-created.
This is as expected but I just wanted to make sure we are on the same page.
I can recover the data right now before starting the server but renaming data.0.json.old to data.0.json

I went to write a function to check and fix the db files on ENOENT errors on my end, but after you removed the try catch the lockfile is not getting released.
As far as I could tell I can't release the lock and deleting the .lock directory results in proper-lockfile throwing an error.

Well, that's a bummer :( I'll take a look at graceful-fs & see if I can implement something similar, or maybe even just use it as a drop-in replacement for Node's fs. I think proper-lockfile might actually use graceful-fs "under the hood" (or at that it can be configured to do so). Either way, I'll let you know when I have something for you to try out. Thanks again for all of your help & patience w/this!

I forgot to mention another alternative. I have been using fs-extra for a while and find it incredibly useful. It is a drop-in replacement to fs so just changing fs to fs-extra is all that is needed, but it does have a few nice helper functions. It uses graceful-fs as well.
https://www.npmjs.com/package/fs-extra
Something to consider when you are looking into it.

Oh! I'm just seeing your message & I just pushed a new version of 'njodbthat usesgraceful-fs. Maybe the next one will use fs-extra` :)
This latest njodb has a bunch of code for checking & handling a range of file system-related issues, including attempting to revert "old" JSON data files if the swap for a "tmp" file isn't successful. It also has a bunch of code for handling lock-related things, too.
I've done several rounds of testing with 10 concurrent users, issuing multiple inserts of 1000 records while also selecting, updating, & deleting data in a database with over 100,000 records, and I haven't seen any unexpected issues crop up. I say "unexpected" because one recurring error is, I think, related to proper-lockfile trying to update locks that have already been released (it does its checking via a setTimeout() which I suspect sometimes winds up being triggered after the lock no longer exists).
I'm hoping that these updates take care of the various problems you've been running up against 🤞 If so, feel free to close out this issue (I'm going to leave it open until you've had a chance to do some testing). If not, it's back to the drawing board...

I have been testing for a few hours now and trying to track down another error.
https://github.com/jamesbontempo/njodb/blob/master/lib/njodb.js#L504
It turned out that line is throwing the exception:
ENOENT: no such file or directory, unlink 'C:\audiobookshelf\config\audiobooks\tmp\data.4.json.1636236380425.tmp'
This is when a store has no updates, so no data is lost here, but the lock file is never released because of the exception.
I don't know why these tmp files are still throwing ENOENT when they exist.. I still haven't been able to track that down. When the lock remains open though the database can't be updated, so if we can catch that exception in the meantime that would be great.
These file system issues with node are exhausting!

Ack! I forgot to update those two calls 😱 I've just pushed a version that will print unlink issues for the "tmp" files to the error console but shouldn't kill the process & so should allow the lock to be released🤞 And yeah, kinda exhausting ;) But I think we're almost there...

FYI, I just pushed a version w/an additional minor tweak: if the replaceFile call fails for an update or delete, the updated or deleted property of the Result object gets set to 0. I'm thinking that in a future version it would probably be helpful to provide some information about what, specifically, didn't get updated or deleted, maybe somewhere in the errors array...

I've got a few hours on testing the latest version and so far so good. The rename error gets shown but it doesn't break anything else. Hopefully in time I can get more info on why these tmp files aren't able to be renamed.
I see the updated is returning 0 but I have no way of knowing if this is 0 due to an error or 0 because there was just nothing to update. If it is 0 due to an error I could add some extra code to retry the update.
Great work so far, thank you!

Hey! Sorry I've been MIA for a bit. I totally hear you & I'm going to take a look right now at how to potentially return some detailed info about file system issues when updating or deleting data.

Alright, I just pushed a new version 👍
If an update or delete fails because of some file system issue the errors array in the results object will now contain the records that were not able to be updated or deleted. One word of caution: this array can also contain records in the db that are problematic (i.e., not parseable using JSON.parse()).
Because the errors array now contains different types of objects, you may need to check each one to make sure which type it is before doing anything with it. For example, if you're interested in parsing-related errors, while looping through the objects you can check if one contains the error property. Of course, it's possible that you're data also contains an error property, so that may not be a fail-safe way of doing things. Perhaps the best approach would be to check that the object in the array has the same "shape" as your data, and that would tell you that it's a record that couldn't be updated/deleted.
I hope that makes some sense! And I hope it will provide what you need to (at least attempt to) recover from file system-related issues.
BTW, I don't have an easy way to test these updates, so I'm sort of relying on you to help determine if they work 🙏

Hey @advplyr :) How are things going since the last update? Well, I hope! If so, I'll go ahead and close this issue out. If not, let me know what's up & we can figure out what to do next...

Hey @jamesbontempo
The same error still exists on Windows (https://github.com/jamesbontempo/njodb/issues/11#issuecomment-962517657), but since you have added the exception catch it hasn't forced me to debug.
It is still quite frequent, maybe 1 of every 20 db updates.
[Error: ENOENT: no such file or directory, unlink 'C:\audiobookshelf\config\users\tmp\data.1.json.1641642539298.tmp'] {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'unlink',
  path: 'C:\\audiobookshelf\\config\\users\\tmp\\data.1.json.1641642539298.tmp'
}
[2022-01-08T11:48:59.357Z] DEBUG: [DB] Updated user: 1

Because these tmp files don't get removed, I have about 200 tmp files in the tmp folder.

Hmmm... That is odd that updated is 0. There are two situations where this could be the case: 1) the selecter function doesn't find any matching records to update, or 2) the updater function fails.
I've just pushed a new version that adds a selected property to the update results object. I'm curious to know if selected and updated match. If they don't then that might help zero in on where things are going awry.
Could you update njodb, run things for a while, check both selected & updated when things fail, then let me know what you find?

Will do, thanks for the update.

Updated and selected match
[Error: ENOENT: no such file or directory, unlink 'C:\audiobookshelf\config\users\tmp\data.1.json.1643064656006.tmp'] {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'unlink',
  path: 'C:\\audiobookshelf\\config\\users\\tmp\\data.1.json.1643064656006.tmp'
}
[2022-01-24T22:50:56.070Z] DEBUG: [DB] Updated user: 1 | Selected: 1

Hmmm... Do you have any ENOENT error from when updated is 0? If so, is selected also 0?

What's odd about your last error there is that a "tmp" file should only ever get deleted if there are no updates (i.e., if updated is zero).
When there are updates, the data file gets an "old" extension and the "tmp" file gets renamed (not unlinked) so that it replaces the data file, and the "old" data file gets deleted (i.e., unlinked). If the renaming fails, then the "old" file is reverted back to the original and the "tmp" file is ignored (but it should be deleted... whoops!).
So, an "ENOENT: no such file or directory" error about an attempt to delete a "tmp" file should never happen when updated is greater than 0. Does that make sense?

Yeah it makes sense. I ran a few tests and have more data to complicate things. I added some logs in the updateStoreData method like so:
    if (results.updated > 0) {
        console.log('Results were updated', tempstore, `Selected: ${results.selected} | Updated: ${results.updated}`)
        if (!await replaceFile(store, tempstore)) {
            results.errors = [...results.records];
            results.updated = 0;
        }
    } else {
        console.log('NO results updated', tempstore, `Selected: ${results.selected} | Updated: ${results.updated}`)
        await deleteFile(tempstore);
        console.log('File deleted', tempstore)
    }

In audiobookshelf when a user connects to the server it updates a timestamp on the user and saves, so to test I refreshed the browser about 15 times and caught the exception 3 times.
First, here is what the successful refresh looked like:
NO results updated C:\audiobookshelf\config\users\tmp\data.1.json.1643147254996.tmp Selected: 0 | Updated: 0
File deleted C:\audiobookshelf\config\users\tmp\data.1.json.1643147254996.tmp
Results were updated C:\audiobookshelf\config\users\tmp\data.3.json.1643147254996.tmp Selected: 1 | Updated: 1
[2022-01-25T21:47:35.027Z] DEBUG: [DB] Updated user: 1 | Selected: 1

The first exception was with the rename. This happened 2 of 15 refreshes.
NO results updated C:\audiobookshelf\config\users\tmp\data.1.json.1643147233538.tmp Selected: 0 | Updated: 0
File deleted C:\audiobookshelf\config\users\tmp\data.1.json.1643147233538.tmp
Results were updated C:\audiobookshelf\config\users\tmp\data.3.json.1643147233538.tmp Selected: 1 | Updated: 1
[Error: ENOENT: no such file or directory, rename 'C:\audiobookshelf\config\users\tmp\data.3.json.1643147233538.tmp' -> 'C:\audiobookshelf\config\users\data\data.3.json'] {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'rename',
  path: 'C:\\audiobookshelf\\config\\users\\tmp\\data.3.json.1643147233538.tmp',
  dest: 'C:\\audiobookshelf\\config\\users\\data\\data.3.json'
}
[2022-01-25T21:47:13.578Z] DEBUG: [DB] Updated user: 0 | Selected: 1

This is the same one I showed before, but now we can see that the data was updated in datastore 3 successfully, which is why it was showing 1 updated.
NO results updated C:\audiobookshelf\config\users\tmp\data.1.json.1643147306904.tmp Selected: 0 | Updated: 0
[Error: ENOENT: no such file or directory, unlink 'C:\audiobookshelf\config\users\tmp\data.1.json.1643147306904.tmp'] {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'unlink',
  path: 'C:\\audiobookshelf\\config\\users\\tmp\\data.1.json.1643147306904.tmp'
}
File deleted C:\audiobookshelf\config\users\tmp\data.1.json.1643147306904.tmp
Results were updated C:\audiobookshelf\config\users\tmp\data.3.json.1643147306904.tmp Selected: 1 | Updated: 1
[2022-01-25T21:48:26.965Z] DEBUG: [DB] Updated user: 1 | Selected: 1

I was actually in the middle of adding the tempstore path to the results object so you could essentially get the same info during testing :)
So, it seems we're back to node (or libuv) thinking that the tmp file doesn't exist. In all 3 cases, can you confirm that the tmp file actually does exist? I know you've done this before, but I just want to double-check 👍
I guess at the very least, while we (continue to) try to track down the source of the file system errors, you can handle them in some way using the selected and updated values. In the case where selected != updated you can attempt to update the data again, and if selected == updated then you can ignore the error, confident that the necessary updates actually happened.

That logging was really helpful, BTW! 🙏

FYI, I just pushed an update that explicitly waits for the writer stream to open before attempting to write anything to it (for updates or deletes) based on this Stack Overflow post. I don't know if that will ensure that the tmp file gets created before throwing an error, but I figured it was worth a shot. Can you update njodb & see if the change makes a difference?

I can confirm that the tmp file is actually being created.
I had to revert back to v0.4.29 because the settings db in audiobookshelf was not updating and showing 0 selected. I haven't had a chance to debug this, but the other db's were working fine.
Reverting to previous version resolved it.

Hey @advplyr!
I recently wandered back to making some updates to njodb and, at the same time, someone submitted an issue related to records not being updated. Their issue wasn't exactly what you were experiencing, but I do find myself wondering if the updates might help you out, too. In particular, it's related to one of the last changes I referenced here in this thread:

FYI, I just pushed an update that explicitly waits for the writer stream to open before attempting to write anything to it (for updates or deletes) based on this Stack Overflow post. I don't know if that will ensure that the tmp file gets created before throwing an error, but I figured it was worth a shot.

Basically, what I just did was move all the reader-related code into the writer "open" event block. In this way, njodb doesn't even try to open any data files to find matching records to update (or delete) until the writer is open.
Again, I'm not sure this will address the issue you were having, too, but If you're still using njodb, would you be willing to try upgrading to the new version (0.4.37) & seeing if that makes a difference?
Cheers,
James

Actually, I just checked audiobookshelf and it looks like you've migrated to sqlite 👍 Given that I've made the changes I mention above & haven't been able to replicate this issue locally, & also the fact that I'm working on a new version that natively handles file-locking, I'm going to close this issue.

Hey, before Abs switched to sqlite I believe I resolved this issue for the copy of njodb Abs was using. Thanks for following up!


[DOC] Add examples for main modules on front page

Describe the issue linked to the documentation
Currently front page on github has examples for just classification and clustering, and https://www.aeon-toolkit.org/en/stable/getting_started.html does not show all modules. Good to add quick starts for all

will push this up a bit, because its actually wrong in the text atm

done for V1.0.0


🔥 Remove old Descope auth

Please, refer to corresponding PRs in hub & front to see all changes.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (4802cca) 24.55% compared to head (f3c82da) 24.55%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1490   +/-   ##
=======================================
  Coverage   24.55%   24.55%
=======================================
  Files          14       14
  Lines         558      558
=======================================
  Hits          137      137
  Misses        421      421

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


[docs suggestion] Import order of global styles

Just hit something demo-ing SC to a mate. If you do this:
import { injectGlobal } from 'styled-components'
import App from './App'

injectGlobal`
  * { all: initial; }
`

ReactDOM.render(<App />, document.getElementById('root'))

Because this file depends upon its imports, App.js is always evaluated before this file. Which means if it declares any styled components they will be inserted before the injectGlobal call here. It means something like a reset is running in the wrong order. You just need to extract another import:
import './global-styles'
import App from './App'

ReactDOM.render(<App />, document.getElementById('root'))

/* global-styles.js */
import { injectGlobal } from 'styled-components'

injectGlobal`
  * { all: initial; }
`

Then, order is preserved. This should probably be somewhere in the docs. Maybe it is already? Who knows, not me!

I think this is pretty much related to https://github.com/styled-components/styled-components/issues/1108 and we should.change the behaviour :)

Superseded by #1333, which will solve this once and for all.

Just wasted several hours because of this. I understand a fix is coming, however adding it to the documentation until then is the right thing to do.

@tysonmatanich what are you seeing? The behavior has changed a lot since this issue. Please open a new one if you have a specific bug to report.

@probablyup Not a bug, just think it would be good to call out in the documentation. The issue I encountered seems exactly the same as @geelen reported. The workaround of needing the global styles import before the App is imported works great. I'm using SSR if that impacts anything. Tried on both v3.2.5 and v3.2.6.
I thought injectGlobal just had to be called before <App />  was rendered but that is not the case. The styles import has to occur before the App import.
Works
import '../styles';
import App from '../app';


Schedule a recurring Tweet on Submit your MP Session for 2019

The MP Contributors now can submit issues to get their MP sessions, workshops, and all their knowledge transfer via virtual or in-person forms,  globally.
The reminder of that needs to be set as a tweet every week.
My recommendation is to set it for Tuesday 9am PDT, starting next Tuesday April 2nd to end of 2019. :)

@rsjames amazing turnaround on CFA submit your session via the resources page.
To finalize the CFA, a schedule tweet will keep a weekly reminder blast.
Q&A, if any-- welcomed!

@aeiras
Tweet message:
Are you a MicroProfile Speaker? Your session needs MP media coverage!  Submit an github issue  http://bit.ly/2IhxsQa (with required information)  & we will do our best to push your session to the @MicroProfile.IO #Community.

@rstjames design is perfect!
description draft is ok, lets improve it to:
Are you giving a session on 💛 #MicroProfile? If YES, your talk needs effective #MPmedia 🌎🌍🌏coverage! Simply submit an github issue http://bit.ly/2IhxsQa (with the required information). Help push your session to the @MicroProfile.IO #Community. #opensource #sharingIScaring

all scheduled.

Wonderful—ThankYOU Ryan!


API's timeouts and /memories

2 problems:

API doesn't have timeout. It could lead to the whole system outage -> APIs should have the timeout limits.
API /memories is slow, p99 in minutes -> should be in Ms.

@nquang29 sry, not /messages. it's /memories 🫣

Hi, is this issue still open?

yes @krishpranav . feel free to ask / colab with @nquang29 , looking fwd ☺

how to contact @nquang29? is it on discord or github issue?. i am looking forward to fix the issue in this project.


Tab not working after activating this package

It is a pretty fresh install and it does not work suddenly when I activate this package.
$ atom --version
Atom    : 1.13.1
Electron: 1.3.13
Chrome  : 52.0.2743.82
Node    : 6.5.0
$ apm list
Built-in Atom Packages (89)
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>
Community Packages (4) /Users/kevinsimper/.atom/packages
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>

I don't do anything with tabs outside of JSX and then only if autoIndentJSX is on. Can you try uninstalling, re-installing and restarting? I've seen issues like this when atom/packages update and atom goes into strange state.

If that doesn't do the trick can you let me have your config.cson.

Looking at the colour scheme is use when you enable Babel it doesn't look correct, variables don't seem to have a colour!. Can you press the grammar button at the bottom status bar and ensure that Babel is actually the grammar used?

This appears to be an issue with Atom itself. If you have any other info that may help determination of the cause please post it here. Closing until then.

Thank you @gandm, removed my ~/.atom and installed everything again, so it was a problem with atom.


Live demo?

Nice but is there a live demo page somewhere? Would be good to put one up or even just link to a JS Bin or Fiddle or something. Thanks!

Add in the repo description.


Added File for triton REST Input

Wasn;t this file already added with another PR ? https://github.com/red-hat-data-services/ods-ci/pull/1737/files#diff-8f1959438b51dd33fcf06829ac607da692482f66af115dcdee87177ae4e882f7

nvm, I saw it was removed by another one https://github.com/red-hat-data-services/ods-ci/pull/1777/files#diff-8f1959438b51dd33fcf06829ac607da692482f66af115dcdee87177ae4e882f7


[FR]: Authentication and Authorization

Proposal summary
It would be nice to have an authentication layer in front of the application for the open source version like in Langfuse.
Motivation
Just for a more secure approach

Hi @baniasbaabe
We are not currently planning on adding authentication features to the open source Opik platform. We do have extensive authentication features available but they require a license, feel free to reach out to the team at https://www.comet.com/site/about-us/contact-us/ to learn more.
Our current focus is on building more features for the open source platform, the playground was released in public preview this week for example. We are going to continue shipping features with online evaluations coming soon to both the Cloud and the Open Source platform !

Hi
We definitely plan on adding this functionality but it’s on the immediate roadmap based on conversations we’re having with users.
Our current focus is on building more features for the open source platform, the playground was released in public preview this week for example. We are going to continue shipping features with online evaluations coming soon
We always welcome contributions if you’d like to submit a PR with the functionality you’re looking for. Alternatively the managed version on http://comet.com has user management functionality and adding more users don’t cost any money


create fork

부산보건대학교

@0jun01 There are several files in the request, along with file.zip. It must not be there. Please remove file.zip and make pull request again.  I have to close this request without merging. Thank you for your understanding.


No option to turn off predefined date selectors

Need to hide the predefined date selectors
I built my own pre defined date selector and it has actions that isn't fit into the library's structure. The only way I can think of is pass in an empty array for the staticRanges and inputRanges but I still need to use css to hide the element.

use DateRange  - See example in RangePicker section

https://github.com/Adphorus/react-date-range/blob/master/demo/src/components/Main.js

I'm closing this, since it's answered.


PhantomJS 2.0 cannot write data to a file with extension '.json'

    var data = page.evaluate(function() {
        return document.querySelector('.export-json pre').innerHTML;
    });
    console.log(JSON.stringify(data));
    var fs = require('fs');
    fs.write(args.tmpImgDir + 'file.json', data, 'w');

The file is present at the location but it is 0 bytes and contains nothing.
It works for the extensions '.txt' and also other extensions like '.jsn', '.jso' etc (and many other random extensions) but does not work for '.json'.
OS: Windows 8.1 64 bit
Version: PhantomJS 2

unable to replicate with PhantomJS v2.1.1.
Note that you should write your fs.write() line as :
fs.write(args.tmpImgDir + 'file.json', JSON.stringify(data), 'w');

@shivanraptor Good news then. This got fixed in 2.1.1. I could reproduce it in 2.0, I upgraded to 2.1.1 and got fixed too. Thanks.


lcars-title class should have character glyphs same height as parent bar element, visually

Currently, the lcars-title class (that is seen in the solid horizontal bar with embedded text) shows the text's character glyphs with a little bit of empty space above and below the top and bottom of the bar's height. Instead, the text should visually have characters exactly the same height as the parent bar element.
My first pass at this is to add these two rules to the lcars-title class:
line-height: 1.64rem;
font-size: 2.05rem;

But I fear there may be some more subtlety and complication to this. At least as far as being font-dependent. This may be an issue where some stylus mixins/functions/etc and good documentation along with decent defaults will be particularly valuable.

In my fork I changed the display to flex on that title element and then centered the text both directions
justify-content: center
align-items: center
That is consisted with how the lcars-elements handle font adjustments and I think it gives the results you are trying for, without stressing about being exactly as high as the horizontal bar

Although you are right. Having the height match exactly is a nice effect.
Can Stylus set a CSS value that forces the uppercase style to have the same height as the other 'bar-height' items?

I'm pretty new to Stylus, and not-quite-advanced in CSS stuff, caveat et cetera. Stylus does have some functions and variables type of features, but ultimately you compile it to static CSS. So whatever challenges and limitations we have there, we'll more-or-less be up against.
So I think my answer to your question would be something like:  probably yes, and we should try it, but there may be other complications; such as: no guarantee end user didn't switch to a different font that has different proportions that completely blows all of our clever calculations out of the water.
Although even that can probably be mitigated via Stylus by having some kind of nice set of easily tweakable variables like fontProportion and fontHeadSpace which would require a Stylus recompile, yet much less work than otherwise.
I do like your flex and center approach, though. I think that would be a good plan B or in-combination change.

I read a deep-dive blog on controlling font height, and the practical answer is 'no, CSS does not have that level of font control'.
Ideas for if this had to happen would be tables of font-sizes for targeted platforms and tested font configurations. If you were trying to do it for an environment you control, like say a kiosk, that would be one thing. But creating a generalized font-height solution seems next to impossible.

Hello Xenziffen,
can you post the code from your Lcars for Example?

I have a fork with my changes.
https://github.com/xenziffen/lcars
I tried doing pull requests at first, but I haven't been active enough to
coordinate getting the features I wanted to build out into this source.
There's plenty of differences now, especially in audio and the elbow
elements.
On Wed, Sep 30, 2020, 17:07 Fr4nk1973<EMAIL_ADDRESS>wrote:

Hello Xenziffen,
can you post the code from your Lcars for Example?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/joernweissenborn/lcars/issues/38#issuecomment-701709766,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AG3PFBZY3QQWEMESSXBWA5LSIPB45ANCNFSM4K3N6BKQ
.


Orchard.Widgets - Refactor #7251

I had to leave things a bit messy so the fix could go into 1.10.x without breaking changes.
This issue is a placeholder for tracking, I will submit the PR shortly for the refactored version targeted at dev.

I thought that this would need breaking changes to IWidgetService but when I started I realised it warranted its own service so I targeted 1.10.x in the end.


Feat/index contracts

This PR implements the Contract entity with a handler for the store contract messages.

#54

Testing
Easiest way to test this feature is to run your own validator node. For this install the OKP4 contracts repository. Once that is given you have the prerequisites done do the following steps in order:

cargo make build \
cargo make chain-initialize

Find the RPC Server Configuration Options in the ./target/deploy/${CHAIN}/config.toml file and change the laddr address to "tcp://<IP_ADDRESS>:26657"

Go in the makefile and change the network option value to subql-okp4_default and add the port option: "-p 26657:26657"

cargo make chain-start

Optional: To test the permissions field add the following option to the chain-deploy-contracts transaction: --instantiate-anyof-addresses "okp414u8n76zahep9xkfr9gc3zxv5c7rf3x8wgtqj6e"

Once the node is running deploy the smart contracts:
cargo make wasm \
cargo make chain-deploy-contracts

Make sure you're using the docker image "okp4/okp4d:5.0.0" and that the broadcast-mode while deploying each smart contract is on sync.
You're now ready to connect to the chain through SubQuery! Change the chainId, endpoint and startBlock in the manifest to the following:
chainId: okp4-localnet
endpoint: http://<IP_ADDRESS>:26657
startBlock: 1

You're now ready to test! Don't forget to test all the fields. Here is a command to help you on the way (given you have the daemon installed and you use the default values):
okp4d tx wasm instantiate 3 \
--label "Testing store contract handler" \
--from alice \
--admin alice \
--gas 1000000 \
--chain-id okp4-localnet --node tcp://<IP_ADDRESS>:26657 \
'{"bucket":"https://www.youtube.com/watch?v=MPRjQNUCm8I", "config": {"hash_algorithm":"sha224", "accepted_compression_algorithms":["snappy"]}, "limits": {"max_total_size": "1000", "max_objects": "20", "max_object_size": "50", "max_object_pins": "1"}}'

To test the relation with objectarium instances you'll need to change the codeId !== "4" condition to codeId !== "3" in the handleInitObjectarium function as the code id for the objectarium smart contract is different from the testnet.

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


Rename "OSM data" example to "OpenStreetMap data"

What
Tittle change for better legibility and, in particular, spelling the "Map" word full for discoverability.
Checklist

[x] I have read and agree to Contributor Guide and the Code of Conduct
[x] I've included a screenshot or gif (if applicable)
[x] I have tested the web demo (if applicable):

Using examples from latest main build: rerun.io/viewer
Using full set of examples from nightly build: rerun.io/viewer

[x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG
[x] If applicable, add a new check to the release checklist!
[x] If have noted any breaking changes to the log API in CHANGELOG.md and the migration guide

PR Build Summary
Recent benchmark results
Wasm size tracking

To run all checks from main, comment on the PR with @rerun-bot full-check.

thaaaanks x3


Added PreferredToolArchitecture=x64

To address occasional errors on Windows
LINK : the 32-bit linker (C:\PROGRA~2\MIB055~1\2017\COMMUN~1\VC\Tools\MSVC\1414~1.264\bin\Hostx86\x86\link.exe) failed to do memory mapped file I/O on `grpc.lib' and is going to restart linking with a 64-bit linker for better throughput

and from this, setting PreferredToolArchitecture=x64 would be the right solution.

Hmm cmake doesn't use this PreferredToolArchitecture
LINK Pass 1: command "C:\PROGRA~2\MIB055~1\2017\COMMUN~1\VC\Tools\MSVC\1414~1.264\bin\Hostx86\x86\link.exe /nologo @CMakeFiles/transport_stream_receiver_test.rsp /out:transport_stream_receiver_test.exe /implib:transport_stream_receiver_test.lib /pdb:transport_stream_receiver_test.pdb /version:0.0 /machine:X86 /debug /INCREMENTAL /subsystem:console /MANIFEST /MANIFESTFILE:CMakeFiles\transport_stream_receiver_test.dir/intermediate.manifest CMakeFiles\transport_stream_receiver_test.dir/manifest.res" failed (exit code 1) with the following output:

LINK : the 32-bit linker (C:\PROGRA~2\MIB055~1\2017\COMMUN~1\VC\Tools\MSVC\1414~1.264\bin\Hostx86\x86\link.exe) failed to do memory mapped file I/O on `grpc.lib' and is going to restart linking with a 64-bit linker for better throughput

_vs_tools_architecture_windows turned out to be the right thing to configure.

grpc_build_artifacts_multiplatform: running

grpc_build_artifacts_multiplatform

FYI the grpc_build_artifacts_multiplatform has basically became a noop after cl/476587480 and https://github.com/grpc/grpc/pull/31124. For artifact build / distribtests, you should look at per-language and per-platform distribtests jobs (e.g. "Distribution Tests Python Linux" on this PR).

Hmm it seems that it still fails with this change DCMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE=x64

LINK Pass 1: command "C:\PROGRA~2\MIB055~1\2017\COMMUN~1\VC\Tools\MSVC\1414~1.264\bin\Hostx86\x86\link.exe /nologo @CMakeFiles/transport_stream_receiver_test.rsp /out:transport_stream_receiver_test.exe /implib:transport_stream_receiver_test.lib /pdb:transport_stream_receiver_test.pdb /version:0.0 /machine:X86 /debug /INCREMENTAL /subsystem:console /MANIFEST /MANIFESTFILE:CMakeFiles\transport_stream_receiver_test.dir/intermediate.manifest CMakeFiles\transport_stream_receiver_test.dir/manifest.res" failed (exit code 1) with the following output:
LINK : the 32-bit linker (C:\PROGRA~2\MIB055~1\2017\COMMUN~1\VC\Tools\MSVC\1414~1.264\bin\Hostx86\x86\link.exe) failed to do memory mapped file I/O on `grpc.lib' and is going to restart linking with a 64-bit linker for better throughput

LINK : restarting link with 64-bit linker `C:\tools\msys64\usr\bin\link.exe'

log

It still used the x86 tools set even with the option.
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.14.26428/bin/Hostx86/x86/cl.exe

-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.14.26428/bin/Hostx86/x86/cl.exe -- works

-- Detecting C compiler ABI info

-- Detecting C compiler ABI info - done

-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.14.26428/bin/Hostx86/x86/cl.exe

-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.14.26428/bin/Hostx86/x86/cl.exe -- works

Oh I just realized that windows_dbg_native_default_default_buildonly is using ninja. So all my changes for non ninja build weren't relevant at all.

I pushed a fix to this PR - let's see what the tests say.

Test passed! Thanks, Jan!


Clean-up CI

Removed the Python CI.
Moved Shell and PowerShell tests to the same job to improve CI speed.

In total, this PR removes 2 AppVeyor jobs and 4 Travis jobs.

While we still have python in the repo we should keep it in CI

But since the python code is deprecated, it should not be updated anymore (only removed), and if it's not updated anymore, do we really still need to test it in CI?

It doesn't hurt to keep it. We'll remove in march.


Correctly detect ARM Neoverse V2 CPUs.

Add CPU detection for ARM Neoverse V2 CPUs. Tested on system with an NVIDIA Grace CPU.
Note -march=armv9-a -mtune=neoverse-v2 being injected into the build process.
/OpenBLAS$ make
[...]
ln -fs libopenblas_neoversev2p-r0.3.27.dev.a libopenblas.a
for d in interface driver/level2 driver/level3 driver/others kernel ; \
do if test -d $d; then \
  make -C $d libs || exit 1 ; \
fi; \
done
make[1]: Entering directory '/OpenBLAS/interface'
make[1]: warning: -j72 forced in makefile: resetting jobserver mode.
cc -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -DMAX_PARALLEL_NUMBER=1 -DBUILD_SINGLE=1 -DBUILD_DOUBLE=1 -DBUILD_COMPLEX=1 -DBUILD_COMPLEX16=1 -DVERSION=\"0.3.27.dev\" -march=armv9-a -mtune=neoverse-v2 -UASMNAME -UASMFNAME -UNAME -UCNAME -UCHAR_NAME -UCHAR_CNAME -DASMNAME=saxpy -DASMFNAME=saxpy_ -DNAME=saxpy_ -DCNAME=saxpy -DCHAR_NAME=\"saxpy_\" -DCHAR_CNAME=\"saxpy\" -DNO_AFFINITY -I.. -I. -UDOUBLE  -UCOMPLEX -c axpy.c -o saxpy.o
[...]

make[1]: Leaving directory '/OpenBLAS/ctest'

 OpenBLAS build complete. (BLAS CBLAS LAPACK LAPACKE)

  OS               ... Linux
  Architecture     ... arm64
  BINARY           ... 64bit
  C compiler       ... GCC  (cmd & version : cc (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0)
  Fortran compiler ... GFORTRAN  (cmd & version : GNU Fortran (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0)
  Library Name     ... libopenblas_neoversev2p-r0.3.27.dev.a (Multi-threading; Max num-threads is 72)

Tests:
/OpenBLAS$ make tests
[...]

 Real CBLAS Test Program Results

 Test of subprogram number  1         CBLAS_SDOT
                                    ----- PASS -----

 Test of subprogram number  2         CBLAS_SAXPY
                                    ----- PASS -----

 Test of subprogram number  3         CBLAS_SROTG
                                    ----- PASS -----

 Test of subprogram number  4         CBLAS_SROT
                                    ----- PASS -----

 Test of subprogram number  5         CBLAS_SCOPY
                                    ----- PASS -----

 Test of subprogram number  6         CBLAS_SSWAP
                                    ----- PASS -----

 Test of subprogram number  7         CBLAS_SNRM2
                                    ----- PASS -----

 Test of subprogram number  8         CBLAS_SASUM
                                    ----- PASS -----

 Test of subprogram number  9         CBLAS_SSCAL
                                    ----- PASS -----

 Test of subprogram number 10         CBLAS_ISAMAX
                                    ----- PASS -----

 Test of subprogram number 11         CBLAS_SROTM
                                    ----- PASS -----
OPENBLAS_NUM_THREADS=2 ./xdcblat1
 Real CBLAS Test Program Results

 Test of subprogram number  1         CBLAS_DDOT
                                    ----- PASS -----

 Test of subprogram number  2         CBLAS_DAXPY
                                    ----- PASS -----

 Test of subprogram number  3         CBLAS_DROTG
                                    ----- PASS -----

 Test of subprogram number  4         CBLAS_DROT
                                    ----- PASS -----

 Test of subprogram number  5         CBLAS_DCOPY
                                    ----- PASS -----

 Test of subprogram number  6         CBLAS_DSWAP
                                    ----- PASS -----

 Test of subprogram number  7         CBLAS_DNRM2
                                    ----- PASS -----

 Test of subprogram number  8         CBLAS_DASUM
                                    ----- PASS -----

 Test of subprogram number  9         CBLAS_DSCAL
                                    ----- PASS -----

 Test of subprogram number 10         CBLAS_IDAMAX
                                    ----- PASS -----

 Test of subprogram number 11         CBLAS_DROTM
                                    ----- PASS -----
OPENBLAS_NUM_THREADS=2 ./xccblat1
 Complex CBLAS Test Program Results

 Test of subprogram number  1         CBLAS_CDOTC
                                    ----- PASS -----

 Test of subprogram number  2         CBLAS_CDOTU
                                    ----- PASS -----

 Test of subprogram number  3         CBLAS_CAXPY
                                    ----- PASS -----

 Test of subprogram number  4         CBLAS_CCOPY
                                    ----- PASS -----

 Test of subprogram number  5         CBLAS_CSWAP
                                    ----- PASS -----

 Test of subprogram number  6         CBLAS_SCNRM2
                                    ----- PASS -----

 Test of subprogram number  7         CBLAS_SCASUM
                                    ----- PASS -----

 Test of subprogram number  8         CBLAS_CSCAL
                                    ----- PASS -----

 Test of subprogram number  9         CBLAS_CSSCAL
                                    ----- PASS -----

 Test of subprogram number 10         CBLAS_ICAMAX
                                    ----- PASS -----
OPENBLAS_NUM_THREADS=2 ./xzcblat1
 Complex CBLAS Test Program Results

 Test of subprogram number  1         CBLAS_ZDOTC
                                    ----- PASS -----

 Test of subprogram number  2         CBLAS_ZDOTU
                                    ----- PASS -----

 Test of subprogram number  3         CBLAS_ZAXPY
                                    ----- PASS -----

 Test of subprogram number  4         CBLAS_ZCOPY
                                    ----- PASS -----

 Test of subprogram number  5         CBLAS_ZSWAP
                                    ----- PASS -----

 Test of subprogram number  6         CBLAS_DZNRM2
                                    ----- PASS -----

 Test of subprogram number  7         CBLAS_DZASUM
                                    ----- PASS -----

 Test of subprogram number  8         CBLAS_ZSCAL
                                    ----- PASS -----

 Test of subprogram number  9         CBLAS_ZDSCAL
                                    ----- PASS -----

 Test of subprogram number 10         CBLAS_IZAMAX
                                    ----- PASS -----
OPENBLAS_NUM_THREADS=2 ./xscblat2 < sin2
OPENBLAS_NUM_THREADS=2 ./xscblat3 < sin3
 TESTS OF THE REAL             LEVEL 2 BLAS

 THE FOLLOWING PARAMETER VALUES WILL BE USED:
   FOR N                   0     1     2     3     5     9    63
   FOR K                   0     1     2     4
   FOR INCX AND INCY       1     2    -1    -2
   FOR ALPHA             0.0   1.0   0.7
   FOR BETA              0.0   1.0   0.9

 ROUTINES PASS COMPUTATIONAL TESTS IF TEST RATIO IS LESS THAN   16.00

 COLUMN-MAJOR AND ROW-MAJOR DATA LAYOUTS ARE TESTED

 RELATIVE MACHINE PRECISION IS TAKEN TO BE  1.2E-07

 cblas_sgemv  PASSED THE TESTS OF ERROR-EXITS

 TESTS OF THE REAL             LEVEL 3 BLAS

 THE FOLLOWING PARAMETER VALUES WILL BE USED:
   FOR N                   0     1     2     3     5     9    35
   FOR ALPHA             0.0   1.0   0.7
   FOR BETA              0.0   1.0   1.3

 ROUTINES PASS COMPUTATIONAL TESTS IF TEST RATIO IS LESS THAN   16.00

 COLUMN-MAJOR AND ROW-MAJOR DATA LAYOUTS ARE TESTED

 RELATIVE MACHINE PRECISION IS TAKEN TO BE  1.2E-07

 cblas_sgemm  PASSED THE TESTS OF ERROR-EXITS

 cblas_sgemv  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  4324 CALLS)
 cblas_sgemv  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  4324 CALLS)

 cblas_sgbmv  PASSED THE TESTS OF ERROR-EXITS

 cblas_sgbmv  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS ( 17284 CALLS)
 cblas_sgemm  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS ( 27783 CALLS)
 cblas_sgbmv  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS ( 17284 CALLS)

 cblas_ssymv  PASSED THE TESTS OF ERROR-EXITS

 cblas_ssymv  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  1729 CALLS)
 cblas_ssymv  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  1729 CALLS)

 cblas_ssbmv  PASSED THE TESTS OF ERROR-EXITS

 cblas_ssbmv  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  6913 CALLS)
 cblas_ssbmv  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  6913 CALLS)

 cblas_sspmv  PASSED THE TESTS OF ERROR-EXITS

 cblas_sspmv  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  1729 CALLS)
 cblas_sspmv  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  1729 CALLS)

 cblas_strmv  PASSED THE TESTS OF ERROR-EXITS

 cblas_strmv  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (   289 CALLS)
 cblas_strmv  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (   289 CALLS)

 cblas_stbmv  PASSED THE TESTS OF ERROR-EXITS

 cblas_stbmv  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  1153 CALLS)
 cblas_stbmv  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  1153 CALLS)

 cblas_stpmv  PASSED THE TESTS OF ERROR-EXITS

 cblas_stpmv  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (   289 CALLS)
 cblas_stpmv  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (   289 CALLS)

 cblas_strsv  PASSED THE TESTS OF ERROR-EXITS

 cblas_strsv  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (   289 CALLS)
 cblas_strsv  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (   289 CALLS)

 cblas_stbsv  PASSED THE TESTS OF ERROR-EXITS

 cblas_stbsv  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  1153 CALLS)
 cblas_stbsv  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  1153 CALLS)

 cblas_stpsv  PASSED THE TESTS OF ERROR-EXITS

 cblas_stpsv  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (   289 CALLS)
 cblas_stpsv  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (   289 CALLS)

 cblas_sger   PASSED THE TESTS OF ERROR-EXITS

 cblas_sgemm  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS ( 27783 CALLS)

 cblas_ssymm  PASSED THE TESTS OF ERROR-EXITS

 cblas_sger   PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (   484 CALLS)
 cblas_sger   PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (   484 CALLS)

 cblas_ssyr   PASSED THE TESTS OF ERROR-EXITS

 cblas_ssymm  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  1764 CALLS)
 cblas_ssyr   PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (   145 CALLS)
 cblas_ssyr   PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (   145 CALLS)

 cblas_sspr   PASSED THE TESTS OF ERROR-EXITS

 cblas_sspr   PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (   145 CALLS)
 cblas_sspr   PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (   145 CALLS)

 cblas_ssyr2  PASSED THE TESTS OF ERROR-EXITS

 cblas_ssymm  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  1764 CALLS)

 cblas_strmm  PASSED THE TESTS OF ERROR-EXITS

 cblas_ssyr2  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (   577 CALLS)
 cblas_ssyr2  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (   577 CALLS)

 cblas_sspr2  PASSED THE TESTS OF ERROR-EXITS

 cblas_sspr2  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (   577 CALLS)
 cblas_sspr2  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (   577 CALLS)

 END OF TESTS
OPENBLAS_NUM_THREADS=2 ./xdcblat2 < din2
 TESTS OF THE DOUBLE PRECISION LEVEL 2 BLAS

 THE FOLLOWING PARAMETER VALUES WILL BE USED:
   FOR N                   0     1     2     3     5     9    63
   FOR K                   0     1     2     4
   FOR INCX AND INCY       1     2    -1    -2
   FOR ALPHA             0.0   1.0   0.7
   FOR BETA              0.0   1.0   0.9

 ROUTINES PASS COMPUTATIONAL TESTS IF TEST RATIO IS LESS THAN   16.00

 COLUMN-MAJOR AND ROW-MAJOR DATA LAYOUTS ARE TESTED

 RELATIVE MACHINE PRECISION IS TAKEN TO BE  2.2D-16

 cblas_dgemv  PASSED THE TESTS OF ERROR-EXITS

 cblas_strmm  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  3528 CALLS)
 cblas_dgemv  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  4324 CALLS)
 cblas_strmm  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  3528 CALLS)

 cblas_strsm  PASSED THE TESTS OF ERROR-EXITS

 cblas_dgemv  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  4324 CALLS)

 cblas_dgbmv  PASSED THE TESTS OF ERROR-EXITS

 cblas_strsm  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  3528 CALLS)
 cblas_dgbmv  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS ( 17284 CALLS)
 cblas_strsm  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  3528 CALLS)

 cblas_ssyrk  PASSED THE TESTS OF ERROR-EXITS

 cblas_ssyrk  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  2646 CALLS)
 cblas_dgbmv  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS ( 17284 CALLS)

 cblas_dsymv  PASSED THE TESTS OF ERROR-EXITS

 cblas_ssyrk  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  2646 CALLS)

 cblas_ssyr2k PASSED THE TESTS OF ERROR-EXITS

 cblas_dsymv  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  1729 CALLS)
 cblas_dsymv  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  1729 CALLS)

 cblas_dsbmv  PASSED THE TESTS OF ERROR-EXITS

 cblas_ssyr2k PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  2646 CALLS)
 cblas_dsbmv  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  6913 CALLS)
 cblas_dsbmv  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  6913 CALLS)

 cblas_dspmv  PASSED THE TESTS OF ERROR-EXITS

 cblas_ssyr2k PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  2646 CALLS)

 END OF TESTS
OPENBLAS_NUM_THREADS=2 ./xdcblat3 < din3
 TESTS OF THE DOUBLE PRECISION LEVEL 3 BLAS

 THE FOLLOWING PARAMETER VALUES WILL BE USED:
   FOR N                   1     2     3     5     7     9    35
   FOR ALPHA             0.0   1.0   0.7
   FOR BETA              0.0   1.0   1.3

 ROUTINES PASS COMPUTATIONAL TESTS IF TEST RATIO IS LESS THAN   16.00

 COLUMN-MAJOR AND ROW-MAJOR DATA LAYOUTS ARE TESTED

 RELATIVE MACHINE PRECISION IS TAKEN TO BE  2.2D-16

 cblas_dgemm  PASSED THE TESTS OF ERROR-EXITS

 cblas_dspmv  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  1729 CALLS)
 cblas_dspmv  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  1729 CALLS)

 cblas_dtrmv  PASSED THE TESTS OF ERROR-EXITS

 cblas_dtrmv  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (   289 CALLS)
 cblas_dtrmv  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (   289 CALLS)

 cblas_dtbmv  PASSED THE TESTS OF ERROR-EXITS

 cblas_dtbmv  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  1153 CALLS)
 cblas_dtbmv  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  1153 CALLS)

 cblas_dtpmv  PASSED THE TESTS OF ERROR-EXITS

 cblas_dtpmv  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (   289 CALLS)
 cblas_dtpmv  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (   289 CALLS)

 cblas_dtrsv  PASSED THE TESTS OF ERROR-EXITS

 cblas_dtrsv  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (   289 CALLS)
 cblas_dtrsv  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (   289 CALLS)

 cblas_dtbsv  PASSED THE TESTS OF ERROR-EXITS

 cblas_dtbsv  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  1153 CALLS)
 cblas_dtbsv  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  1153 CALLS)

 cblas_dtpsv  PASSED THE TESTS OF ERROR-EXITS

 cblas_dtpsv  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (   289 CALLS)
 cblas_dtpsv  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (   289 CALLS)

 cblas_dger   PASSED THE TESTS OF ERROR-EXITS

 cblas_dger   PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (   484 CALLS)
 cblas_dger   PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (   484 CALLS)

 cblas_dsyr   PASSED THE TESTS OF ERROR-EXITS

 cblas_dsyr   PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (   145 CALLS)
 cblas_dsyr   PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (   145 CALLS)

 cblas_dspr   PASSED THE TESTS OF ERROR-EXITS

 cblas_dspr   PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (   145 CALLS)
 cblas_dspr   PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (   145 CALLS)

 cblas_dsyr2  PASSED THE TESTS OF ERROR-EXITS

 cblas_dsyr2  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (   577 CALLS)
 cblas_dsyr2  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (   577 CALLS)

 cblas_dspr2  PASSED THE TESTS OF ERROR-EXITS

 cblas_dspr2  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (   577 CALLS)
 cblas_dspr2  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (   577 CALLS)

 END OF TESTS
OPENBLAS_NUM_THREADS=2 ./xccblat2 < cin2
 TESTS OF THE COMPLEX          LEVEL 2 BLAS

 THE FOLLOWING PARAMETER VALUES WILL BE USED:
   FOR N                   0     1     2     3     5     9    63
   FOR K                   0     1     2     4
   FOR INCX AND INCY       1     2    -1    -2
   FOR ALPHA          ( 0.0, 0.0)  ( 1.0, 0.0)  ( 0.7,-0.9)
   FOR BETA           ( 0.0, 0.0)  ( 1.0, 0.0)  ( 1.3,-1.1)

 ROUTINES PASS COMPUTATIONAL TESTS IF TEST RATIO IS LESS THAN   16.00

 COLUMN-MAJOR AND ROW-MAJOR DATA LAYOUTS ARE TESTED

 RELATIVE MACHINE PRECISION IS TAKEN TO BE  1.2E-07

 cblas_cgemv  PASSED THE TESTS OF ERROR-EXITS

 cblas_cgemv  PASSED THE COMPUTATIONAL TESTS (  4324 CALLS)
 cblas_dgemm  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS ( 27783 CALLS)
 cblas_cgemv  PASSED THE COMPUTATIONAL TESTS (  4324 CALLS)

 cblas_cgbmv  PASSED THE TESTS OF ERROR-EXITS

 cblas_cgbmv  PASSED THE COMPUTATIONAL TESTS ( 17284 CALLS)
 cblas_dgemm  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS ( 27783 CALLS)

 cblas_dsymm  PASSED THE TESTS OF ERROR-EXITS

 cblas_dsymm  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  1764 CALLS)
 cblas_cgbmv  PASSED THE COMPUTATIONAL TESTS ( 17284 CALLS)

 cblas_chemv  PASSED THE TESTS OF ERROR-EXITS

 cblas_dsymm  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  1764 CALLS)

 cblas_dtrmm  PASSED THE TESTS OF ERROR-EXITS

 cblas_chemv  PASSED THE COMPUTATIONAL TESTS (  1729 CALLS)
 cblas_chemv  PASSED THE COMPUTATIONAL TESTS (  1729 CALLS)

 cblas_chbmv  PASSED THE TESTS OF ERROR-EXITS

 cblas_dtrmm  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  3528 CALLS)
 cblas_chbmv  PASSED THE COMPUTATIONAL TESTS (  6913 CALLS)
 cblas_dtrmm  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  3528 CALLS)

 cblas_dtrsm  PASSED THE TESTS OF ERROR-EXITS

 cblas_chbmv  PASSED THE COMPUTATIONAL TESTS (  6913 CALLS)

 cblas_chpmv  PASSED THE TESTS OF ERROR-EXITS

 cblas_chpmv  PASSED THE COMPUTATIONAL TESTS (  1729 CALLS)
 cblas_chpmv  PASSED THE COMPUTATIONAL TESTS (  1729 CALLS)

 cblas_ctrmv  PASSED THE TESTS OF ERROR-EXITS

 cblas_ctrmv  PASSED THE COMPUTATIONAL TESTS (   289 CALLS)
 cblas_ctrmv  PASSED THE COMPUTATIONAL TESTS (   289 CALLS)

 cblas_ctbmv  PASSED THE TESTS OF ERROR-EXITS

 cblas_dtrsm  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  3528 CALLS)
 cblas_ctbmv  PASSED THE COMPUTATIONAL TESTS (  1153 CALLS)
 cblas_ctbmv  PASSED THE COMPUTATIONAL TESTS (  1153 CALLS)

 cblas_ctpmv  PASSED THE TESTS OF ERROR-EXITS

 cblas_ctpmv  PASSED THE COMPUTATIONAL TESTS (   289 CALLS)
 cblas_ctpmv  PASSED THE COMPUTATIONAL TESTS (   289 CALLS)

 cblas_ctrsv  PASSED THE TESTS OF ERROR-EXITS

 cblas_ctrsv  PASSED THE COMPUTATIONAL TESTS (   289 CALLS)
 cblas_ctrsv  PASSED THE COMPUTATIONAL TESTS (   289 CALLS)

 cblas_ctbsv  PASSED THE TESTS OF ERROR-EXITS

 cblas_ctbsv  PASSED THE COMPUTATIONAL TESTS (  1153 CALLS)
 cblas_ctbsv  PASSED THE COMPUTATIONAL TESTS (  1153 CALLS)

 cblas_ctpsv  PASSED THE TESTS OF ERROR-EXITS

 cblas_ctpsv  PASSED THE COMPUTATIONAL TESTS (   289 CALLS)
 cblas_dtrsm  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  3528 CALLS)

 cblas_dsyrk  PASSED THE TESTS OF ERROR-EXITS

 cblas_ctpsv  PASSED THE COMPUTATIONAL TESTS (   289 CALLS)

 cblas_cgeru  PASSED THE TESTS OF ERROR-EXITS

 cblas_cgerc  PASSED THE COMPUTATIONAL TESTS (   484 CALLS)
 cblas_dsyrk  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  2646 CALLS)
 cblas_cgerc  PASSED THE COMPUTATIONAL TESTS (   484 CALLS)

 cblas_cgeru  PASSED THE TESTS OF ERROR-EXITS

 cblas_dsyrk  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  2646 CALLS)

 cblas_dsyr2k PASSED THE TESTS OF ERROR-EXITS

 cblas_cgeru  PASSED THE COMPUTATIONAL TESTS (   484 CALLS)
 cblas_cgeru  PASSED THE COMPUTATIONAL TESTS (   484 CALLS)

 cblas_cher   PASSED THE TESTS OF ERROR-EXITS

 cblas_dsyr2k PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  2646 CALLS)
 cblas_cher   PASSED THE COMPUTATIONAL TESTS (   145 CALLS)
 cblas_cher   PASSED THE COMPUTATIONAL TESTS (   145 CALLS)

 cblas_chpr   PASSED THE TESTS OF ERROR-EXITS

 cblas_chpr   PASSED THE COMPUTATIONAL TESTS (   145 CALLS)
 cblas_chpr   PASSED THE COMPUTATIONAL TESTS (   145 CALLS)

 cblas_cher2  PASSED THE TESTS OF ERROR-EXITS

 cblas_cher2  PASSED THE COMPUTATIONAL TESTS (   577 CALLS)
 cblas_dsyr2k PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  2646 CALLS)

 END OF TESTS
OPENBLAS_NUM_THREADS=2 ./xccblat3 < cin3
 TESTS OF THE COMPLEX          LEVEL 3 BLAS

 THE FOLLOWING PARAMETER VALUES WILL BE USED:
   FOR N                   0     1     2     3     5     9
   FOR ALPHA          ( 0.0, 0.0)  ( 1.0, 0.0)  ( 0.7,-0.9)
   FOR BETA           ( 0.0, 0.0)  ( 1.0, 0.0)  ( 1.3,-1.1)

 ROUTINES PASS COMPUTATIONAL TESTS IF TEST RATIO IS LESS THAN   16.00

 COLUMN-MAJOR AND ROW-MAJOR DATA LAYOUTS ARE TESTED

 RELATIVE MACHINE PRECISION IS TAKEN TO BE  1.2E-07

 cblas_cgemm  PASSED THE TESTS OF ERROR-EXITS

 cblas_cher2  PASSED THE COMPUTATIONAL TESTS (   577 CALLS)

 cblas_chpr2  PASSED THE TESTS OF ERROR-EXITS

 cblas_chpr2  PASSED THE COMPUTATIONAL TESTS (   577 CALLS)
 cblas_cgemm  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS ( 17496 CALLS)
 cblas_chpr2  PASSED THE COMPUTATIONAL TESTS (   577 CALLS)

 END OF TESTS
OPENBLAS_NUM_THREADS=2 ./xzcblat2 < zin2
 TESTS OF THE COMPLEX*16      LEVEL 2 BLAS

 THE FOLLOWING PARAMETER VALUES WILL BE USED:
   FOR N                   0     1     2     3     5     9    63
   FOR K                   0     1     2     4
   FOR INCX AND INCY       1     2    -1    -2
   FOR ALPHA          ( 0.0, 0.0)  ( 1.0, 0.0)  ( 0.7,-0.9)
   FOR BETA           ( 0.0, 0.0)  ( 1.0, 0.0)  ( 1.3,-1.1)

 ROUTINES PASS COMPUTATIONAL TESTS IF TEST RATIO IS LESS THAN   16.00

 COLUMN-MAJOR AND ROW-MAJOR DATA LAYOUTS ARE TESTED

 RELATIVE MACHINE PRECISION IS TAKEN TO BE  2.2E-16

 cblas_zgemv  PASSED THE TESTS OF ERROR-EXITS

 cblas_cgemm  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS ( 17496 CALLS)

 cblas_chemm  PASSED THE TESTS OF ERROR-EXITS

 cblas_chemm  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  1296 CALLS)
 cblas_chemm  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  1296 CALLS)

 cblas_csymm  PASSED THE TESTS OF ERROR-EXITS

 cblas_csymm  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  1296 CALLS)
 cblas_csymm  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  1296 CALLS)

 cblas_ctrmm  PASSED THE TESTS OF ERROR-EXITS

 cblas_ctrmm  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  2592 CALLS)
 cblas_ctrmm  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  2592 CALLS)

 cblas_ctrsm  PASSED THE TESTS OF ERROR-EXITS

 cblas_zgemv  PASSED THE COMPUTATIONAL TESTS (  4324 CALLS)
 cblas_ctrsm  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  2592 CALLS)
 cblas_ctrsm  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  2592 CALLS)

 cblas_cherk  PASSED THE TESTS OF ERROR-EXITS

 cblas_cherk  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  1296 CALLS)
 cblas_cherk  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  1296 CALLS)

 cblas_csyrk  PASSED THE TESTS OF ERROR-EXITS

 cblas_csyrk  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  1296 CALLS)
 cblas_csyrk  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  1296 CALLS)

 cblas_cher2k PASSED THE TESTS OF ERROR-EXITS

 cblas_cher2k PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  1296 CALLS)
 cblas_cher2k PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  1296 CALLS)

 cblas_csyr2k PASSED THE TESTS OF ERROR-EXITS

 cblas_csyr2k PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  1296 CALLS)
 cblas_csyr2k PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  1296 CALLS)

 END OF TESTS
OPENBLAS_NUM_THREADS=2 ./xzcblat3 < zin3
TESTS OF THE COMPLEX*16        LEVEL 3 BLAS

 THE FOLLOWING PARAMETER VALUES WILL BE USED:
   FOR N                   0     1     2     3     5     9    35
   FOR ALPHA          ( 0.0, 0.0)  ( 1.0, 0.0)  ( 0.7,-0.9)
   FOR BETA           ( 0.0, 0.0)  ( 1.0, 0.0)  ( 1.3,-1.1)

 ROUTINES PASS COMPUTATIONAL TESTS IF TEST RATIO IS LESS THAN   16.00

 COLUMN-MAJOR AND ROW-MAJOR DATA LAYOUTS ARE TESTED

 RELATIVE MACHINE PRECISION IS TAKEN TO BE  2.2E-16

 cblas_zgemm  PASSED THE TESTS OF ERROR-EXITS

 cblas_zgemv  PASSED THE COMPUTATIONAL TESTS (  4324 CALLS)

 cblas_zgbmv  PASSED THE TESTS OF ERROR-EXITS

 cblas_zgbmv  PASSED THE COMPUTATIONAL TESTS ( 17284 CALLS)
 cblas_zgbmv  PASSED THE COMPUTATIONAL TESTS ( 17284 CALLS)

 cblas_zhemv  PASSED THE TESTS OF ERROR-EXITS

 cblas_zhemv  PASSED THE COMPUTATIONAL TESTS (  1729 CALLS)
 cblas_zgemm  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS ( 27783 CALLS)
 cblas_zhemv  PASSED THE COMPUTATIONAL TESTS (  1729 CALLS)

 cblas_zhbmv  PASSED THE TESTS OF ERROR-EXITS

 cblas_zhbmv  PASSED THE COMPUTATIONAL TESTS (  6913 CALLS)
 cblas_zhbmv  PASSED THE COMPUTATIONAL TESTS (  6913 CALLS)

 cblas_zhpmv  PASSED THE TESTS OF ERROR-EXITS

 cblas_zhpmv  PASSED THE COMPUTATIONAL TESTS (  1729 CALLS)
 cblas_zhpmv  PASSED THE COMPUTATIONAL TESTS (  1729 CALLS)

 cblas_ztrmv  PASSED THE TESTS OF ERROR-EXITS

 cblas_ztrmv  PASSED THE COMPUTATIONAL TESTS (   289 CALLS)
 cblas_ztrmv  PASSED THE COMPUTATIONAL TESTS (   289 CALLS)

 cblas_ztbmv  PASSED THE TESTS OF ERROR-EXITS

 cblas_ztbmv  PASSED THE COMPUTATIONAL TESTS (  1153 CALLS)
 cblas_ztbmv  PASSED THE COMPUTATIONAL TESTS (  1153 CALLS)

 cblas_ztpmv  PASSED THE TESTS OF ERROR-EXITS

 cblas_ztpmv  PASSED THE COMPUTATIONAL TESTS (   289 CALLS)
 cblas_ztpmv  PASSED THE COMPUTATIONAL TESTS (   289 CALLS)

 cblas_ztrsv  PASSED THE TESTS OF ERROR-EXITS

 cblas_ztrsv  PASSED THE COMPUTATIONAL TESTS (   289 CALLS)
 cblas_ztrsv  PASSED THE COMPUTATIONAL TESTS (   289 CALLS)

 cblas_ztbsv  PASSED THE TESTS OF ERROR-EXITS

 cblas_ztbsv  PASSED THE COMPUTATIONAL TESTS (  1153 CALLS)
 cblas_ztbsv  PASSED THE COMPUTATIONAL TESTS (  1153 CALLS)

 cblas_ztpsv  PASSED THE TESTS OF ERROR-EXITS

 cblas_ztpsv  PASSED THE COMPUTATIONAL TESTS (   289 CALLS)
 cblas_ztpsv  PASSED THE COMPUTATIONAL TESTS (   289 CALLS)

 cblas_zgeru  PASSED THE TESTS OF ERROR-EXITS

 cblas_zgerc  PASSED THE COMPUTATIONAL TESTS (   484 CALLS)
 cblas_zgerc  PASSED THE COMPUTATIONAL TESTS (   484 CALLS)

 cblas_zgeru  PASSED THE TESTS OF ERROR-EXITS

 cblas_zgemm  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS ( 27783 CALLS)

 cblas_zhemm  PASSED THE TESTS OF ERROR-EXITS

 cblas_zgeru  PASSED THE COMPUTATIONAL TESTS (   484 CALLS)
 cblas_zgeru  PASSED THE COMPUTATIONAL TESTS (   484 CALLS)

 cblas_zher   PASSED THE TESTS OF ERROR-EXITS

 cblas_zher   PASSED THE COMPUTATIONAL TESTS (   145 CALLS)
 cblas_zhemm  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  1764 CALLS)
 cblas_zher   PASSED THE COMPUTATIONAL TESTS (   145 CALLS)

 cblas_zhpr   PASSED THE TESTS OF ERROR-EXITS

 cblas_zhpr   PASSED THE COMPUTATIONAL TESTS (   145 CALLS)
 cblas_zhpr   PASSED THE COMPUTATIONAL TESTS (   145 CALLS)

 cblas_zher2  PASSED THE TESTS OF ERROR-EXITS

 cblas_zher2  PASSED THE COMPUTATIONAL TESTS (   577 CALLS)
 cblas_zhemm  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  1764 CALLS)

 cblas_zsymm  PASSED THE TESTS OF ERROR-EXITS

 cblas_zher2  PASSED THE COMPUTATIONAL TESTS (   577 CALLS)

 cblas_zhpr2  PASSED THE TESTS OF ERROR-EXITS

 cblas_zsymm  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  1764 CALLS)
 cblas_zhpr2  PASSED THE COMPUTATIONAL TESTS (   577 CALLS)
 cblas_zhpr2  PASSED THE COMPUTATIONAL TESTS (   577 CALLS)

 END OF TESTS
 cblas_zsymm  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  1764 CALLS)

 cblas_ztrmm  PASSED THE TESTS OF ERROR-EXITS

 cblas_ztrmm  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  3528 CALLS)
 cblas_ztrmm  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  3528 CALLS)

 cblas_ztrsm  PASSED THE TESTS OF ERROR-EXITS

 cblas_ztrsm  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  3528 CALLS)
 cblas_ztrsm  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  3528 CALLS)

 cblas_zherk  PASSED THE TESTS OF ERROR-EXITS

 cblas_zherk  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  1764 CALLS)
 cblas_zherk  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  1764 CALLS)

 cblas_zsyrk  PASSED THE TESTS OF ERROR-EXITS

 cblas_zsyrk  PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  1764 CALLS)
 cblas_zsyrk  PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  1764 CALLS)

 cblas_zher2k PASSED THE TESTS OF ERROR-EXITS

 cblas_zher2k PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  1764 CALLS)
 cblas_zher2k PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  1764 CALLS)

 cblas_zsyr2k PASSED THE TESTS OF ERROR-EXITS

 cblas_zsyr2k PASSED THE COLUMN-MAJOR COMPUTATIONAL TESTS (  1764 CALLS)
 cblas_zsyr2k PASSED THE ROW-MAJOR    COMPUTATIONAL TESTS (  1764 CALLS)

 END OF TESTS
make[1]: Leaving directory '/OpenBLAS/ctest'

not sure if that offers an improvement over its current fallback to the ARMV8SVE target, unless one also copies and adapts all relevant parameters in param.h - which is why we stopped at making sure it gets recognized in DYNAMIC_ARCH builds for now (#4444)

not sure if that offers an improvement over its current fallback to the ARMV8SVE target, unless one also copies and adapts all relevant parameters in param.h - which is why we stopped at making sure it gets recognized in DYNAMIC_ARCH builds for now (#4444)

You are partly correct. However, this will trigger compilation with -mtune=neoverse-v2. The head revision, will not emit the correct platform-specific compiler flags. This change will fix that.

In your experience, does correct setting of -mtune alone have an appreciable effect on performance ?

In your experience, does correct setting of -mtune alone have an appreciable effect on performance ?

In fact, yes. It has a tremendous effect on the generated assembly in ARM systems. I will demonstrate this with a toy example on Godbolt https://godbolt.org/z/7ob55rf5x , which checks whether there is a NaN or Infinite value in an array.
Without -mtune=neoverse-v2 (top), the compiler must assume the minimum spec of any armv9-a CPU. You can see that in the loop starting at jump mark .L4:.
With -mtune=neoverse-v2 (bottom), GCC can capitalize on the fact that Neoverse-V2 CPUs can schedule abs and smax on all 4 V pipelines, which leads optimized code after .L4:.

Neoverse V2
Instruction
Latency
Throughput
Pipelines

ASIMD arith, basic
ABS, ...
2
4
V

ASIMD max/min, basic and pairwise
SMAX, ...
2
4
V

Source: https://developer.arm.com/documentation/109898/latest

Ok, thanks. I'll need to expand our benchmarks to include V2 to see the actual impact myself (given that most kernels already use assembly and the interface/driver code in C should not matter that much) but I trust you already compared e.g. GEMM performance before&after. (may need to rethink #4444 and the plans to curb the proliferation of cpu configurations...)


[RFR] Parser should refuse edited and deleted comments

Are you sure about ignoring edited comments ? If an incorrect sedy comment was added, shouldn't we be able to fix it so that sedy can proceed ?

I prefer that a user should delete and re-make its comment instead of edit-it, I'm not confident with the side-effect of comment changes.


High variability in cow's lactation period number

Select cows with sufficient data points on consecutive lactation periods
Need to ensure the sequence of time delta happens at the same period before labeling the data with good/bad learner tags.
Try to collect cow's data that contain milking events between lactation periods 1~2.

Solved in PR #9


OSerror MAC

I can't seem to open brunnhilde. I keep getting this error:
oliviervandhuynslager@mbp-van-olivier ~ % brunnhilde.py -z "/Users/oliviervandhuynslager/Desktop/foto's" /Users/oliviervandhuynslager/Desktop/test-1
Traceback (most recent call last):
File "/usr/local/bin/brunnhilde.py", line 898, in
main()
File "/usr/local/bin/brunnhilde.py", line 649, in main
siegfried_version = subprocess.check_output(["sf", "-version"]).decode()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 216, in check_output
process = Popen(stdout=PIPE, *popenargs, **kwargs)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 394, in init
errread, errwrite)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1047, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory

Hi Olivier. From the output you've copied here, it looks like the issue is that Siegfried isn't installed on your system. See the relevant section of the README for info on that.
If Siegfried is installed, it's possible that it's not on the system PATH. If that's the issue, the Siegfried troubleshooting guide might be helpful.


Used grouped imports

Because we generally prefer this style.
Test Plan
CI

There is probably not enough consensus about which format to prefer so there is no lint against. I don't think we need to enforce it either.


Typo in credit workaround feature name

I left the old name as an alias so no code should break.

well that's an embarrasing typo.
can you remove the alias? this is not on crates.io yet so breaking changes are fine.

Sure thing!


Fixed lifetimes

This PR implements the new lifetimes needed for #[derive(SystemParam)] to work.
To be honest, I'm not entirely sure what 'w and 's are meant to represent. However, this seems to have fixed my own Bevy project. I'd appreciate if someone were able to double-check it.

Thanks!