OpenMP not working when installing from source

General information

Corrfunc version: 2.4.0
platform: cluster with CentOS 7.4.1708
installation method (pip/source/other?): first pip, then source

Issue description
i’m running Corrfunc on a simulation snapshot: i’m computing the angular correlation function in thin shells using DDtheta_mocks. I first installed Corrfunc via pip, then, in order to increase performance, via source:
$ git clone https://github.com/manodeep/Corrfunc/
$ make
$ make install
$ python -m pip install . --user
$ make tests
However, while with the pip install the code would parallelize on multiple threads, now it runs mostly on one thread. I’m submitting my SLURM job via:
#!/bin/bash
#SBATCH --ntasks=1
#SBATCH --nodes=1
#SBATCH --mem=480000
#SBATCH --exclusive
[…]
export OMP_NUM_THREADS=48
srun -n 1 python -u $PY_CODE > $LOGS
Expected behavior
To run on 48 threads at ~100%.
Actual behavior
To mostly run on 1 thread. I checked with htop.
What have you tried so far?
To re-install it from source.
Minimal failing example
i’m attaching the log file corrfunc-logs.txt, including the 'make tests'.

Hi, @valerio-marra, it seems to build okay (using OpenMP), so maybe it's an affinity issue.  Does the behavior change when you specify #SBATCH -c 48? I would have thought that --exclusive would have taken care of that, but you never know...  Maybe try passing -c in srun -c 48 -n1 python -u $PY_CODE [...] as well.
Can you also double-check that the OMP_PROC_BIND and OMP_PLACES bash environment variables are unset?  Setting OMP_DISPLAY_ENV=TRUE will print their values when the application starts and can help debug.
Does the parallelism work locally, and fail through Slurm? Or does it always run single-threaded?
If the parallelism worked with pip installation but not from source, and you're invoking it with the exact same Slurm script, then it might be an OpenMP library issue, e.g. python is linked against one OpenMP and Corrfunc another. Since you're using Anaconda, you can try to build Corrfunc with Anaconda's compilers instead:
$ conda install gcc_linux-64
$ cd Corrfunc/
$ CC=x86_64-conda_cos6-linux-gnu-gcc make  # or better yet edit CC in common.mk
$ pip install -e ./

The name x86_64-conda_cos6-linux-gnu-gcc  might be different on your platform. I think installing the conda compiler package is actually supposed to alias gcc to the conda compiler; you can check.

hi, thanks! i tried what you suggested and nothing worked. Actually, i assumed the code was working in single thread (and killed it because it was taking too long) but when i call DDtheta_mocks, it just keeps running without doing anything. I reduced the number of particles to 10**4 and it does not produce anything (it takes a few seconds on my laptop).
When i first installed Corrfunc via pip, it was working. I tried to re-install it via pip, but it does not work anymore (when i call DDtheta_mocks, it just keeps running without doing anything).  I think the problem is that it is loaded the old system gcc instead of the conda one (that i installed as you suggested).

It might be running, but just very very slowly because 48 threads are fighting for one core. If you run it with DDtheta_mocks(..., nthreads=1), does it complete?
I also just realized I got the syntax wrong for the make command, it should be:
$ make CC=x86_64-conda_cos6-linux-gnu-gcc

You may have realized this already if you saw Corrfunc was still building with gcc instead of that long compiler name.

Thanks @lgarrison
For a one-line solution (may be in modern enough pip versions?), you can use the install-option parameter -- python -m pip install --install-option="CC=x86_64-conda_cos6-linux-gnu-gcc" -e . --verbose

Hi @lgarrison, regarding the compilation, indeed it was using the system gcc, but i edited CC in common.mk.
I’m attaching the compilation logs, it gave this warnings:
../common.mk:371: DISABLING AVX-512 SUPPORT DUE TO GNU ASSEMBLER BUG.  UPGRADE TO BINUTILS >=2.32 TO FIX THIS.
How can I update BINUTILS?
Regarding verbose=True, I’ve been using it and it works on my laptop but when i run the script via slurm it does not show anything. Again, it seems that DDtheta_mocks just keeps running without doing anything.
Regarding OMP_DISPLAY_ENV=TRUE, i’m attaching the logs.
OPENMP DISPLAY ENVIRONMENT BEGIN
  _OPENMP = '201511'
  OMP_DYNAMIC = 'FALSE'
  OMP_NESTED = 'FALSE'
  OMP_NUM_THREADS = '48'
  OMP_SCHEDULE = 'DYNAMIC'
  OMP_PROC_BIND = 'FALSE'
  OMP_PLACES = ''
  OMP_STACKSIZE = '0'
  OMP_WAIT_POLICY = 'PASSIVE'
  OMP_THREAD_LIMIT = '4294967295'
  OMP_MAX_ACTIVE_LEVELS = '2147483647'
  OMP_CANCELLATION = 'FALSE'
  OMP_DEFAULT_DEVICE = '0'
  OMP_MAX_TASK_PRIORITY = '0'
  OMP_DISPLAY_AFFINITY = 'FALSE'
  OMP_AFFINITY_FORMAT = 'level %L thread %i affinity %A'
OPENMP DISPLAY ENVIRONMENT END

Regarding running with nthreads=1, same as before: DDtheta_mocks just keeps running without doing anything.

I think I'm running out of ideas, other than to try yet more compilers and/or Python stacks. If your cluster has other compilers (e.g. clang, icc, other versions of gcc) available via modules (module load clang...), that would probably be the easiest way to try. Same with different Python environments (e.g. try a clean conda environment, or a non-conda environment if you have module load python).
Another thought: if you have a cluster where the submission nodes might have a different architecture than the compute nodes, make sure you build on the compute nodes.
If you want to confirm that the issue is OpenMP related, you can disable OpenMP support by commenting out OPT += -DUSE_OMP in common.mk.
I wouldn't worry about the binutils bug for now, it's secondary to the code running at all.
@manodeep do you have any ideas?

thanks, @lgarrison , i'll try that (I already tried using a clean conda environment).
Could it be that the uninstalled pip version is still being called? Otherwise, why make tests is successful?
One more thing: you said "double-check that the OMP_PROC_BIND and OMP_PLACES bash environment variables are unset" but it seems that it is OMP_PROC_BIND = 'FALSE'. Is this a problem?

Oh, that's true, I didn't read the logs carefully enough! I just assumed the C tests were passing, but it looks like the Python tests are passing too. Maybe the issue is exactly what you suggested, and you're installing in one environment and running in another.  Make sure to repeat pip uninstall Corrfunc until no more installations are remaining. Don't run it from inside the Corrfunc source directory. Then reinstall in a fresh environment, and make sure it's loaded when you are running your Python script.  Use print(Corrfunc.__file__) to see what installation is being used. (This is all just general advice for managing Python packages, nothing here is specific to Corrfunc.)
OMP_PROC_BIND = 'FALSE' is fine, that's the same as unset.

@lgarrison , @manodeep i found the problem: if i set verbose=False then it works! I was always using verbose=True. Is this a bug or a compilation issue?

Wow, that's pretty unusual! Glad it's working. I see you were running with Python in unbuffered mode with python -u $CODE, does verbose=True work if you remove the -u?
I will note we've seen one other instance of verbose causing problems here: #224, but it still seems to be a rare problem.

@lgarrison if i remove -u it does work, although it updates the log file with low cadence and, actually, it does not print the info that verbose=True usually prints, that is, it is as if i set verbose=False. Does verbose=True work only in interactive mode?
Should I fix the binutils bug to increase performance? I'll run my code on hundreds of snapshots.

Okay, I think I might understand the root cause here. It's probably this issue: https://github.com/minrk/wurlitzer/issues/20
Specifically, we're filling up some buffer (or perhaps even blocking while trying to do an unbuffered write), but the code that drains the buffer (in Wurlitzer) is at the Python level. And that code can't run because we don't release the GIL when we call into Corrfunc.
I'll need to think about the right way to fix this.  Releasing the GIL is probably something we ought to be doing anyway, although it will need to be tested.  In addition, it's possible that we're not doing the output redirection in the simplest/most robust way.
On binutils/AVX-512, if you want the extra performance (usually a factor of < 2x), your best bet is if you can find another compiler stack to use, like clang, icc, or a more modern gcc.  If one is not readily available, you can try to install one from scratch, although at that point it might not be worth your time!  If you're feeling brave here are instructions that worked at least once: https://github.com/manodeep/Corrfunc/pull/196#issuecomment-837241751

Oops, actually we are releasing the GIL.  In which case I'm not exactly sure what's happening.  Will investigate...

Hi @valerio-marra, can you please check if PR #270 fixes your issue? Just test your same code on the fix-std-redir branch.

hi @lgarrison, it works! Now the verbose output is printed into the slurm job's standard error.
Regarding binutils/AVX-512, is it necessary to create e new environment? also, shouldn't there be a make before pip in #196 (comment)?

It probably has the best chance of success in a new environment (and it has the least chance of disrupting any of your other work that uses an existing environment).
Pip runs make behind the scenes, so an explicit make is not necessary.

And thanks very much for confirming the fix! @manodeep, when you have a chance could you please review #270? Then we can close this issue.


Add a more structured demangling method

cpp_demangle has a structured_demangle method that takes a limited form of a visitor trait that gets notified when certain AST nodes are traversed. The way the visitor trait is designed, emitted characters can be tied to certain AST nodes, allowing the consumer to do things like elide template arguments by default.
I'd like to introduce something similar to ast-demangle. Would you be satisfied with a limited visitor trait like cpp_demangle has or would you prefer something that's called for each AST node?

@khuey: Do you mean you need a method to traversal the symbol structure without building the Symbol object?

No, I want to produce the Symbol and then see which nodes output which characters (without duplicating that logic myself).
What I'm using right now is in https://github.com/Pernosco/ast-demangle if you want to take a look.


can't exit game from a map with 0 enemies

Usually you can abort the game by just running into an enemy.

Maybe Esc key should bring you to a "Game paused" screen, which could be very similar to "Game over" screen


chore(services/user): migrate user-team-list op from proto

Changes

#1649  👈 (View in Graphite)
main

How to use the Graphite Merge Queue
Add the label merge-queue to this PR to add it to the merge queue.
You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has required the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.


Blue colour banding

Thanks for this lovely thing! However, there seem to be a banding issue on the blue colour. Have a look at this sample:

This is the LUT image being used:

Would love to find a fix for this...
Thanks!

Are you using gl.LINEAR for both directions? Does the banding appear with the default LUT provided in the repo?
It might be a limitation of the algorithm; since we are not using a true 3D LUT but a pseudo-LUT in 2 directions.
Could also try changing some things to highp (instead of lowp) in the shader.

Thank you for looking into this.
I tried again with the original LUT, imported into Adobe Lightroom, moved all HUE in HSL to -80 and exported as TIF. Converted to uncompress PNG using Photoshop. It did not make a difference so I think there is a different issue.
Please see this TIFF file out of lightroom.
https://drive.google.com/file/d/0B9XeYSGwr2ZSRTFrMXkwdWViOUk/view?usp=sharing

Ok so i've accidentally left the color nice reduction on, and so it created some artefacts. Thanks for your time :)

Cool! :smile:


Dev

Fix the Select Mutiple row and type chinese

Was this PR raised against the main slatedocs repo in error? If not, please allow the maintainers to schedule merges between dev and master, thanks.


WIP - test/bench: bench data exchange - new code

DO NOT MERGE

This change is

r? @vinipsmaker
(maidsafe_highfive has picked a reviewer for you, use r? to override)


refactoring of babs_submit function

@zhao-cy - I've started also working on the option of adding job arrays (it's important for our group), and I've created a new function to remove some duplication in babs_submit, especially because with the job array option I would add even more duplication.
I've decided to create a separate PR for this, so this doesn't mix with the array changes

Oh this is a great idea! Thank you @djarecka !

@zhao-cy - I've also created a function prepare_job_ind_list that prepare list of job indices that should be submitted. I think this simplify babs_submit, but let me know what you think.
Today, I only tested this for single session

@djarecka I think adding prepare_job_ind_list() function is smart! I added two minor comments on the code changes - see above. Let me know if you cannot see my comments! Thank you Dorota!!

I've also run a couple test for for multi-session!

@djarecka Wonderful! I believe you have tested out different babs-submit arguments (like --job, --count) and babs-status arguments (like --resubmit) under different scenarios (e.g., some jobs are pending/running/failed)? I'm also happy to help testing out if needed! Just let me know!
And once these testings are done let me know if you think this PR is ready go? If so I'll review your code and if everything looks good to me I'll merge it to main.

I've tried to test for various scenarios for babs-submit (with --job and  --count) and babs-status, but I haven't tested --resubmit...
Perhaps it would be great if you can also run couple tests, just in case?
Otherwise, this is ready, for array I prefer to open a separate pr

Sure sounds good! Will run some tests, review your code and merge to main!

List of things I've tested using a multi-session dataset:

[ ] babs-submit

[ ] --job x 2 (i.e., for two sessions), and checked the job_status.csv along the way. Jobs were successfully finished

[ ] babs-status

[ ] basic use, i.e., --project-root argument only
[ ] resubmit failed, checked job_status.csv after resubmitting
[ ] resubmit-job <failed sub and ses>, checked job_status.csv after resubmitting

sorry I've included some changes by mistake


DW: fixing a cheeky typo

Also noticed that the log info was incorrect when running an encrypt operation:
$ 3secrets kms encrypt -k eb0b4a0e-8fe1-422c-9966-9232a44cba4c test1.txt
INFO[0015] successfully decrypted and saved the file: test1.txt.encrypted

LGTM


Add cronjob to replace oldest pod of default-backend

The random docker image is updated hourly, so for maximum randomness we should replace the oldest pod in the deployment with the latest random image.
Research material:

https://stackoverflow.com/questions/52422300/how-to-schedule-pods-restart

This has been implemented


Blog post for release 2.18.0

Includes minor release-guide fixes.

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

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

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

Highlights section is a WIP

@aaltay


Changing units in the plot?

It seems that the web app tries to pick natural units (e.g. m or mm or microns), but it sometimes picks different units even for similar surfaces.
Is there a way to change the choice of units for the plots?

Do you mean interactively? For this, would it be okay to reload the page?
Related to #447.

Definitely ok to reload the page!
Tevis Jacobs
William Kepler Whiteford Faculty Fellow and Associate Professor
Mechanical Engineering and Materials Science
University of Pittsburgh
http://www.engineering.pitt.edu/JacobsLab/
Mail: 636 Benedum Hall, 3700 O'Hara St., Pittsburgh, PA 15261
Office: 538-E Benedum Hall,<PHONE_NUMBER>
@.***
On Thu, Sep 23, 2021 at 4:06 AM Michael Röttger @.***>
wrote:

Do you mean interactively? For this, would it be okay to reload the page?
Related to #447
https://github.com/ContactEngineering/TopoBank/issues/447.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ContactEngineering/TopoBank/issues/726#issuecomment-925590520,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFOUYWUBTPYUAPKONHA6M5DUDLN2BANCNFSM5ER5ERMA
.

We should augment all analysis result data with a conversion factor to SI units. I've already implemented this in a separate branch - will pull that over to develop.
Without this, we need to do unit conversion in JS which is a pain in the neck. I would prefer to keep that on the Python side.


Add ComicTagger to PotableApps.com

From<EMAIL_ADDRESS>on April 26, 2013 16:51:44
What steps will reproduce the problem? 1. Go to PortableApps.com
2. Check directory of available apps
3. See that comictagger is not there. What is the expected output? What do you see instead? n/a What version of the product are you using? On what operating system? n/a Please provide any additional information below. n/a
Original issue: http://code.google.com/p/comictagger/issues/detail?id=14

From<EMAIL_ADDRESS>on April 28, 2013 15:32:16
This is a feature request, not a defect report, so I changed the label.
No plans for now to implement this, but if I hear more requests, I may do it.  Adding new build configurations is a pain.
Labels: -Type-Defect -Priority-Medium Type-Enhancement Priority-Low OpSys-Windows

From<EMAIL_ADDRESS>on May 08, 2013 20:21:09
Status: Accepted


Async APEX error messages may not be sent at all

Err_AsyncErrors.cls calls ERR_Notifier.sendErrorNotifications('');. Also Err_AsyncErrors implements Queueable interface.
Subsequently ERR_Notifier.sendErrorNotifications(''); does not take queueable APEX into consideration. Therefore the if statement does not have a condition that evaluates to true. This causes none of the Async email notifications to be sent.
This is a relatively simple fix, except the method ERR_Notifier.sendErrorQueueEmailNotification() looks for ALL errors that have not had an email send. So when this is fixed, be mindful that an email may be sent with a lot of errors since the emails may not have been sent for a while.

Here is a commit on the HEDA side that addresses this: https://github.com/SalesforceFoundation/HEDAP/pull/399/commits/36ef3ca4b9947289f179fc5e5e002d433b673e2a

**lurch: add

Tracking W-018121

thanks for letting us know @davidjray

@davidjray looking at the code, i'm a little confused.  given we are in a queueble, not batch, then the first if condition will return true and we will call sendErrorQueueEmailNotificationFuture.  And we know empirically that lots of people are getting these emails, as they post in the hub about it.  Why do you think this code isn't functioning?  (Note that I looked at Apex documentation, and isBatch only returns true for being in a queueable in api 35 and earlier; we are on api 37)

@davidhabib You are right, in HEDA we were still on Api version 35, which meant isBatch was returning true. I looked at the documentation too but didn't think to check the Api version you were on for this class.
Sorry for the false alarm!


The stats field in ReadGroup should be filled in.

The stats field in ReadGroup is currently not set. This should be filled in using the methods in pysam, if possible. If not, we should provide a mechanism to store this using a metadata json file, similar to the approach taken for importing reference metadata.

Fixed in #589


v1.14: update dependency cilium/cilium-cli to v0.15.19

Manual backport of https://github.com/cilium/cilium/commit/829736636f84481a6f903e5d67471decfc29793b and https://github.com/cilium/cilium/pull/29942.

/test-backport-1.14

/test-backport-1.14

/test-backport-1.14


Upload Git&GitHub cheatsheet on cheatsheet folder, if not present create a folder "Cheatsheets" in main then add your file on it.

Hey I would like to work on this one. please assign me..
also please add hacktoberfest-accepted tag

Hey @risingstar-bit I would like to work on this issue. Please assign me this piece of work.

@yash-sharma13 let @ArcheR1901 create Cheatsheets folder and a file in it. After it gets merged i will mention you to add another cheatsheet.

@risingstar-bit  sorry I saw it a bit late, I was working on the cheatsheet I'll pr it.. Please check it out and merge it if you like.


Do not delete mapped entities of an aggregate marked with @ReadOnlyProperty

So I have been using spring-data-jdbc for one of my applications
Basically I have a 1-1 relationship of a class let's call it this way
class Person{
   Long id;
   String name;
   @MappedCollection(idColumn = "person_id")
   @ReadOnlyProperty
   BirthDate birthdate;
}

What happened when I called repository.save(person) is that always the birthday is removed and inserted back.
Is this an intended design decision? This feature would make it repositories way more powerful.
I had a use case similar to flyweight pattern where I have big payloads that never change.
Is it possible for me to explore ways of adding such functionality? I will be very happy to contribute.

So, are you suggesting to not "remove and insert back", OR what? What specific query do you have, @hussainkarafallah ? Please clarify.

@rishiraj88
Yes exactly. I think @ReadOnlyProperty annotation would kill performance in any Row-based database as even if it's excluded from the UPDATE statement the row will be rewritten. The same for mappings to other tables. If we remove them and insert again then we lost a lot of performance.

Of course I am not discussing here the logic of delete and insert as it makes sense from Aggregate perspective. But if the property / entity is @ReadOnlyProperty, I think a lot of power can be added to the framework. I hope it makes sense.

Looking at the existing code, this is already the way it should behave.
Therefore, please provide a Minimimal Reproducable Example, preferable as a Github repository. Make sure to include the database, either as an in memory database or if that is not possible using Testcontainers.


May I ask if you will support Google's BEST RQ?

May I ask if you will support Google's BEST RQ?

Hi,
Thanks for the interest. We not yet put any effort for this, and do not have any plan so far.
So I don't think we will support BEST RQ in the short term.


[Feature-6600][UI] Implement page about task-definition

Add page about task-definition list
Add create/delete/edit/view task-definition
Add research task-definition

This close #6600

Codecov Report

Merging #6762 (0952e59) into dev (02350ea) will increase coverage by 0.06%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                dev    #6762      +/-   ##
============================================
+ Coverage     41.36%   41.42%   +0.06%
+ Complexity     3604     3597       -7
============================================
  Files           638      625      -13
  Lines         26176    26103      -73
  Branches       2834     2847      +13
============================================
- Hits          10827    10813      -14
+ Misses        14365    14313      -52
+ Partials        984      977       -7

Impacted Files
Coverage Δ

...org/apache/dolphinscheduler/remote/utils/Host.java
37.77% <0.00%> (-2.23%)
:arrow_down:

...e/dolphinscheduler/remote/NettyRemotingClient.java
52.11% <0.00%> (-1.41%)
:arrow_down:

...java/org/apache/dolphinscheduler/dao/AlertDao.java
30.37% <0.00%> (ø)

...ava/org/apache/dolphinscheduler/dao/PluginDao.java
0.00% <0.00%> (ø)

...e/dolphinscheduler/spi/DolphinSchedulerPlugin.java
0.00% <0.00%> (ø)

.../dolphinscheduler/spi/task/AbstractParameters.java
0.00% <0.00%> (ø)

...heduler/spi/plugin/DolphinPluginManagerConfig.java
0.00% <0.00%> (ø)

...ry/zookeeper/ZookeeperConnectionStateListener.java
0.00% <0.00%> (ø)

...duler/plugin/alert/slack/SlackParamsConstants.java

...r/plugin/alert/slack/SlackAlertChannelFactory.java

... and 100 more

Continue to review full report at Codecov.

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


Changing theme image/icon forces recreation, but fails due to default setting

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Thank you for opening an issue. Please note that we try to keep the Terraform issue tracker reserved for bug reports and feature requests. For general usage questions, please see: https://www.terraform.io/community.html.
PingOne Terraform provider Version
0.15.1
Terraform Version
1.4.2
Affected Resource(s)

pingone_branding_theme

Terraform Configuration Files
resource "pingone_branding_theme" "test" {
  environment_id = pingone_environment.dev.id
  name           = "Test"
  template       = "focus"
  logo {
    id   = pingone_image.test.id
    href = pingone_image.test.uploaded_image[0].href
  }
  background_color   = "#ededed"
  body_text_color    = "#ffffff"
  card_color         = "#3305b2"
  heading_text_color = "#ffffff"
  link_text_color    = "#fac75e"
  button_color       = "#4319b8"
  button_text_color  = "#ffffff"
  footer_text        = ""
}

Plan Output
# pingone_branding_theme.test must be replaced
-/+ resource "pingone_branding_theme" "test" {
      ~ default                = true -> (known after apply)
      ~ id                     = "47916cb9-ea3c-4d1f-80fb-cb4d91cd8175" -> (known after apply)
        name                   = "Test"
        # (10 unchanged attributes hidden)
      ~ logo {
          ~ href = "https://uploads.pingone.asia/environments/blah..." -> (known after apply)
          ~ id   = "d0922698-d21b-47c9-bd66-1b6f925238d9" # forces replacement -> (known after apply)
        }
    }

Expected Behavior

Theme should be updated with new logo
Actual Behavior
Error: Unable to delete default theme
Steps to Reproduce

Make a Theme
Mark it as default
change the logo
terraform apply fails

Workaround is to mark the Ping Default theme as default, then terraform apply, so its not a blocker, just reporting it.


cowboy hat make odd things happen

by odd i mean it sort of makes any trinket related items a player is wearing go out of sync with the player model..
night vision goggle move faster than the player head and belt items get attached to the "head layer" too.
biome-makeover-1.16.4-1.1.5
you can see what i mean on the head slot here
https://www.twitch.tv/videos/851529445 at about 1:37:30
modlist ripped from a recent crash report
https://pastebin.com/M00wn1hQ

I have a feeling that's a conflict with whatever mod adds those night vision goggles, I'll leave this issue open in case others run into something similar to we can track down the exact conflict.

oh, yeah it definitely is, between biome makeover artifacts and trinkets.
artifacts requires trinkets
https://imgur.com/xJ78BsS


repeated dataset

Hello,
When I use the code, I noticed that there is a parameter:
type='RepeatDataset',
times=N,
What is the function of the repeated dataset? Increase the size of the dataset?

The main purpose of repeating the data set n times is to apply to a small data set scenario, which can reduce the frequent start and end of multiple processes of the dataloader to speed up training.

Thanks a lot


prepare_receptor causes ValueError: Could not find atomic number for Hn Hn

I tried to validate the accuracy of Vina on the DUD-E dataset according to the AutoDock Vina v1.2.0 paper and the supporting information description.
After adding hydrogens to the receptor of the DUD-E co-crystal structure using reduce (with the option to flip NQH groups), I tried to prepare PDBQT files with prepare_receptor in ADFRsuite as below.
for prot_name in *; do
    reduce -FLIP "./${prot_name}/receptor.pdb" > proteins/DUD-E/${prot_name}-FHs.pdb
done

for prot_name in *; do
    prepare_receptor \
    -r proteins/DUD-E/${prot_name}-FHs.pdb \
    -o dockings/vina/data/DUD-E/receptors/${prot_name}-FHs.pdbqt
done

In result the following error occurred.
adding gasteiger charges to peptide
Traceback (most recent call last):
  File "/home/uenom/data_ueno/dockings/ADFRsuite-1.1dev/ADFRsuite_x86_64Linux_1.1dev/ADFRsuite-1.1dev/CCSBpckgs/AutoDockTools/Utilities24/prepare_receptor4.py", line 216, in <module>
    dict=dictionary)
  File "/home/uenom/data_ueno/dockings/ADFRsuite-1.1dev/ADFRsuite_x86_64Linux_1.1dev/ADFRsuite-1.1dev/CCSBpckgs/AutoDockTools/MoleculePreparation.py", line 558, in __init__
    version=version, delete_single_nonstd_residues=delete_single_nonstd_residues)
  File "/home/uenom/data_ueno/dockings/ADFRsuite-1.1dev/ADFRsuite_x86_64Linux_1.1dev/ADFRsuite-1.1dev/CCSBpckgs/AutoDockTools/MoleculePreparation.py", line 141, in __init__
    self.addCharges(mol, charges_to_add)
  File "/home/uenom/data_ueno/dockings/ADFRsuite-1.1dev/ADFRsuite_x86_64Linux_1.1dev/ADFRsuite-1.1dev/CCSBpckgs/AutoDockTools/MoleculePreparation.py", line 227, in addCharges
    chargeCalculator.addCharges(mol.allAtoms)
  File "/home/uenom/data_ueno/dockings/ADFRsuite-1.1dev/ADFRsuite_x86_64Linux_1.1dev/ADFRsuite-1.1dev/CCSBpckgs/MolKit/chargeCalculator.py", line 80, in addCharges
    babel.assignHybridization(atoms)
  File "/home/uenom/data_ueno/dockings/ADFRsuite-1.1dev/ADFRsuite_x86_64Linux_1.1dev/ADFRsuite-1.1dev/CCSBpckgs/PyBabel/atomTypes.py", line 127, in assignHybridization
    a.babel_atomic_number = self.get_atomic_number(a.babel_type)
  File "/home/uenom/data_ueno/dockings/ADFRsuite-1.1dev/ADFRsuite_x86_64Linux_1.1dev/ADFRsuite-1.1dev/CCSBpckgs/PyBabel/atomTypes.py", line 103, in get_atomic_number
    (name,_name) )
ValueError: Could not find atomic number for Hn Hn

Is this due to software bugs or incorrect tool usage?
Any advice would be appreciated!

No element information corresponding to each atom in cocrystal receptor's PDB data in DUD-E dataset was provided.
That caused this error. When running prepare_receptor, the program bundled in it seems not to work for PDB data which don't have each atom's element description.
I repaired PDB data and ran prepare_receptor successfully.

Hello @eunos-1128, would you mind posting how you repaired the PDB data? Did you change each "HN" to "H", or something else?
Thanks in advance.

@longyuxi
I used the script below to correct HNZ in LYS residue assigned to "X".

#!/usr/bin/env python3

import argparse
import os
import re
import sys

from Bio.PDB import PDBIO, PDBParser
from Bio.Data import IUPACData

NON_METAL_ELEMS = {"H", "D", "C", "N", "O", "F", "P", "S", "Br", "I"}

metal_elems = set(IUPACData.atom_weights.keys()) - NON_METAL_ELEMS

# Parse command line arguments
parser = argparse.ArgumentParser()
parser.add_argument("--input", help="Input PDB file", type=str)
args = parser.parse_args()

# Read the PDB file
pdb_parser = PDBParser(QUIET=True)
filepath = args.input
filename = os.path.basename(filepath)
stem, ext = os.path.splitext(filename)
structure = pdb_parser.get_structure(stem, args.input)

for model in structure.get_models():
    for chain in model.get_chains():
        for residue in chain.get_residues():
            for atom in residue.get_atoms():
                # Use Biopython's method to assign element names
                atom.element = atom._assign_element(atom.element)
                atom_fullname = atom.fullname.strip()

                # Fix `"X"` elements which cause an error in the later `prepare_receptor` process
                if atom.element == "X":

                    # HNZ in LYS residue is incorrectly assigned `"X"` due to a Biopython bug
                    pattern = re.compile(r"^HN[A-Z]\d$")
                    if pattern.match(atom_fullname):
                        atom.element = "H"

                    # Treat all metal atoms as divalent cations
                    elif atom_fullname.capitalize() in metal_elems:
                        atom.element = atom_fullname.upper()
                        atom.pqr_charge = 2

# Output the corrected PDB file to standard output
pdb_io = PDBIO()
pdb_io.set_structure(structure)
pdb_io.save(sys.stdout)

@eunos-1128 Thank you!


cannot get data from response when using HttpClient.GetJsonAsync in AspNetCore MVC

When using HttpClient.GetJsonAsync, docList can't get Json data with Object List<Doc>. I set breakpoint in LogsController.cs, it's obvious that ActionResult already has Value. But docList is null. The following code snippet is a part of the webapplication.
How to get data and use it?
Thank you for your support...
QueryLogs.cshtml

<TextEdit Placeholder="PlayerGuid" bind-text="@account" />

<SimpleButton Clicked="@(async () => await GetLogs(account))" Class="form-control" Color="Color.Primary">
    Query
</SimpleButton>

    @if (docList == null)
    {
there are no doc to display
}
    else
    {
    @foreach (var doc in docList)
    {

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

}}

@functions{

    List<Doc> docList = new List<Doc>();
    string account;
    string document;

    public async Task GetLogs(string acc)
    {
        docList = await Http.GetJsonAsync<List<Doc>>("api/value/" + acc);
    }
}

LogsController.cs

private readonly ElasticClient _client;
public async Task<ActionResult<List<Doc>>> Search(string param)
{
    return  _client.Search<Doc>(s => s
        .From(0)
        .Size(10)
        .Query(q => q.Match(m => m.Field(f => f.account).Query(param)))).Documents.ToList<Doc>();
}

[HttpGet("{param}")]
[EnableCors("CorsPolicy")]
public async Task<ActionResult<List<Doc>>> Search(string param)
{
return  _client.Search<Doc>(s => s
.From(0)
.Size(10)
.Query(q => q.Match(m => m.Field(f => f.account).Query(param)))).Documents.ToList<Doc>();
}

Thanks for contacting us, @qwertylb.
It's not clear from your example what you're experiencing. Are you getting an error? What is it?

There is a project that use ASP.NET MVC and elasticsearch to query logs and represent it. In QueryLogs.cshtml, when i input account and click Query button, it will execute GetLogs method and it can get return value of account from LogsController's method Search. But the return value can not pass to the QueryLogs.cshtml by Http.GetJsonAsync<List<Doc>>("api/value/" + acc).

Thanks for contacting us, @qwertylb.
It's not clear from your example what you're experiencing. Are you getting an error? What is it?

There is a project that use ASP.NET MVC and elasticsearch to query logs and represent it. In QueryLogs.cshtml, when i input account and click Query button, it will execute GetLogs method and it can get return value of account from LogsController's method Search. But the return value can not pass to the QueryLogs.cshtml by Http.GetJsonAsync<List>("api/value/" + acc). docList is null.

@qwertylb, the result of the query in the controller action you're referring to is not null, because it's represented by an asynchornousely executing task. So that's the Task object you see. Most probably the task's result ends up being null when evaluated, hence you get null when you call it.


an uncaught TransactionFailed stalls RTCPeerConnection.close()

I have seen the following issue for a while, in which case RTCPeerConnection.close() is blocked forever.
2019-04-10 16:44:51,609 [548366143488] client - event = connection_lost(None)
2019-04-10 16:44:51,610 [548366143488] client - state = CLOSED
2019-04-10 16:44:51,610 [548366143488] client x code = 1000, reason = [no reason]
2019-04-10 16:44:51,612 [548366143488] client x closing TCP connection
2019-04-10 16:44:51,613 [548366143488] finished signaling
2019-04-10 16:44:51,613 [548366143488] cleanup in progress...
2019-04-10 16:44:51,614 [548366143488] closing the peer connection...
2019-04-10 16:44:51,615 [548366143488] sender(video) > RtcpByePacket(sources=[648406895])
2019-04-10 16:44:51,616 [548366143488] sender(video) - RTCP finished
2019-04-10 16:44:51,618 [548366143488] sender(video) > RtcpByePacket(sources=[2211053875])
2019-04-10 16:44:51,618 [548366143488] sender(video) - RTCP finished
2019-04-10 16:44:51,619 [548366143488] sender(video) > RtcpByePacket(sources=[1008964769])
2019-04-10 16:44:51,620 [548366143488] sender(video) - RTCP finished
2019-04-10 16:44:51,621 [548366143488] sender(video) > RtcpByePacket(sources=[1747941862])
2019-04-10 16:44:51,621 [548366143488] sender(video) - RTCP finished
2019-04-10 16:44:51,622 [548366143488] server > AbortChunk(flags=0)
2019-04-10 16:44:51,623 [548366143488] server - State.ESTABLISHED -> State.CLOSED
2019-04-10 16:44:51,623 [548366143488] 1 - open -> closed
2019-04-10 16:44:51,624 [548366143488] controlled - completed -> closed
2019-04-10 16:44:51,624 [548366143488] iceConnectionState changed to closed
2019-04-10 16:44:51,625 [548366143488] Connection(10) protocol(14) connection_lost(None)
2019-04-10 16:44:51,626 [548366143488] Connection(10) protocol(15) connection_lost(None)
2019-04-10 16:44:51,627 [548366143488] Connection(10) protocol(16) connection_lost(None)
2019-04-10 16:44:51,628 [548366143488] Connection(10) protocol(17) connection_lost(None)
2019-04-10 16:44:51,629 [548366143488] Connection(10) protocol(18) connection_lost(None)
2019-04-10 16:44:51,629 [548366143488] Connection(10) protocol(19) connection_lost(None)
2019-04-10 16:44:51,631 [548366143488] turn/udp > ('tk-turn1.xirsys.com', 80) Message(message_method=Method.REFRESH, message_class=Class.REQUEST, transaction_id=b'\xd0\xd5\xd5wB\xbd\xc5\xc6\x146\xd2e')
2019-04-10 16:44:51,666 [548366143488] turn/udp < ('<IP_ADDRESS>', 80) Message(message_method=Method.REFRESH, message_class=Class.ERROR, transaction_id=b'\xd0\xd5\xd5wB\xbd\xc5\xc6\x146\xd2e')
2019-04-10 16:44:51,667 [548366143488] Task exception was never retrieved
future: <Task finished coro=<TurnClientMixin.delete() done, defined at /home/nvidia/Downloads/aioice/aioice/turn.py:130> exception=TransactionFailed(Message(message_method=Method.REFRESH, message_class=Class.ERROR, transaction_id=b'\xd0\xd5\xd5wB\xbd\xc5\xc6\x146\xd2e'))>
Traceback (most recent call last):
  File "/home/nvidia/Downloads/aioice/aioice/turn.py", line 141, in delete
    await self.request(request)
  File "/home/nvidia/Downloads/aioice/aioice/turn.py", line 173, in request
    return await transaction.run()
  File "/home/nvidia/Downloads/aioice/aioice/stun.py", line 250, in run
    return await self.__future
aioice.exceptions.TransactionFailed: STUN transaction failed (438 - Wrong nonce^@)

The root cause is, as explicitly the error message says, the loop thread dies because of the uncaught exception.
With the simple fix as below, I have confirmed this no longer happens.
        try:
            await self.request(request)
        except exceptions.TransactionFailed:
            logger.debug('the turn allocation deletion request failed')

The output when the TransactionFailed was raised.
2019-04-10 17:09:59,577 [547505090560] client - event = connection_lost(None)
2019-04-10 17:09:59,578 [547505090560] client - state = CLOSED
2019-04-10 17:09:59,579 [547505090560] client x code = 1000, reason = [no reason]
2019-04-10 17:09:59,580 [547505090560] client x closing TCP connection
2019-04-10 17:09:59,581 [547505090560] finished signaling
2019-04-10 17:09:59,582 [547505090560] cleanup in progress...
2019-04-10 17:09:59,583 [547505090560] closing the peer connection...
2019-04-10 17:09:59,584 [547505090560] sender(video) > RtcpByePacket(sources=[2531309811])
2019-04-10 17:09:59,585 [547505090560] sender(video) - RTCP finished
2019-04-10 17:09:59,587 [547505090560] sender(video) > RtcpByePacket(sources=[1615847512])
2019-04-10 17:09:59,588 [547505090560] sender(video) - RTCP finished
2019-04-10 17:09:59,590 [547505090560] sender(video) > RtcpByePacket(sources=[1579158080])
2019-04-10 17:09:59,591 [547505090560] sender(video) - RTCP finished
2019-04-10 17:09:59,593 [547505090560] sender(video) > RtcpByePacket(sources=[987792055])
2019-04-10 17:09:59,593 [547505090560] sender(video) - RTCP finished
2019-04-10 17:09:59,594 [547505090560] server > AbortChunk(flags=0)
2019-04-10 17:09:59,596 [547505090560] server - State.ESTABLISHED -> State.CLOSED
2019-04-10 17:09:59,596 [547505090560] 1 - open -> closed
2019-04-10 17:09:59,597 [547505090560] controlled - completed -> closed
2019-04-10 17:09:59,597 [547505090560] iceConnectionState changed to closed
2019-04-10 17:09:59,599 [547505090560] Connection(0) protocol(0) connection_lost(None)
2019-04-10 17:09:59,600 [547505090560] Connection(0) protocol(1) connection_lost(None)
2019-04-10 17:09:59,600 [547505090560] Connection(0) protocol(2) connection_lost(None)
2019-04-10 17:09:59,601 [547505090560] Connection(0) protocol(3) connection_lost(None)
2019-04-10 17:09:59,602 [547505090560] Connection(0) protocol(4) connection_lost(None)
2019-04-10 17:09:59,603 [547505090560] Connection(0) protocol(5) connection_lost(None)
2019-04-10 17:09:59,605 [547505090560] turn/udp > ('tk-turn2.xirsys.com', 80) Message(message_method=Method.REFRESH, message_class=Class.REQUEST, transaction_id=b'z\xc7\xa3X\x17\x998\xeb\x8a\xd8\xe3\x14')
2019-04-10 17:09:59,622 [547505090560] turn/udp < ('<IP_ADDRESS>', 80) Message(message_method=Method.REFRESH, message_class=Class.ERROR, transaction_id=b'z\xc7\xa3X\x17\x998\xeb\x8a\xd8\xe3\x14')
2019-04-10 17:09:59,623 [547505090560] the turn allocation deletion request failed
2019-04-10 17:09:59,624 [547505090560] TURN allocation deleted ('<IP_ADDRESS>', 64919)
2019-04-10 17:09:59,624 [547505090560] Connection(0) protocol(6) connection_lost(None)

Do you have more information on why you are encountering this situation, specifically: what's wrong with the nonce?

Hello?


How to attach Context to a Query or Mutation Widget

I have recently ran into a situation where i have to attach custom header for some queries and mutations on my app, the docs indicate that this package support a Context for an operation but fails to give any example, is there any example that shows the use of a Context in Query/Mutation widget? if there is none can you please include that in the docs?
Thanks

@TesfahunK could you share your solution, please?


Update shell command

Slightly editing shell command to make it easier to paste and run.

@JanusCo Thanks!


KAFKA-3143: Controller should transition offline replicas on startup

@junrao Raised this PR based on your suggestion  https://github.com/apache/kafka/pull/765#issuecomment-174363817. This should also fix
KAFKA-3096. I enabled the previously disabled unclean leader election tests for KAFKA-3096.
Please take a look whenever you get a chance.

@omkreddy, there were two suggestions in that comment, seems like you have done just one. Is that right?

@ijuma   yes, This PR addresses Jun's second comment.  This addresses the scenarios mentioned in both KAFKA-3143, KAFKA-3096 JIRAs. I am reproducing Jun's comments below.

In OfflinePartitionLeaderSelector, if we can't find a new live leader (whether due to unclean leader election being disabled or not), it seems it's better to set the new leader to -1, instead of throwing an exception and leave the old leader in ZK. We need to make sure that the rest of the logic continues to work with a -1 leader. For example, if a follower receives a -1 leader, it probably should stop fetching from the current leader, but not start fetching again. Currently, in ReplicaManager.makeFollowers(), it seems that if the new leader is -1, we don't complete the follower transition and therefore don't stop the fetching from the current leader.

I am not sure if this is still required. If required,  I will attempt this in another PR.

This is related to the issue in KAFKA-3143. Currently, if a follower goes down, the logic to remove this replica from ISR is handled by transitioning the replica to OfflineReplica in ReplicaStateMachine. However, this logic is not called during controller failover. Suppose that broker 1 is a follower for a partition and is also the controller. If we hard kill broker 1 (therefore doesn't trigger the controlled shutdown logic), the new controller won't remove replica 1 from ISR. Instead, it relies on the leader to take replica 1 out of ISR after replica.lag.time.max.ms. Ideally, the new controller should shrink the ISR during initialization since this can be faster than waiting for the leader timeout. It seems that during the controller failover, we should also transition failed replicas to OfflineReplica too. It would be good to check if there are any other state transitions (PartitionState or ReplicaState) that are missing during the controller failover.

@junrao Above you mentioned, we should also transition failed replicas to OfflineReplica. In this PR, i am transitioning dead broker replicas to OfflineReplica state. I am not sure this handles above case.

retest this please

@junrao Thanks for the review. Updated the PR. Please take a look.

@junrao Thanks for the review. Addressed latest review comments.

@junrao Thanks for the review. Merging to trunk and 2.3.0.


Fixed issue when docking and undocking GLControls with AvalonDock

Thanks for contributing and sorry I didn't see this sooner. That's definitely a bug and I'd be happy to merge your fix.


Can the LIDAR LITE V2 laser rangefinder work with the I2C bus on pixhawk normally?

Hi !
I have a LIDAR LITE V2 laser rangefinder .I want to use it with its I2C bus on pixhawk to realize UAV altitude control. Can it work with the I2C bus on pixhawk normally? How can I start the sensor driver?
Appreciating for your help! Thank you !

Hi, andre-nguyen @andre-nguyen
I have a LIDAR LITE V2 laser rangefinder .Does it work normally with its I2C bus on current pixhawk ?
Thank!

Duplicate, #2624. Closing.
Essentially, we need to rewrite the driver with the new i2c interface on the V2. No more ack/nack rubbish.


Update companies.yml

Adding details for Substantial, the Seattle-based build and innovation studio.
Adds or updates the following companies, events, or universities:

Checklist
Company updates

[x] I have put the most recent relevant date in the "Last Update" column
[x] I have linked to the article about the change, not the company's homepage (Please put N/A if there is no public post)

Event updates

[ ] I have linked to the article about the change, not the event's homepage

University updates

[ ] I have linked to the article about the change, not the university's homepage

Closing due to rebase and staleness. Feel free to re-open after fixes, thanks for your patience.

I don't have any idea what your reply means. I thought I followed the
instructions to add my company and don't know what I did wrong to not
repeat the same mistake.
Not a dev,
Donte
On Fri, Mar 13, 2020, 17:51 Philip James<EMAIL_ADDRESS>wrote:

Closing due to rebase and staleness. Feel free to re-open after fixes,
thanks for your patience.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/phildini/stayinghomeclub/pull/832#issuecomment-598986866,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACOQTCDGO37NYDIFQYKFQTRHLIJZANCNFSM4LHU4Z3A
.


Update zio-schema, zio-schema-derivation, ... to 0.4.8

Updates

dev.zio:zio-schema
dev.zio:zio-schema-derivation
dev.zio:zio-schema-protobuf

from 0.3.1 to 0.4.8.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (0.3.1).
You might want to review and update them manually.
project/Dependencies.scala

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "dev.zio" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "dev.zio" }
}]

labels: library-update, early-semver-major, semver-spec-minor, old-version-remains, commit-count:1

Superseded by #303.


Update references to master

Pull Request Process
Contributors from outside ShopRunner should feel free to submit a PR without having completed all of the items below. See CONTRIBUTING.md for additional information.
You can run ./.ci/test.sh locally to check for style issues, run tests, rebuild docs, etc. before submitting changes.
Description
Updating references to "master", which we renamed to "main".
Checklist
General

[x] Pull request uses keywords to close relevant issues.
[x] Pull request includes unit tests for any bug fixes and new functionality.
[x] Docs have been updated as needed. (sphinx-build docs docs/_html rebuilds the docs. Open docs/_html/index.html to check them.)

ShopRunner Contributors
The maintainer will complete the following steps for contributions from outside ShopRunner.

[ ] ~CHANGELOG.md has been updated.~ Not relevant IMO because library itself isn't changing.
[ ] ~_version.py has been updated.~ Not relevant IMO because library itself isn't changing.
[ ] ~Version number has been updated in docs/conf.py.~ Not relevant IMO because library itself isn't changing.

Thanks! I have some questions about the branch protections. I'll go ahead and merge the PR and then Slack you about that topic.

Branch protections have been updated


Lint fixes

Run the updated PlayCanvas ESLint config over the source and fix the errors (all unary op related fixes).

Superseded by #6


Session time no longer saved when cancelled

I am used to the behavoir, that when I stop a running Session at, say 6minutes left and cancel it, the time spent in the session(in this case 19minutes) would still count towards my statistics.
This seems to no longer be the case. It only counts full sessions(25min.) now.
Am I missing something or is this feature gone?

yes it was with the new update. thank you


Cancan works with :manage, :all, but didn't work with :manage, [Person]

I 'm having issue with Cancan, where when I configure :manage, :all like shown below then I could login to rails_admin and see all models.  But the problem is when limited to specific model like :manage, [Person] then, it doesn't even allow me to get to rails admin and access was denied. If I do from regular routes outside of rails_admin then cancan works, meaning I was limited to manage only Person model. Any help is greatly appreciated.
if user.role? :admin
can :manage, :all           # allow me to login to rails_admin and manage models
end
if user.role? :admin
can :read, :all           # access denied
end
if user.role? :admin
can :update, :all           # access denied
end
if user.role? :admin
can :manage, [Person]           # access denied
end

I did but it didn't work.
def initialize(user)
if user && user.admin?
can :access, :rails_admin       # only allow admin users to access Rails Admin
if user.role? :admin
can :manage, [Person] # access denied
end
end
end

Oups sorry misclicked. Can you make a failing test case?

Hi, I'm not sure how to make a failing test case. If you can be more specific please and I will try.  Only 'can :manage, :all' works right now, meaning access is denied on 'can :read, :all' ; 'can :update, :all' or 'can :manage, [Person]'. Many thanks

just to be sure:
can :access, :rails_admin
can :manage, Person

Gives you acces to dashboard but not to the Person index page?
That's weird.

Nope. It does not even give access to dashboard.  However, if I do "can :mange, :all" then I have access to everything.

hi, please let me know if this is fixed? many thanks.

experiencing same issue as tcpipmen. Did you find a solution?

On my local machine this isn't a problem, but I just added the app to a new box and only can :manage, :all seems to be working.

can :dashboard must be new :)

thx whistlepost can:dashboard sorted it


Tracking issue for implementing mito as a region engine

What type of enhancement is this?
Refactor, Tech debt reduction
What does the enhancement do?
For historical reasons, both frontend and table engines (run in datanode) are aware of multiple regions in a table. That makes implementing a distributed table with multi-regions support complicated. We need to deal table and its regions on both frontend and datanode. We also need to implement procedures for the mito engine to ensure the eventual consistency of altering a table.
We decide to turn the table engine into a region engine, which only has knowledge of regions.

The TableEngine trait becomes RegionEngine and only deals with regions.
The datanode acts like a RegionServer. It manages regions assigned to the node and provides region-level access.
The frontend provides table-level access. It partitions requests and routes them to regions on datanodes.
We can combine the StorageEngine with the mito table engine.
Since we already store metadata of the table in metasrv, there is no need to persist them again to the table manifest. We can remove the table manifest.
Altering multiple regions is tracked by the procedure inside metasrv. We don't need procedures for the mito engine.

Steps
We are going to create a new fork of mito crate (maybe mito2).

[x] A new crate mito2 #1875
[x] RFC https://github.com/GreptimeTeam/greptimedb/pull/1899
[x] Use TableInfo to replace RegionMetadata (We might still reuse the RegionSchema)
[x] Implement MitoRegion or MitoRegionInfo to hold metadata #1989
[x] Create region #1999
[x] Open region #2052
[x] Close region #2052
[x] Wal #2103
[x] Write region #2135

[x] #2250

[x] Delete rows #2275
[x] New memtable #2208
[x] Scan region

[x] New Batch #2174
[x] Merge reader #2210
[x] Skeleton #2230

[x] Flush region

[x] Framework #2262
[x] Write buffer manager #2309
[x] Write stall #2322

[x] Alter region

[x] Compat reader #2326
[x] Skeleton #2343

[x] Compact region

[x] Skeleton #2317
[x] Scheduler #2413

[x] region options #2436
[x] Combine RegionManifest and StorageManifest #1984
[x] Remove the Region trait and forward requests to the engine directly
[x] Refactor file table engine if necessary #2365
[ ] Remove TableEngineProcedure trait
[x] Remove procedure implementations in mito and file engine
[x] Replace mito with mito2 (rename mito2 to mito)
[x] Rename TableEngine to RegionEngine
[ ] Remove the old StorageEngine and related traits

Other Enhancements
There are also some other enhancements we could achieve during refactoring mito. They may not be strictly related to this issue's topic.

[x] Remove dependency of log sequence from RegionMetaAction::Change
[x] Decouple LogStore index and engine sequence (switch to sequence per key mode)
[x] Remove Option from time range in FileMeta
[x] Implement a new RegionWriter that supports batching (group commit)
[x] Add column family support? We plan to remove column family

Looks like we can close this issue 👍


Features pkl has a different name

My run seems to fail due to the feature pkl file not existing, see error below. It is looking for A.feature.pkl.gz in test-hex7/XI_VIEW_SY_XL_5_DSSO_XL_redo_sequences but the only such file that I can find is test-hex7/XI/VIEW.feature.pkl.gz. Does the filename for the fasta file dictate the feature filename?

I0629 22:59:16.665984<PHONE_NUMBER>6704 utils.py:36] Started Jackhmmer (uniprot.fasta) query
I0629 23:07:53.910510<PHONE_NUMBER>6704 utils.py:40] Finished Jackhmmer (uniprot.fasta) query in 517.244 seconds
I0629 23:08:16.925292<PHONE_NUMBER>6704 homo_search.py:203] Final timings for XI_VIEW_SY_XL_5_DSSO_XL_redo_sequences_A: {'features': 2645.1914842128754, 'all_seq_features':<PHONE_NUMBER>288879}
I0629 23:08:16.934574<PHONE_NUMBER>6704 homo_search.py:161] searching homogeneous Sequences & structures for XI_VIEW_SY_XL_5_DSSO_XL_redo_sequences_B...
I0629 23:08:16.935142<PHONE_NUMBER>6704 homo_search.py:203] Final timings for XI_VIEW_SY_XL_5_DSSO_XL_redo_sequences_B: {}
I0629 23:08:16.939137<PHONE_NUMBER>6704 homo_search.py:161] searching homogeneous Sequences & structures for XI_VIEW_SY_XL_5_DSSO_XL_redo_sequences_C...
I0629 23:08:16.939221<PHONE_NUMBER>6704 homo_search.py:203] Final timings for XI_VIEW_SY_XL_5_DSSO_XL_redo_sequences_C: {}
I0629 23:08:16.970316<PHONE_NUMBER>6704 homo_search.py:161] searching homogeneous Sequences & structures for XI_VIEW_SY_XL_5_DSSO_XL_redo_sequences_D...
I0629 23:08:16.970479<PHONE_NUMBER>6704 homo_search.py:203] Final timings for XI_VIEW_SY_XL_5_DSSO_XL_redo_sequences_D: {}
Traceback (most recent call last):
File "/cephfs2/public/AlphaLink2/AlphaLink2/inference.py", line 363, in
main(args)
File "/cephfs2/public/AlphaLink2/AlphaLink2/inference.py", line 141, in main
batch = load_feature_for_one_target(
File "/cephfs2/public/AlphaLink2/AlphaLink2/inference.py", line 74, in load_feature_for_one_target
batch, _ = load_and_process(
File "/cephfs2/public/AlphaLink2/AlphaLink2/unifold/dataset.py", line 300, in load_and_process
features, labels = load(**load_kwargs, mode=mode, is_monomer=is_monomer)
File "/cephfs2/public/AlphaLink2/AlphaLink2/unifold/dataset.py", line 202, in load
all_chain_features = [
File "/cephfs2/public/AlphaLink2/AlphaLink2/unifold/dataset.py", line 203, in
load_single_feature(s, monomer_feature_dir, mode, uniprot_msa_dir, is_monomer)
File "/cephfs2/public/AlphaLink2/AlphaLink2/unifold/data/utils.py", line 33, in wrapper
return copy_lib.copy(cached_func(*args, **kwargs))
File "/cephfs2/public/AlphaLink2/AlphaLink2/unifold/dataset.py", line 78, in load_single_feature
monomer_feature = utils.load_pickle(
File "/cephfs2/public/AlphaLink2/AlphaLink2/unifold/data/utils.py", line 33, in wrapper
return copy_lib.copy(cached_func(*args, **kwargs))
File "/cephfs2/public/AlphaLink2/AlphaLink2/unifold/data/utils.py", line 67, in load_pickle
ret = load(path)
File "/cephfs2/public/AlphaLink2/AlphaLink2/unifold/data/utils.py", line 64, in load
with open_fn(path, "rb") as f:
File "/cephfs2/public/AlphaLink2/alphalinkconda/envs/alphalink/lib/python3.9/gzip.py", line 58, in open
binary_file = GzipFile(filename, gz_mode, compresslevel)
File "/cephfs2/public/AlphaLink2/alphalinkconda/envs/alphalink/lib/python3.9/gzip.py", line 173, in init
fileobj = self.myfileobj = builtins.open(filename, mode or 'rb')
FileNotFoundError: [Errno 2] No such file or directory: 'test-hex7/XI_VIEW_SY_XL_5_DSSO_XL_redo_sequences/A.feature.pkl.gz'

No, the feature names are determined by the chains, but the name of the folder (within the output folder) is named after the fasta file. This is a relict from the original Uni-Fold pipeline, I should probably change this again to directly use the output folder, makes more sense.

What does your chains.txt look like?

A B C D

I see what the issue is. Uni-Fold expects zero or one underscores in the sequence identifier and uses the part after the first underscore as the chain id. I am not sure I have the time to fix it today. A quick solution should be to rename the chains in the FASTA file. Easiest would be just A B C D

No worries! I'll give this a shot and report back.

Hm, works actually fine in my small test. Could you attach the FASTA?

So it looks like it's not the chain naming, but the naming of the FASTA file. Shouldn't include underscores unless it is a divider for the chain.

Ok sounds good. Thanks again for testing this. I'll try it when I have access to the files in a bit

I pushed a fix. Let me know if it solves your issue.

Fixed, thanks!


skew_normal_rng seems a little too happy to return infs

Summary:
The way skew normals are generated, it's pretty easy to end up generating a pile of infs.
Description:
When I was writing the vectorized skew normal tests I kept getting segfaults in one of the unit distribution tests (assert_matches_quantiles in test/unit/math/prim/scal/prob/util.hpp). These segfaults were coming about cause the skew_normal_rng was spitting out infs.
It's possible to patch assert_matches_quantiles so it doesn't blow up (and the tests pass) by just manually counting inf values in the appropriate quantile (either the minimum or maximum quantile), but I don't think the rng should be returning these infs in the first place.
This is the code that generates the skew_normal random variates:
boost::math::skew_normal_distribution<> dist(mu, sigma, alpha);
output[n] = quantile(dist, uniform_rng(0.0, 1.0, rng));

I think something is going wrong in the optimization problem in quantile. Suggestions on what to do? I can just dodge the issue and bin the numbers appropriately, but it doesn't seem great that we're getting infs.
Reproducible Steps:
This code will generate infs:
#include <boost/math/distributions.hpp>
#include <iostream>

int main(int argc, char **argv) {
  boost::math::skew_normal_distribution<> dist(-2.5, 0.1, -2.5);

  double r0 = 0.99990;

  for(int i = 0; i < 10; i++) {
    double r = r0 + i * 0.00001;
    std::cout << "quantile " << r << " = " << quantile(dist, r) << std::endl;
  }
}

Build and run with (in a math git repo):
clang++ -I lib/boost_1.64.0/ skew.cpp && ./a.out

The output is something like:
bbales2@frog:~/math-vec$ clang++ -I lib/boost_1.64.0/ skew.cpp && ./a.out
quantile 0.9999 = -2.38662
quantile 0.99991 = -2.38553
quantile 0.99992 = -2.38432
quantile 0.99993 = -2.38296
quantile 0.99994 = inf
quantile 0.99995 = inf
quantile 0.99996 = inf
quantile 0.99997 = inf
quantile 0.99998 = inf
quantile 0.99999 = inf

Current Version:
v2.17.0

Dup of https://github.com/stan-dev/math/issues/527


Should "time" be part of the Spec?

I talk with @slapresta and he thinks that the tool is responsible for this (and for enabling/disabling it), and should not be part of the spec at all. I'm starting to agree, what do you think?
https://github.com/xsb/dog/blob/master/DOGFILE_SPEC.md#time

I don't know if the tool is responsible for this: while I don't find it particularly useful, I can see how something like dog --time task is an interesting feature to provide, particularly as it breaks down the time a task took into its sub-steps and hooks.
I do think that it shouldn't be part of the spec. I can't find any reason why a task would or wouldn't be marked as "time" on the Dogfile. Why would or wouldn't a task be "timey"? It seems like it's only related to the context in which you run the task, rather than to the task itself.

@slapresta I agree, different dogtools will have different requirements and having this in the Spec will make it more difficult. For example a chat bot is not going to measure elapsed time, but a task server (I'm thinking about Rundeck here) will always do it.
I also agree that this is a flag for dog, not for a task. If a task have pre/post-hooks, dog can measure the time of each task and the total ellapsed time, printing the information at the end.


Ash Ketchum’s livingdex is missing Pokémon.

Falsities in the living dex of Ash Ketchum:
In rotation:
Gigantamax Pikachu not selected.
Dragonite not selected.
Gengar not selected.
Lucario not selected.
Sirfetche’d not selected.
Dracovish not selected.
Traveling with:
N/A
With Professor Oak:
N/A
With Kukui and Burnet:
Incineroar not selected.
Melmetal not seected.
At the Cerise Laboratory:
Mr. Mime not selected.
In training:
N/A
Released; Officially owned:
Naganadel not selected.
Released; Temporarily owned:
Seaking not selected.
Buzzwole not selected.
Stakataka not selected.
Pheromosa not selected.
Released; Traded away:
N/A
Released; Given away:
N/A
Traveled with:
Haunter not selected.
Larvitar not selected.
Solgaleo not selected.

closing, we've updated this but also it's not super important for us to keep this up to date.


Implement also creating default value for non nullable reference types

Currently reference types will be set to null with DefaultCreator. For non nullable reference types create a default instance.

Closed with 466e201096997673f40409da712f45fd6efade83


Winget installer

If I was to add a winget installer for omnisharp, would you accept such a PR?

Took me a read or two to see that zip files are a supported installer type. I would not be against adding a manifest to support winget.


Chore: refactore CI - remove matrix

Motivation
The CI process is extremely long (30+ min), so the CI matrix case is redundant and increases CI execution time.

Even if it takes a long time, I think it is nice to check that the code builds on both Mac and Linux since we have had engineers on the team using Mac before.

Agree. To check that it works on MacOS is important.

After restart, it's not so big difference, IMO


Support weak references

@OmiCron07 can you try if this would work for you?

I have created tests around garbage collection and it seems to work as intended

I changed courier.Subscribe for courier.SubscribeWeak, but my callback never get called.

I have tried it in the wpf sample and it does not work sadly. I'll look into this

Okay, so the tests now work as expected, and I have tried it with the WPF sample. If you open a new window, close it, press the Run GC button, wait for the gc to actually run(you can see this in the diagnostic window in VS), set a breakpoint in MediatRCoutirer.cs line 45, then press increment again, you can see that the weak invocation list had 4 elements, but only 3 remain because the reference which the window had was garbage collected.
Please try it out and see if it works for you

I confirm in your test app that it works as expected. I cannot reproduce that same behaviour in my own app, but I think I have to rework some things to make it works as expected. So, I "approve" the changes 😜

I'll update the docs, then release a new version soon


It's hard to do form validation in the Prototype Kit

This come up on support so just recording the issues around validation in one place.
To validate a form you would check the data in a route. If it's not valid you could redirect back to the original page with, for example ?error=age. You can use that data on the page to show an error summary and error message.
However the auto data store feature means error=age is now stored in session - if a user comes back to this page the error will still show even if they fix it.
Some fixes:
You could remove the data from session manually if the validation checks pass:
delete req.session.data.error
You could use render instead of redirect in your route, which avoids passing the error data from page to page, but rendering on POST means the user sees a nasty warning if they refresh the page or press back to return to it.
You could use the _ naming feature to avoid auto data store(_error=age), but it also means data is not sent to the page, so you'd have to write a route to send it to the page:
res.locals.error = req.query._error

It would be good to have a standardised approach so people don't have to work it out for themselves, and don't use different approaches.
Related

#978
#509

https://github.com/alphagov/govuk-prototype-kit-docs/pull/267


Add pass to combine strided ops like NPU DMA ops

Combines strided operations, specifically amdaie.npu.dma_cpy_nd for now. The goal of this is to reduce the number of control code instructions, which improves performance and should help with avoiding resource issues as well (see https://github.com/nod-ai/iree-amd-aie/issues/556).
Example:
The following amdaie.npu.dma_cpy_nd operations can be combined into a single one as they have the same core access pattern (size: 16 and stride: 1), but different offsets.
%0 = amdaie.circular_dma_cpy_nd...
%1 = amdaie.npu.dma_cpy_nd %0([] [] [], [0] [16] [1])
%2 = amdaie.npu.dma_cpy_nd %0([] [] [], [0, 32] [2, 16] [32, 1])
%3 = amdaie.npu.dma_cpy_nd %0([] [] [], [96] [16] [1])

First, %1 and %2 are combined into a new amdaie.npu.dma_cpy_nd operation with offset 0 from %1, and the outermost size incremented from 2 to 3 to keep the transmitted data equal to the separate instructions.
%new1 = amdaie.npu.dma_cpy_nd %0([] [] [], [0, 0] [3, 16] [32, 1])
%3 = amdaie.npu.dma_cpy_nd %0([] [] [], [96] [16] [1])

Afterwards, %new1 and %3 can be combined into %new2, with the outermost size increment from 3 to 4:
%new2 = amdaie.npu.dma_cpy_nd %0([] [] [], [0, 0] [4, 16] [32, 1])

Since the tests are passing it means this specific issue is not happening yet but it is still something to think about.  amdaie.npu.dma_cpy_nd basically consumes  hal.interface.binding.subspan which essentially will become the buffer arguments we pass to the kernel at runtime, so this combining is breaking the contract we have with the host code?
As an aside I am interested in understanding if the combination did happen in any of the e2e tests? If it did, I guess the combination takes into account the multiple bindings and I am not seeing something?

amdaie.npu.dma_cpy_nd basically consumes hal.interface.binding.subspan which essentially will become the buffer arguments we pass to the kernel at runtime, so this combining is breaking the contract we have with the host code?

Could you elaborate? I don't think the combination breaks anything with regard to hal.interface.binding.subspan.

As an aside I am interested in understanding if the combination did happen in any of the e2e tests? If it did, I guess the combination takes into account the multiple bindings and I am not seeing something?

Yes, it does happen for sure because of the peeling, i.e. prolog, main, epilog will have NPU DMA instructions which can be combined.

Could you elaborate? I don't think the combination breaks anything with regard to hal.interface.binding.subspan.

so my thinking is these ops will become something like this
  func.func @matmul_8_4_8_dispatch_0_matmul_8x4x8_f32(%arg0: memref<8x8xf32>, %arg1: memref<8x4xf32>, %arg2: memref<8x4xf32>) {
    aiex.npu.dma_memcpy_nd(0, 0, %arg2[0, 0, 0, 0][1, 1, 1, 32][0, 0, 0, 1]) {id = 0 : i64, issue_token = true, metadata = @obj7} : memref<8x4xf32>
    aiex.npu.dma_memcpy_nd(0, 0, %arg1[0, 0, 0, 0][1, 1, 1, 32][0, 0, 0, 1]) {id = 1 : i64, issue_token = true, metadata = @obj1} : memref<8x4xf32>
    aiex.npu.dma_memcpy_nd(0, 0, %arg0[0, 0, 0, 0][1, 1, 1, 64][0, 0, 0, 1]) {id = 2 : i64, issue_token = true, metadata = @obj0} : memref<8x8xf32>
    aiex.npu.dma_wait {symbol = @obj7}
    aiex.npu.dma_wait {symbol = @obj1}
    aiex.npu.dma_wait {symbol = @obj0}
    return
  }

each aiex.npu.dma_memcpy_nd is a runtime buffer argument, and I am wondering what happens if they get combined without the corresponding runtime adjustments..

Yes, it does happen for sure because of the peeling, i.e. prolog, main, epilog will have NPU DMA instructions which can be combined.

Ah maybe you are combining for the same dma temporally but you have a safeguard to make sure the above case I mentioned will not become one copy?

so my thinking is these ops will become something like this
  func.func @matmul_8_4_8_dispatch_0_matmul_8x4x8_f32(%arg0: memref<8x8xf32>, %arg1: memref<8x4xf32>, %arg2: memref<8x4xf32>) {
    aiex.npu.dma_memcpy_nd(0, 0, %arg2[0, 0, 0, 0][1, 1, 1, 32][0, 0, 0, 1]) {id = 0 : i64, issue_token = true, metadata = @obj7} : memref<8x4xf32>
    aiex.npu.dma_memcpy_nd(0, 0, %arg1[0, 0, 0, 0][1, 1, 1, 32][0, 0, 0, 1]) {id = 1 : i64, issue_token = true, metadata = @obj1} : memref<8x4xf32>
    aiex.npu.dma_memcpy_nd(0, 0, %arg0[0, 0, 0, 0][1, 1, 1, 64][0, 0, 0, 1]) {id = 2 : i64, issue_token = true, metadata = @obj0} : memref<8x8xf32>
    aiex.npu.dma_wait {symbol = @obj7}
    aiex.npu.dma_wait {symbol = @obj1}
    aiex.npu.dma_wait {symbol = @obj0}
    return
  }

Yes, it does happen for sure because of the peeling, i.e. prolog, main, epilog will have NPU DMA instructions which can be combined.

Ah maybe you are combining for the same dma temporally but you have a safeguard to make sure the above case I mentioned will not become one copy?

This pass does not operate on aiex.npu.dma_memcpy_nd, but on amdaie.npu.dma_cpy_nd and it will consider the input DMA argument so it won't combine across different circular DMA operations, so what's you're describing can't happen.

so my thinking is these ops will become something like this
  func.func @matmul_8_4_8_dispatch_0_matmul_8x4x8_f32(%arg0: memref<8x8xf32>, %arg1: memref<8x4xf32>, %arg2: memref<8x4xf32>) {
    aiex.npu.dma_memcpy_nd(0, 0, %arg2[0, 0, 0, 0][1, 1, 1, 32][0, 0, 0, 1]) {id = 0 : i64, issue_token = true, metadata = @obj7} : memref<8x4xf32>
    aiex.npu.dma_memcpy_nd(0, 0, %arg1[0, 0, 0, 0][1, 1, 1, 32][0, 0, 0, 1]) {id = 1 : i64, issue_token = true, metadata = @obj1} : memref<8x4xf32>
    aiex.npu.dma_memcpy_nd(0, 0, %arg0[0, 0, 0, 0][1, 1, 1, 64][0, 0, 0, 1]) {id = 2 : i64, issue_token = true, metadata = @obj0} : memref<8x8xf32>
    aiex.npu.dma_wait {symbol = @obj7}
    aiex.npu.dma_wait {symbol = @obj1}
    aiex.npu.dma_wait {symbol = @obj0}
    return
  }

Yes, it does happen for sure because of the peeling, i.e. prolog, main, epilog will have NPU DMA instructions which can be combined.

Ah maybe you are combining for the same dma temporally but you have a safeguard to make sure the above case I mentioned will not become one copy?

This pass does not operate on aiex.npu.dma_memcpy_nd, but on amdaie.npu.dma_cpy_nd and it will consider the input DMA argument so it won't combine across different circular DMA operations, so what's you're describing can't happen.

@nirvedhmeshram FYI, I added a testcase for this: https://github.com/nod-ai/iree-amd-aie/pull/606/files#diff-9683cd8b32cf91028abba50f48d52baa6aff7af67b1c54c4ff28d8c88f718acfR31


FunctionMatcher support for fully qualified function names

Now matcher will check both simple name e.g. foo and fully qualified one e.g. com.github.detekt.FooBar.foo.

This looks good! You didn't relate this with the issue because right now it doesn't fix that issue, right?

This looks good! You didn't relate this with the issue because right now it doesn't fix that issue, right?

I want to go through tests one more time, I have a suspension that they dont check behavior correctly

This looks good! You didn't relate this with the issue because right now it doesn't fix that issue, right?

I want to go through tests one more time, I have a suspension that they dont check behavior correctly

Now it should be correct.
Previously most tests assumed that function is in the root package. So if we remove name check inside matcher tests would still pass. Not a case anymore

I'm re-running CI because we just enabled a rule regarding the identation on the tests (#5819). I think that you need to change something to make the code complaint. Apart from that this is ready to merge :)


make each search refresh the page so user can go back through history.

Have the search keyword be put in the url so that the JS can read from the url and get past search. This will be how we will want to pull saved movies when user clicks on them.

https://developers.themoviedb.org/3/movies/get-movie-details
https://developers.themoviedb.org/3/getting-started/search-and-query-for-details


Chnages to be made in Footer page

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
In the Footer Page when we hover on the links for vegetables, pulses or etc., they need to change the color of text so that user can understand that he will be clicking that link and this will improvise the usability of the Website.
-> When we hover on links,, text need to change color
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

This issue already exists. Please check the existing issues before raising a new
one. Find another issue or feature to contribute to. Thank you!


Add attributes to most functions in allocator.mallocator and allocator.common.

Also made the attribute style more consistent, because it was all over the place throughout the package.
I looked at the Phobos styleguide, but I couldn't find anything about this, so I decided to follow the soft limit of 80 chars per line. That's why I put the attributes on their own line.
Overall the scheme is something like this:
[@safe] [@nogc] [nothrow] [pure]
[protection-level] [extern] <function-name / unittest>[params] [shared]

Let me know if there is an existing style that I need to follow. I only care about adding correct attributes on the functions, not about bikeshedding about the code style.

There were several functions in std.experimental.allocator.common that accept void[] or void* arguments. I decided to leave them as implicitly @system.

Some of these changes are introduced in #3891 but it's nice to have them in a separate PR like this.

I don't think we should be strict about placement of attributes at this time. The rationale of keeping to the column limit sounds sensible.
LGTM. I was initially confused as it initially looked like it added @trusted here and there, but those were already there.

Thanks all for the review. Is there something else that I need to address?


Exception thrown while executing UI block

I'm having an issue with expo and react-native-chart kit.
expo SDK: 36.0.0

Thanks

Solved by downgrading react-native-svg to 9.13.3

+1 for contributors, react-native-svg was the issue

This worked for me as well.


[Feature Proposal] Allow user to supply fallback value/path(s)

I'd like to have something similar to what I18n rubygem allows with regard to default values and alternate lookup paths.  Basically, this allows us to supply a default string if there is no value for the key supplied and/or alternate paths, which are resolved in the specified order until we have a match or we reach the last value, which is used as the default.
My use-case is for a mixin to DS.Model, which will give me translatable field names, defaulting to the actual name of the field (myModel.humanizedName('theField')), which would search for a custom field name and default to "The Field" or something like that.
I'd be happy to submit a PR if you think that behavior is something that you'd like in the library.
E.g.
// app/locales/en.js
{
  foo: 'bar',
  baz: {
    qux: 'corge'
  }
};

t = this.container.lookup('utils:t');

t('baz.qux'); // "corge"
t('baz.foo'); // Error!
t('baz.foo', { default: 'Fallback!' }); // 'Fallback!'
t('baz.foo', { default: ['foo', 'Fallback!'] }); // 'bar'

A default / fallback feature would be much appreciated.
Use case
I have an object retrieved from an external service which includes a category field. I would like to present a translation of this value, defaulting to a specific value in case it is not in the translation file.
To complicate matters, I would like the fallback to be configurable for interpolated values, and templates as well.

you can now override the handlers to provide your own customizations. Please see: https://github.com/dockyard/ember-cli-i18n#overriding-the-locale-lookup-handler


Timing on wc-ajax

For some reason, I do not get the timing on /?wc-ajax, the ajax endpoint for WooCommerce.
It would be of great help if it would be possible to add it to this endpoint somehow.
Also, is there any way to add my own custom timers?

Hi!
Thank you for the input, I'll check it, but it's probably because wc-ajax does not use the standard send_headers and handles it on its own.


This is how it might look like to generate an keyboard codewise

i made all quote signs backslash escaped too


[#noissue] fix quickstart readme

JAVA_HOME (7+ -> 8+)

Codecov Report

Merging #4026 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #4026      +/-   ##
==========================================
+ Coverage   41.14%   41.14%   +<.01%
==========================================
  Files        2332     2332
  Lines       73637    73637
  Branches     9979     9979
==========================================
+ Hits        30298    30300       +2
+ Misses      40547    40546       -1
+ Partials     2792     2791       -1

Impacted Files
Coverage Δ

...m/navercorp/pinpoint/test/OrderedSpanRecorder.java
70.19% <0%> (-1.93%)
:arrow_down:

.../pinpoint/rpc/client/PinpointClientHandshaker.java
65% <0%> (-1.43%)
:arrow_down:

...cluster/zookeeper/ZookeeperClusterDataManager.java
65.3% <0%> (+0.68%)
:arrow_up:

...orp/pinpoint/rpc/server/DefaultPinpointServer.java
80.2% <0%> (+0.69%)
:arrow_up:

...tor/metric/datasource/DefaultDataSourceMetric.java
78.78% <0%> (+3.03%)
:arrow_up:

.../profiler/sender/StandbySpanStreamDataStorage.java
76.27% <0%> (+3.38%)
:arrow_up:

Continue to review full report at Codecov.

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


Registering commands

Would be nice to be able to register slash commands through nodes.

#117 and #118

https://github.com/Markoudstaal/node-red-contrib-discord-advanced/releases/tag/v.3.6.0


devede: ffmpeg_3 -> ffmpeg

Motivation for this change
#120705
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 123465 at 9e4e445d run on x86_64-linux 1

2 packages built successfully:

devede
tests.trivial

1 suggestion:

warning: no-python-tests
Test runner could not discover any test cases: ‘Ran 0 tests in 0.000s’
Near pkgs/applications/video/devede/default.nix:48:0:
   |
48 |     description = "DVD Creator for Linux";
   | ^


[Need help] Could you please give samples for customizing the get_grad and get_embeddings of the victim?

I want to customize a victim model and use the FD attacker to attack, but it requires the get_grad() and get_embeddings(). I have no idea of what the outputs of those functions are expected, could you kindly give an example?

https://github.com/thunlp/OpenAttack/blob/bfedfa74f37c69db6d7092d9cc61822ee324919d/OpenAttack/victim/classifiers/transformers.py#L88-L166

Thanks for replying, I have already checked this, but I don't quite understand how it works. The self.curr_embedding was assigned to None before, how it got values afterwards? Thanks a lot!

We registered a forward hook to get the output of embedding layer.
https://github.com/thunlp/OpenAttack/blob/bfedfa74f37c69db6d7092d9cc61822ee324919d/OpenAttack/victim/classifiers/transformers.py#L51

Thanks a lot! I have figured it out.


Unprecendented VAE Load Times

20230904.931 resolves #1813 but causes another issue where the VAE load time after compile is much longer than it has been in the past. I believe this was resolved once before, but it seems the issue has returned. Previously, I had seen times of typically less than 400s for a full compile & load, but now current generation for a new combination can take upwards of 1500s, where VAE load alone takes roughly 1300s.

 The next driver release could speed it up a bit but don't know when the full fix would be available. The VAE compile should take about 17s currently.
While we wait for the vulkan driver fix we likely will have ROCM path fully enabled (with wmma).

The VAE compile should take about 17s currently.

To clarify, the compile is fast as you claim. The load after the compile is the bottleneck. I'll keep this open for a bit as changes continue to roll in for ROCm.

actually there is another compiler that gets invoked when loading the vmfb. This is the LLPC Spir-v to ISA compiler.

Resolved Adrenaline 23.9.3 from what I can see. Have get to hit these 2000s+ times on first generation.


Checkbox to disable abilities costs

It would be nice to have a checkbox to disable abilities costs since for me I don't find a relevant way to use them

Could you please clarify whether your suggestion pertains to the costs associated with abilities or the damage they inflict? If you're focusing on the latter, I can modify the form to include an option for adding either an 'Ability' (which does not cause damage) or an 'Attack' (which does). This enhancement will provide users with the flexibility to choose having either one or two Abilities/Attacks, or even none, according to their preferences.


Optimization: Stream CSV

Running CSVLint on large remote CSVs is slow, because it needs to download the file, then validate. It would be possible in Ruby to stream the response body, in which case it can be validated as it downloads, saving time and memory. Also, if :limit_lines is set, CSVLint can stop the download once those lines have been read.

Fixed by #146 :smile:


Field.render always calls React.Children.map which always creates an array of children.

It should probably call Field.mapChildrenToControl which already handles only calling React.Children.map if there is more than one child.

Fixed in #482 as well


BTCPay causes an exception

http://blockscan.com/orderInfo/11620218#ordermatches
Node A:
# sudo su -s /bin/bash -c 'counterparty-client btcpay --source 17FKi2nNYtq6VGjayArSNJ9MPQqZJC3j9U --order-match-id 255a7dcb95a4b5ec05dacd0850915934637d8cc2f88bd811d1b72944d7857d5b_994851318de11a0d1228d615f14198f109a93d9a92acbb0fec28cf450def5c73' xcpd
[INFO] Transaction (unsigned):<PHONE_NUMBER>735cef0d45cf28ec0fbbac929a3da909f19841f115d628120d1ae18d31514899010000001976a914448631c051d0f6c61fdd577d4ccb96f51262d8d188acffffffffa126412f2f3a91a2b00b8794e9d130d2c3751c4212eba7cbd84281456540fffe000000001976a914448631c051d0f6c61fdd577d4ccb96f51262d8d188acffffffff04b0ad0100000000001976a91436d371a9d4156430d56b9ac72b50193b38d30d2e88ac781e00000000000069512103bb20643509a27abfe83a0173597c9b9d577f05f5f72d10b83d3354e9902d0f7c2102874d45b30d1baf14199e128207b4d67b6cd7191b4f9d43cfda25766d44940cfc210246d2c2c511f1ea843f607edb8050498d1b3e74b9d952a2bc043a5c5147cc3ef853ae781e000000000000695121039120643509a27abfe8933ce9c0f57aef70c26e0516c796063563c5b0a44e720321020b8fbd38d50a7ea330dac5077aef4f333de694fa559051e70c30872cdc6505e2210246d2c2c511f1ea843f607edb8050498d1b3e74b9d952a2bc043a5c5147cc3ef853ae787c0100000000001976a914448631c051d0f6c61fdd577d4ccb96f51262d8d188ac00000000
Sign and broadcast? (y/N) y
Source address not in wallet. Please enter the private key in WIF formar for 17FKi2nNYtq6VGjayArSNJ9MPQqZJC3j9U:*******************
[ERROR] Unhandled Exception
Traceback (most recent call last):
  File "/usr/local/bin/counterparty-client", line 9, in <module>
    load_entry_point('counterparty-cli==1.0.1', 'console_scripts', 'counterparty-client')()
  File "/home/xcp/federatednode_build/env/lib/python3.4/site-packages/counterparty_cli-1.0.1-py3.4.egg/counterpartycli/__init__.py", line 12, in client_main
    client.main()
  File "/home/xcp/federatednode_build/env/lib/python3.4/site-packages/counterparty_cli-1.0.1-py3.4.egg/counterpartycli/client.py", line 722, in main
    args.unsigned)
  File "/home/xcp/federatednode_build/env/lib/python3.4/site-packages/counterparty_cli-1.0.1-py3.4.egg/counterpartycli/client.py", line 324, in cli
    signed_tx_hex = sign_tx(unsigned_tx_hex, params['source'])
  File "/home/xcp/federatednode_build/env/lib/python3.4/site-packages/counterparty_cli-1.0.1-py3.4.egg/counterpartycli/client.py", line 302, in sign_tx
    raise exceptions.TransactionError('Could not sign transaction with pybtctool.')
NameError: name 'exceptions' is not defined

Node B:
# sudo su -s /bin/bash -c 'counterparty-client btcpay --source 17FKi2nNYtq6VGjayArSNJ9MPQqZJC3j9U --order-match-id 255a7dcb95a4b5ec05dacd0850915934637d8cc2f88bd811d1b72944d7857d5b_994851318de11a0d1228d615f14198f109a93d9a92acbb0fec28cf450def5c73' xcpd
[INFO] Running v1.0.0 of counterparty-client.
ERROR:root:Unhandled Exception
Traceback (most recent call last):
  File "/usr/local/bin/counterparty-client", line 9, in <module>
    load_entry_point('counterparty-cli==1.0.0', 'console_scripts', 'counterparty-client')()
  File "/home/xcp/federatednode_build/env/lib/python3.4/site-packages/counterpartycli/__init__.py", line 12, in client_main
    client.main()
  File "/home/xcp/federatednode_build/env/lib/python3.4/site-packages/counterpartycli/client.py", line 229, in main
    unsigned_hex = messages.compose(args.action, args)
  File "/home/xcp/federatednode_build/env/lib/python3.4/site-packages/counterpartycli/messages.py", line 272, in compose
    return compose_transaction(args, message, param_names)
  File "/home/xcp/federatednode_build/env/lib/python3.4/site-packages/counterpartycli/messages.py", line 265, in compose_transaction
    check_transaction(method, params, unsigned_tx_hex)
  File "/home/xcp/federatednode_build/env/lib/python3.4/site-packages/counterpartycli/messages.py", line 234, in check_transaction
    tx_info = transaction.check_outputs(method, params, tx_hex)
AttributeError: 'module' object has no attribute 'check_outputs'

Trying to sign and broadcast transaction generated by btcpay on "Node A" using CounterWallet:

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/10213461-btcpay-causes-an-exception?utm_campaign=plugin&utm_content=tracker%2F494307&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F494307&utm_medium=issues&utm_source=github).

Seems there is 3 different bugs here.
About the second, seems you are using in the Node B the develop branch of counterparty-cli. To use this branch you need to install the checktx branch of counterparty-lib.
About the third, I opened an issue in counterwallet repo: https://github.com/CounterpartyXCP/counterwallet/issues/721

BTW, I think there is a mistype here ("formar").
https://github.com/CounterpartyXCP/counterparty-cli/search?utf8=✓&q=formar

@ArtemKo7v: Thank you, I fixed the typo and will push it as soon is possible (get a timeout when trying to push)
About the first problem, there is a two problems in it:

an import error in counterparty-cli (the fix also waits a push)
a more general problem with pybtctools https://github.com/CounterpartyXCP/counterparty-cli/issues/28

see last 3 commits here: https://github.com/CounterpartyXCP/counterparty-cli/commits/develop


Add initial implementation

Initial checklist

[x] I read the support docs
[x] I read the contributing guide
[x] I agree to follow the code of conduct
[x] I searched issues and couldn’t find anything (or linked relevant results below)
[x] If applicable, I’ve added docs and tests

Description of changes
This is the initial implementation of the remark language server. This is a simple implementation of unified-language-server. Any logic exists in that package.

Released!


O11Y-4623: Update Context API examples in opentelemetry-dart README

Which problem is this PR solving?
This PR updates the README with better context propagation examples following recent API changes.
Fixes #162
How Has This Been Tested?
This is a documentation change.  No further testing should be required.
Checklist:

[ ] Unit tests have been added
[x] Documentation has been updated

Security Insights
No security relevant content was detected by automated scans.
Action Items

Review PR for security impact; comment "security review required" if needed or unsure
Verify aviary.yaml coverage of security relevant code

Questions or Comments? Reach out on Slack: #support-infosec.

@Workiva/release-management-p

Let me get this right. You updated the readme with a deprecated way of doing things?


Use webpack raw-loader to keep Python code in an actual .py file

Personally I find it much nicer and easier to work with a .py file that my IDE can understand properly rather than a big string literal in a .ts file. I hope you'll agree.

It had the benefit of being able to share JavaScript constants (such as the code entry-points like init_papyros). However, using it for Python also allows using it for other languages that also might have setup code that can benefit from IDE support.


Code for video 5

Hi Vincent!
Many thanks for the videos, they're very helpful :)
I was wondering when you might be able to publish the code for the latest video which uses Spacy 3.
Thank you!

Ah yes! It's published under a new repo: https://github.com/koaning/proglang-project I'll add a comment to the readme too!

Sweet, thanks a lot! @koaning, moving to a project and it's handy to have a template to follow the first time!


Add Asteroids-3D

Description
I would like to add a asteroid game.
Additional context
Kindly assign this to me under GSSOC'24

You project should have manifest files. As it's an extension repository

Sure


Also clear text when clearing object view

Fixes #2289

I’m still able to reproduce the original issue with this change.
It seems to me like the text mode string should be cleared as soon as you initiate a search and something else gets selected. Or maybe the current behavior is fine and we shouldn’t worry about it? 🤷🏻♂

Hmm... am I following the right steps? See below:
https://user-images.githubusercontent.com/150431/154369571-5677edc1-fc8f-4947-9995-7a8e3b48bd98.mov

So, I noticed something strange in your video. As you hit Delete, the selection changes. I had never seen that happen, then I remembered you’re a monster and use that one-character-at-a-time delete preference. 😜
If I disable double-Delete to clear the selection, I see what you see. So the behavior must be slightly different for that last keypress depending on that setting. I can look into it.

You caught me!

Maybe we should clear the text string inside clearSearch instead?

 I'll look into it and update this PR.

That might be too heavy handed. It’s called from 11 places. Maybe we should create a clearSearchAndText that calls clearSearch and adds your new code? Or just repeat the code in that method.

OK, so you were right that clearing the text string in clearSearch was too heavy handed. I just tried that and it broke everything. That's because clearSearch is called every time you type anything into the search field (it's more akin to 'reset and get ready to redo another search').
I cleared the string in the 3 places I can think it makes sense:

Deleting backwards with 'Pressing the Delete key clears the whole search string' off (my case)
Deleting backwards with 'Pressing the Delete key clears the whole search string' on (Rob's case)
Pressing ⌃U to clear the search object

I think that's good enough for now :)


Lot of errors to solve.

python3 osmedeus.py -t Target.com
Traceback (most recent call last):
File "osmedeus.py", line 13, in
from lib.mode import routine
File "/home/nittonull/Downloads/Osmedeus/lib/mode/routine.py", line 6, in
from lib.mode import general
File "/home/nittonull/Downloads/Osmedeus/lib/mode/general.py", line 6, in
from modules import subdomain
File "/home/nittonull/Downloads/Osmedeus/modules/subdomain.py", line 1, in
from modules import skeleton
File "/home/nittonull/Downloads/Osmedeus/modules/skeleton.py", line 7, in
from lib.monitor import compare
File "/home/nittonull/Downloads/Osmedeus/lib/monitor/compare.py", line 10, in
from lib.noti import slack_noti
File "/home/nittonull/Downloads/Osmedeus/lib/noti/slack_noti.py", line 6, in
import slack
File "/usr/local/lib/python3.7/dist-packages/slack/init.py", line 4, in
from slack.web.client import WebClient  # noqa
File "/usr/local/lib/python3.7/dist-packages/slack/web/client.py", line 9, in
from slack.web.base_client import BaseClient, SlackResponse
File "/usr/local/lib/python3.7/dist-packages/slack/web/base_client.py", line 15, in
import aiohttp
File "/usr/lib/python3/dist-packages/aiohttp/init.py", line 6, in
from .client import BaseConnector as BaseConnector
File "/usr/lib/python3/dist-packages/aiohttp/client.py", line 63, in
from .client_reqrep import ClientRequest as ClientRequest
File "/usr/lib/python3/dist-packages/aiohttp/client_reqrep.py", line 29, in
from . import hdrs, helpers, http, multipart, payload
File "/usr/lib/python3/dist-packages/aiohttp/multipart.py", line 703, in
class MultipartWriter(Payload):
File "/usr/lib/python3/dist-packages/aiohttp/multipart.py", line 786, in MultipartWriter
headers: Optional[MultiMapping[str]]=None
TypeError: 'ABCMeta' object is not subscriptable

The issue is no longer exist due to the repo having been upgraded to Osmedeus Next Generation v4.0

The issue is no longer exist due to the repo having been upgraded to Osmedeus Next Generation v4.0


⚠ ClamAV has degraded performance

In 0cdeb8c, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 199 ms

Resolved: ClamAV performance has improved in b7136ca.


Add default to max_rejections in stochastic_contractor.stochastic()

The 'max_rejections' should have a reasonable default. If no default is reasonable, then some guidance on how to set this parameter should be given. max_rejections=10 seemed to work fine for me.
https://github.com/google/TensorNetwork/blob/6672f7e2be774b0510c5b460fcab1dc0835a3778/tensornetwork/contractors/stochastic_contractor.py#L101

I'm currently considering deleting stochastic and naive in favor of using exclusively the einsum contractors. (Einsum also supports randomized path finding).


⚠ Plex has degraded performance

In d82275b, Plex ($SITES_URL_PLEX) experienced degraded performance:

HTTP code: 525
Response time: 2627 ms

Resolved: Plex performance has improved in b453c56 after 45 minutes.