Don’t know how it is for you, though, for me latest xmr-stak OpenCL kernels (dev branch, with invalid shares fixed) perform about 5% better than xmrig-hip, in the end.
That’s without memory overclock on the cards, however. (I didn’t get it to work yet / no time.) Does xmrig-hip catch up with memory overclocked? Would be quite interesting to know.

Let me clarify again.
since release of 4.18.0-rc1 someone broke softpowerplay table for PreVega ASICs, in particular I have tested on Polaris and Fiji. Simply reloading pp_table(by reload I mean cp pp_table /tmp/ && cp /tmp/pp_table pp_table) leads to instant sdma0/sdma1 death, if setting gpu_recovery=1 it tries to recover GPU constantly and dmesg is flooded with all kind of errors.
I'm not going to go into details about the errors, developers are aware of that issue and will hopefully fix that in mainline kernel.
About claims for users that say that 18.30 opencl compiler is the fix for hashrate -> wrong, its the firmware blob that comes with 18.30 package amdgpu-dkms that fixes crippled Vega, copying libamdocl64.so from amdgpu-opencl-icd 18.10 package over 18.30 fixes compiler issues.
Cheers.

Maybe it’s due to the fact that we’re running with HSA_ENABLE_SDMA=0 for Vega – something about the scheduling / work distribution.

From my experience HSA_ENABLE_SDMA=0 is no longer needed with ROCm 1.9.

@ddobreff I'm seeing errors such as:
kernel: [ 3214.177085] amdgpu 0000:0a:00.0: GPU fault detected: 147 0x00424802
kernel: [ 3214.177104] amdgpu 0000:0a:00.0:   VM_CONTEXT1_PROTECTION_FAULT_ADDR   0x00000008
kernel: [ 3214.177118] amdgpu 0000:0a:00.0:   VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x07048002
kernel: [ 3214.177132] amdgpu 0000:0a:00.0: VM fault (0x02, vmid 3) at page 8, write from 'TC4' (0x54433400) (72)

Is this due to the driver issue you are talking about?

Thats what broken compiler from 18.30 causes, read up what I wrote.

Cast XMR released a beta for Linux on the 5th. Although it supposedly works with amdgpu-pro, I've tried everything i know and I end up with the following on ROCm:
[14:44:24] Initializing GPU, loading kernel ...
Detected OpenCL Platform: OpenCL 2.1 AMD-APP (2679.0)
Driver Version OK.
GPU0:  (gfx900) | 64 Compute Units | Memory (MB): 16368 | Intensity: 10 / 12
[14:44:27] Error clBuildProgramm -11

https://bitcointalk.org/index.php?topic=2256917.2900
If anyone can take a look. Much appreciated!

I flipped the switches on my reference 56s over to the 64 bios.  Did like test on xmrig-hip and xmr-stak 2.5.0, and xmrig-hip is around 1% faster.
[2018-10-14 19:55:22] speed 10s/60s/15m 10980.8 10978.5 n/a H/s max 11001.2 H/s
| THREAD | GPU | 10s H/s | 60s H/s | 15m H/s | NAME
|      0 |   0 |  1803.4 |  1803.2 |  1804.3 | Vega [Radeon RX Vega]
|      1 |   1 |  1868.1 |  1868.2 |  1868.0 | Vega [Radeon RX Vega]
|      2 |   2 |  1803.4 |  1803.3 | 1803.6 | Vega [Radeon RX Vega]
|      3 |   3 |  1769.2 |  1767.2 | 1768.4 | Vega [Radeon RX Vega]
|      4 |   4 |  1891.2 |  1891.6 | 1891.4 | Vega [Radeon RX Vega]
|      5 |   5 |  1844.8 |  1844.9 | 1844.7 | Vega [Radeon RX Vega]
[2018-10-14 19:55:25] speed 10s/60s/15m 10980.5 10978.5 10980.4 H/s max 11001.2 H/s

I'm pushing a 1390mhz sclk pp_table to all of these vegas,  but I believe drivers base final sclk on some factor of ASIC quality?  So my GPU3 (xfx reference 56 with 64 bios) only runs actual sclk 1310 @ 925mv.
 ID       Name  Sclk  Mclk Volts Watts  Temp   Fan
============================================================
  0   rxvega56  1331  1090   925   108    61   36%
  1   rxvega64  1325  1090   925   109    49   36%
  2   rxvega56  1333  1090   925    95    61   48%
  3   rxvega56  1310  1090   925   103    61   37%
  4   rxvega64  1343  1090   925   109    45   36%
  5   rxvega56  1362  1090   925   108    61   61%
============================================================
  6                                632

With this same setup, here are xmr-stak dev 2.5.0 rates.
xmr-stak 2.5.0
HASHRATE REPORT - AMD
| ID |    10s |    60s |    15m | ID |    10s |    60s |    15m |
|  0 |  894.3 |  845.5 |  844.2 |  1 |  900.7 |  940.4 |  942.0 |
|  2 |  958.8 |  957.4 |  949.1 |  3 |  894.8 |  893.6 |  899.8 |
|  4 |  900.5 |  900.4 |  869.2 |  5 |  900.5 |  900.4 |  923.2 |
|  6 |  876.8 |  847.7 |  834.2 |  7 |  883.1 |  909.2 |  920.0 |
|  8 |  968.9 |  969.6 |  968.0 |  9 |  904.3 |  904.9 |  907.4 |
| 10 |  914.9 |  842.4 |  855.8 | 11 |  914.9 |  967.2 |  958.5 |
Totals (AMD):  10913.0 10879.4 10871.9 H/s
-----------------------------------------------------------------
Totals (ALL):   10913.0 10879.4 10871.9 H/s
Highest:  11196.9 H/s
-----------------------------------------------------------------

That said,  I can split xmr-stak into 6 processes and not loose hashrate like I see on xmrig-hip, so I'm using xmr-stak because it makes monitoring processes and hashrates easier.

That is 10s rates on a 1 card sample size.  I'm not sure how much I can trust those numbers.
For me, xmrig-hip is 1% faster when comparing the 15m hashrates averages across 6 card rig.   Sample size is a bit stronger.   Maybe you can duplicate longer tests across more cards to get some statistically significant numbers?
And your actual sclk @ 1450 @ 900mv?    Running HIP at 8x448, OpenCL 2 threads, each at intensity=1928, unroll=8, strided=2, stride=2. Part of the problem comes down to 8x448x2=7168, meaning ~700 MB of memory are unused by the HIP miner; but blocks=480 is slower, because it is not an integer multiple of 56.
I get 835 H/s on RX 470 sclk=1126 (BIOS timings mod, but memclock @ 1750) though (4x480, kind of weird config), and cannot even get more than 800 with OpenCL. I think I’m missing the right settings.

For me, xmrig-hip is 1% faster when comparing the 15m hashrates averages across 6 card rig. Sample size is a bit stronger. Maybe you can duplicate longer tests across more cards to get some statistically significant numbers?

I only have one Vega64 and it doesn't really matter if I run it 10sec or 3h.
The tricky part is SoC clock. I am running on dpm5 and setting SoC idx5 to mclk+id, that way my SoC clock is higher than memory and can handle more memory OC. Testing it at 1560/1100/925 doesn't really give much more but power is like 10% more.
I don't have problem with polaris GPUs, they perform as expected with OpenCL.
949f45ac: Unfortunately I can't test your hip port on polaris because it requires atomics enabled and I have to use it on just one gpu and let others sleep. IIRC xmr-stak-hip gave ~ the same as opencl version but with single thread. If AMD decides to remove pci atomic requirements for polaris I'll be able to perform more intensive tests on your port.

@949f45ac you should be able to push well over 900 on opencl with your rx470s.  Mine with 4gb samsung memory push 965, and 4gb hynix push 950 @ 1250mhz core.

Like I said, this is with running memory @ 1750 MHz (stock), only the timings are modded else it wouldn't break 600 H/s. The thing is that if I overclock memory (either via pp_table or pp_mclk_od) everything becomes a lot slower. (So maybe memory is really running faster than 1750 somehow.)
Core clock just doesn’t respond to overclocking it seems. If it put it to level 6 or 7 (1169+ Mhz), I get ~860 H/s.
How do you manage to overclock RX 470 on linux?
Either way, I’d expect different settings here to not affect speed discrepancy between OCL and HIP too much.

Ref: "the kfd rule". I haven't actually tried(tested) this udev rule, for regex, and for env{vars} ucase/lcase aspect:
/etc/udev/rules.d/00-rocm-or-not
"To try ROCm with an upstream kernel, install ROCm as normal,
but do not install the rock-dkms package. Also add a udev rule
to control /dev/kfd permissions:"
IMPORT{cmdline}="BOOT_IMAGE"
ENV{BOOT_IMAGE}=='4.1[234567].', GOTO="go_rocm"
SUBSYSTEM=="kfd", KERNEL=="kfd", TAG+="uaccess", GROUP="video"
LABEL="go_rocm"
https://github.com/RadeonOpenCompute/ROCm/issues/581

@rhlug, would you mind sharing your Vega configuration for xmr-stak?
I've just updated to the 2.5.0 for the Monero-v8 fork, made minimal edits to my config to get it to at least start up, and find my Vega FE hash rate has halved! :( Having real trouble finding info on it...

(also, I'm on linux 4.19_rc8 if that helps...)

Ubuntu released Cosmic Cuttlefish ystdy. Monero went to v8 today.
Geniuses used the words proximately, as if by association,"AMD..assymetry...CUDA...parallelism", but I thought hip hcc were limitted by cuda seriaiity on pre-fetch for Monero (algo v8), as I read about xmr-stak-hip? Then there's hardware capacity for assymetrical/parallel prefetch and such, but what, languages aren't capable? ..."Vulkan", "SPIR(...already in edge OpenCL).
Assymetry/parallism and even AI in prefetch, are required in languages for Monero algo and to use this: "Vega GPU IP also includes in that HBCC/HBC/memory controller subsystem the ability to manage in its Vega GPU micro-architecture based GPU SKUs the GPU’s own virtual memory paging swap space of up to 512TB of total GPU virtual memory address space.
So that’s 512TB of addressable into any system DRAM and onto the system’s memory swap space of any system NVM/SSD or hard drive storage devices attached".
Geniuses. need to know what veteran light bulb changers know for sure:
"On CUDA, memory operations cannot be run asynchronous like that. Instead we use prefetch to achieve a similar effect."

Updated https://github.com/949f45ac/xmrig-HIP to support CN/2 aka Monerov8/9.
Does 1600 H/s and up without errors.
Hope it’s useful to some of you. :) OpenCL miner did not work well for me on v8.

@BobDodds

"On CUDA, memory operations cannot be run asynchronous like that. Instead we use prefetch to achieve a similar effect."

"Asynchronous" can be on many levels. E.g. all the GPU compute frameworks work in a manner such that you put jobs into a pipeline and then collect the results later. This is asynchronous, but not very important as far as Monero is concerned, since our most important compute task runs for about 2 seconds, meaning we don’t put a lot of jobs into the pipeline, compared to other programs. Memory transfer between RAM and GPU device can also be asynchronous on some frameworks – again we don’t care a lot, as the amount of memory a miner transfers is laughably small.
What we actually care about in CryptoNight is reads/writes to the scratch pad, which in the GPU miner resides in the card’s video memory. (In the CPU miner, it is a much different situation.)
And here the interesting thing about GCN ISA (AMD), as opposed to PTX ISA (Nvidia) is that GCN ISA has seperate instructions for requesting the memory operation, and waiting on its completion. I think that most of the time it is actually not a big deal at all, and a prefetch instruction on PTX does the job too. But if you really get down on the ISA level, there will be interesting uses.

@949f45ac have you tried using mainline kernel? I have serious performance drop using mainline vs amdgpu-pro in OpenCL.

Can confirm mainline kernel is slow.
What should the OpenCL v8 performance on amdgpu-pro be?
I think I may have some interference between amdgpu-pro and the ROCm stack (no dkms) on my machines. Probably the miners are using the wrong OpenCL implementation. But the right one seems to be missing after ROCm installation.
I noticed this when I did a fresh install to test castxmr. Installed amdgpu-pro first, tested castxmr, ran fine. Then I installed some ROCm stuff in order to be able to run HIP programs, and castxmr wouldn’t work anymore, no matter what OpenCL platform id I told it to run on.

I don't know expected stock performance but with these settings-> sclk: 1250, mclk: 1100, vlt: 875 my Asus Strix Vega64 does 1820H/s without any problem using xmrig-amd or xmr-stak, castxmr is a bit slower.
You can't run castxmr on non amdgpu-pro OpenCL stack, the devs kernel is compiled specifically for amdgpu-pro and cannot run on rocm or mesa.
I have talked to AMD devs and informed them about performance regression in mainline/upstream kernels vs amdgpu-pro, I hope they take it serious and fix that in upstream at least.
P.S. For everyone having problems with editing powerplay table on 4.18+, here is the patch that fixes it:
https://patchwork.freedesktop.org/patch/258557/

@ddobreff is this hashrate measured with latest Monero v8 fork?

@uentity , check out everything by Spudz76 on xmr-stak's github. He benchmarks what he says about xmr-stak, xmrig, and 18.30 and rocm.
I'm scripting my own Ubuntu downgrade release, Narnic Nun, applying a few debconf/apt/dpkg pins to xenial server. The gist of it is, compilers aren't working for amd 18.30 and/or rocm and/or advanced kernels. I assume that's temporary.

OK, I might have wasted your time then, @uentity . That's such a big drop in hashrate that I would suspect errors. If your gpu's are detected by xmr-stak that's the first sign you're ok, but such a big drop hints at possible errors. clinfo gives my gpu's a clean bill, and I can do tricks with pp_tables, turn fans up and down, but xmr-stak will compile but not recognize gpu's.

Yes hashrate is for CNV2 a.ka Monero v8 with amdgpu-pro 18.30 dkms kernel driver and 18.10 OpenCL compiler.

I am on Ubuntu 18 with 4.15.0-55-generic kernel. I have ROCm driver installed with rocm-dkms. I have xmr-stak 2.10.7 fd19a5d and hashrate is around 1300H/s
Can I improve the speed or I have to switch to Windows?

@cirolaferrara
Try using amdgpu-pro (preferrably 18.40) installed with --opencl=pal --headless options. No rocm-dkms. This makes the open source miners work well for cn/2, but I believe cn/r is still pretty bad, can only be fixed by using team red miner, at least when I last tried.

Fixed with debian 10, this guide and installing opencl driver

I'm running opencl 19.30 on Arch and still can't reach 2k with a 56 flashed 64 Vega. Using Soft PP tables and amdmemtweak with TMR. Any suggestions? Thanks!

I am closing this issue as its around 2 years old.
Request to try with the latest ROCm released version 4.0 and open a new issue if any.
Thank you.

I am closing this issue as its around 2 years old.
Request to try with the latest ROCm released version 4.0 and open a new issue if any.
Thank you.


Star Tree Request/Response structure

Description
For an index supporting star-tree composite index, this changes tries to achieve resolving a metric aggregation with/without a numeric terms query with the help of star-tree.
This PR in present state primarily focuses on flow of information request to response. Therefore, the code pieces around calculating the correct response values are still inaccurate and are in WIP.
This PR depends on https://github.com/opensearch-project/OpenSearch/pull/14809, therefore the depending unmerged changes have been utilized for now in my private fork to discuss the changes in parallel.
Example query shape:

Request:
{
    "query": {
        "term": {
            "status": 200
        }
    },
    "size": 0,
    "aggs": {
                        "sum_status": {
                            "sum": {
                                "field": "size"
                            }
                        }
                    }
}

Response:
{
    "took": 4038,
    "timed_out": false,
    "_shards": {
        "total": 1,
        "successful": 1,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": {
            "value": 42,
            "relation": "eq"
        },
        "max_score": null,
        "hits": []
    },
    "aggregations": {
        "sum_status": {
            "value": 24745.0
        }
    }
}

Star Tree Flow Response:
{
    "took": 21120,
    "timed_out": false,
    "_shards": {
        "total": 1,
        "successful": 1,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": {
            "value": 1,
            "relation": "eq"
        },
        "max_score": null,
        "hits": []
    },
    "aggregations": {
        "sum_status": {
            "value": 24745.0
        }
    }
}

Approach:

The query shape is identified at the shard level (SearchService.java) and the query/aggregation (if can be resolved by star-tree) is parsed to a star-tree query.
The star-tree query is wrapped around OriginalOrStarTreeQuery to preserve the original query - this is because the decision to decide which implementation (default/startree) to use can be taken for a segment level.
If star-tree can be utilized to answer the query, the star-tree document set is then collected by the relevant aggregator/collector. In this POC, I have made changes to SumAggregator to demonstrate the flow of changes.

Related Issues
Resolves #[Issue number to be closed when this PR is merged]

Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Failing checks are inspected and point to the corresponding known issue(s) (See: Troubleshooting Failing Builds)
[ ] Commits are signed per the DCO using --signoff
[ ] Commit changes are listed out in CHANGELOG.md file (See: Changelog)
[ ] Public documentation issue/PR created

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Closing this PR in lieu of https://github.com/opensearch-project/OpenSearch/pull/15289


JOSS Paper review 2

Dear @EssamWisam,
first, thank you for submitting this great paper. I think you have already done a very good job at providing the community with this useful package.
I have only stumbled about some minor issues that I think will be quick fixes:

Look at the missing and incorrect references that the editorial bot points out.
In the section "Imbalance.jl Design Principles" you list all the "shoulds" and then say that you met these "shoulds". This is redundant and slows the reading flow. I like that you list the implemented techniques and Interface Support. Wouldn't they fit equally well in the section "Imbalance.jl"? Some of the "principles" are already mentioned and then you would avoid the confusion what are the four principles mentioned in the issue #85.
The subsection "User Experience" is not necessary in my point of view as those are basic design principles for software dev.
On a superficial level, instead of mentioning all the principles that are already included, you could rather have small section on future work or suggestions for contribution (not necessary).
(Line 118 could be regarded as a widow, tho don't worry too much about those.)

Thank you so much for the positive words and your valuable time.
I will consider fixing (1), (5). I see how (4) may make sense but I as well feel that the purpose of a future work section would be orthogonal to this. I agree that it could be worth adding a future work section eitherway.
As for (3), it's there just for completeness and because the specific user experience principles mentioned therein can be viewed to be on average not principles that software developers tend to emphasize. Could we agree that it doesn't hurt to keep it?
As for (2):

In the section "Imbalance.jl Design Principles" you list all the "shoulds" and then say that you met these "shoulds". This is redundant and slows the reading flow.

I seem but if I take off that we meet such "shoulds", one may assume that they are not met as the section is about the design principles.

I like that you list the implemented techniques and Interface Support. Wouldn't they fit equally well in the section "Imbalance.jl"? Some of the "principles" are already mentioned and then you would avoid the confusion what are the four principles mentioned in the issue https://github.com/JuliaAI/Imbalance.jl/issues/85.

In my view, not exactly equally as it could be too much information to comprehend if I add them all there (specificially interfaces) compared to having these details in an organized seperate section. The "Imbalance.jl" section is meant to be a swift introduction. You're right that there may be some little redundancy in this but wouldn't you agree that the vast majority of the principles are facts not mentioned earlier so it could be okay? I also proposed a specific workaround for #85 in the issue.
Thank you for the valuable thoughts.

Regarding (2) You could write something along the lines like, the implemented technology feature are... [the list of bulletpoints].

The "Imbalance.jl" section is meant to be a swift introduction.

Have a look at other paper. The summary is meant to provide a brief introduction. When you present your package, the reader wants to have all functionality at first glance. At least restructure the paper paper that you include the section "principles" in the section "Imbalance.jl" as a subsection.
As of (3), I disagree, because it distracts from the important information.
Regarding (4), I would only include it in the docs and only, if you have such a list already.

Regarding (2) You could write something along the lines like, the implemented technology feature are... [the list of bulletpoints].

This is to say it could be better to call the section "Package Features" instead of "Design Principles" right? I do have a preference towards the latter if you also find that sensible.

Have a look at other JOSS paper. The summary is meant to provide a brief introduction. When you present your package, the reader wants to have all functionality at first glance. At least restructure the paper...

I likely mainly considered the JOSS documentation which says that the summary should explain high-level functionality and purpose of software. Notice that the Imbalance.jl section is inside the Summary section in the paper.
I can try make the Imbalance.jl section be a main section and have the design principles come under it. Would this align with your recommendation?

Regarding (4), I would only include it in the docs and only, if you have such a list already.

I believe it's already in the docs. Particularly in the contribution page. So you're saying that it wouldn't make sense to add a "Future Work" section to the paper, eh?

As of (3), I disagree, because it distracts from the important information.

Wouldn't you agree that it shouldn't have such negative effect especially because it's the last subsection in the whole paper? Or would you agree that taking it off would imply that readers of the paper will have to figure out that these user-related features exist on their own?
Thank you again for your valuable comments.

Due to the JOSS submission
https://github.com/openjournals/joss-reviews/issues/6310

I can try make the Imbalance.jl section be a main section and have the design principles come under it. Would this align with your recommendation?

Sounds good to me

This is to say it could be better to call the section "Package Features" instead of "Design Principles" right? I do have a preference towards the latter if you also find that sensible.

No no, I was only trying to rephrase the paragraph to avoid the redundancy. I don't mind it that much and think the above restructuring is more important.

I believe it's already in the docs. Particularly in the contribution page. So you're saying that it wouldn't make sense to add a "Future Work" section to the paper, eh?

Found it. Sorry for the confusion.

Wouldn't you agree that it shouldn't have such negative effect especially because it's the last subsection in the whole paper? Or would you agree that taking it off would imply that readers of the paper will have to figure out that these user-related features exist on their own?

I'll leave the decision to you, whether you want to keep it or not.

Of course, whenever you get the chance.


Purge local table => Delete statement parameter limit

If purge a table with more rows than the maximum amount of variables a statement can have there the purge fails with this error: "too many SQL variables".
I think that if a purge should delete all rows. Maybe i'm missing something but doing reading all records and then deleting them with DELETE FROM table WHERE ID IN () wont work for medium sized and big applications.
Right now i need to sync 4857 rows, they will stay there, no much updating , but they are essential data for my logic.
Two options:
1.- when purging delete without WHERE. (risky?)
2.- doing this:  sqlite3_limit(db,SQLITE_LIMIT_SQL_LENGTH,size) ??
Will try to see if i can implement number 2 in client configuration.
Cheers

Can you please provide the code you are trying to use?

@adrianhall Sure:
syncContext.purge(new azure.Query('assets'))
Data is already sync.
I literally followed the execution until here:
        var deleteStatement = _.format("DELETE FROM {0} WHERE {1} in ({2})", tableName, idPropertyName, deleteExpressions.join());
        if (this._editStatement) { // test hook
            deleteStatement = this._editStatement(deleteStatement);
        }
        transaction.executeSql(deleteStatement, deleteParams);

On my scenario, having 4000+ id's to delete exceeded the maximum statement size.

Looks like the max limit can only be set in compilation time. I do not want to mess with sqlite code anymore :(

Changing the list of IDs to a query should I'll take a look.

@adrianhall @shrishrirang
More data:
deleteStatement.length =>9747
4857 parameters.
Ids are 36 char each.
4857  * (36 +1 (comma) ) =174852
174852 + 9747 = 184599 char long statement.

Another option would be to "page" the id's to delete like it's done on sync operations.

Maybe we can use sqlBatch ?

Thanks!! gonna test this tomorrow.
Great solution btw.!


Replaced the author comment.

Trying pull request.

Nice.

On Feb 4, 2015, at 17:13, echin94<EMAIL_ADDRESS>wrote:
Trying pull request.
You can view, comment on, or merge this pull request online at:
https://github.com/cst1201-d644/lab1/pull/2 https://github.com/cst1201-d644/lab1/pull/2
Commit Summary
Replaced the author comment.
File Changes
M Lab1/src/lab1/Pay.java https://github.com/cst1201-d644/lab1/pull/2/files#diff-0 (3)
M Lab1/src/lab1/SalesTax.java https://github.com/cst1201-d644/lab1/pull/2/files#diff-1 (3)
Patch Links:
https://github.com/cst1201-d644/lab1/pull/2.patch https://github.com/cst1201-d644/lab1/pull/2.patch
https://github.com/cst1201-d644/lab1/pull/2.diff https://github.com/cst1201-d644/lab1/pull/2.diff
—
Reply to this email directly or view it on GitHub https://github.com/cst1201-d644/lab1/pull/2.


Add option to search for unlisted packages

This change exposes the options for searching in a more centralized way so that we can add more if we need to without breaking the API.

/azp run

@sunandabalu The builds don't seem to be showing up as checks for my PR. Any ideas?

@sunandabalu The builds don't seem to be showing up as checks for my PR. Any ideas?

Looks like there is an AzDO outage happening, they are working on mitigating it.


Litmusify: infer compiler spec from directory or vice versa

If a litmusify (or explain) run is reading an assembly file from a memalloy run, it’s redundant to specify both the compiler spec and the directory tree.  We could infer one from the other, though I’m unsure which one to use.

No longer relevant after things moved to c4t - closing


PMSO-22-feat-design: API design routing and response for Single Customer View

Description
API Route

Endpoint: /api/customers/{customer_id}/
HTTP Method: GET
Purpose: Retrieve the details of a single customer identified by customer_id.

Serializer
ContactSerializer:

name: CharField
phone: PhoneNumberField
email: EmailField
role: CharField

CustomerSerializer:
current_orders = serializers.SerializerMethodField()

customer_id: IntegerField
name: CharField
phone: PhoneNumberField
tier: CharField
fax: CharField
email: EmailField
address: CharField
current_orders: list of objects
number_of_orders: IntegerField
note: CharField

def get_orders(self, obj) # filter orders based on status
View:
CustomerDetailView(generics.RetriveAPIView)
API Response:
{
    "customer_id": 123,
    "name": "John Doe",
    "phone": "+1234567890",
    "tier": "Gold",
    "fax": "+1234567891",
    "email"<EMAIL_ADDRESS>    "address": "123 Main St, Anytown, USA",
    "primary_contact": {
        "name": "Jane Doe",
        "phone": "+0987654321",
        "email"<EMAIL_ADDRESS>        "role": "Manager"
    },
    "contacts": [
        {
            "name": "Jane Doe",
            "phone": "+0987654321",
            "email"<EMAIL_ADDRESS>            "role": "Manager"
        },
        {
            "name": "Alice Smith",
            "phone": "+1239876543",
            "email"<EMAIL_ADDRESS>            "role": "Support"
        }
    ],
    "current_orders": [
        "Order #456",
        "Order #789"
    ],
    "number_of_orders": 15,
    "note": "Preferred customer, always pays on time."
}

Related Jira(s)

PMSO-132

Checklist

[x ] I have read and followed the PR naming convention
[x ] My code follows the code style of this project.
[ ] I have added tests to cover my changes.
[x ] All new and existing tests passed.

Check lại code đi bro hình như push nhầm gì á, có mỗi 1 file change à mà chỉ là cái comment nữa


The XR component is now compatible with IXIT v1.0.0-pre.1 TRNG-1271

feat: component is compatible with older IXIT versions
feat: multiple interactables and interactors can now be edited at the same time
Description

Fixes: Incompatibility with the latest XR Interaction Toolkit version.
Type of change

[X] Bug fix (non-breaking change which fixes an issue)
[X] Breaking change (fix or feature that would cause existing functionality to not work as expected)

How Has This Been Tested?

Importing different versions of the XR Interaction Toolkit.

Seems like detach will be called when the snapzone is destroyed eg. on exiting playmode, which creates this lovley NPE:
NullReferenceException: Object reference not set to an instance of an object
Innoactive.Creator.XRInteraction.SnapZone.OnDetach (UnityEngine.XR.Interaction.Toolkit.XRBaseInteractable interactable) (at Assets/Innoactive/Creator/Components/XR-Interaction-Component/Runtime/Interaction/SnapZone.cs:240)
UnityEngine.Events.InvokableCall1[T1].Invoke (T1 args0) (at <ee47be73f7ef409ca5e5ce4b121745b7>:0) UnityEngine.Events.UnityEvent1[T0].Invoke (T0 arg0) (at :0)
UnityEngine.XR.Interaction.Toolkit.XRBaseInteractor.OnSelectExited (UnityEngine.XR.Interaction.Toolkit.XRBaseInteractable interactable) (at Library/PackageCache/com.unity.xr.interaction.toolkit@0.10.0-preview.7/Runtime/Interaction/Interactors/XRBaseInteractor.cs:462)
UnityEngine.XR.Interaction.Toolkit.XRInteractionManager.SelectCancel (UnityEngine.XR.Interaction.Toolkit.XRBaseInteractor interactor, UnityEngine.XR.Interaction.Toolkit.XRBaseInteractable interactable) (at Library/PackageCache/com.unity.xr.interaction.toolkit@0.10.0-preview.7/Runtime/Interaction/XRInteractionManager.cs:323)
UnityEngine.XR.Interaction.Toolkit.XRInteractionManager.UnregisterInteractor (UnityEngine.XR.Interaction.Toolkit.XRBaseInteractor interactor) (at Library/PackageCache/com.unity.xr.interaction.toolkit@0.10.0-preview.7/Runtime/Interaction/XRInteractionManager.cs:170)
UnityEngine.XR.Interaction.Toolkit.XRBaseInteractor.OnDestroy () (at Library/PackageCache/com.unity.xr.interaction.toolkit@0.10.0-preview.7/Runtime/Interaction/Interactors/XRBaseInteractor.cs:244)

This bug also happens with a simple game object (e.g. cube or sphere) alone. Just try to enable the Interactable Highlighter.

This bug also happens with a simple game object (e.g. cube or sphere) alone. Just try to enable the Interactable Highlighter.

It should be fixed now.

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


generate.sh appears to be broken

On the latest commit:
$ ./generate.sh
fatal: couldn't find remote ref refs/tags/v0.15.14
error:
       … while evaluating the file '/home/peterbecich/nix/purs-nix/official-package-set/generate.nix':

       … while calling the 'foldl'' builtin

         at /nix/store/1krpkgd8fngc2pasx2nxhdaaz78ibb6w-source/lib/trivial.nix:63:8:

           62|     let reverseApply = x: f: f x;
           63|     in builtins.foldl' reverseApply val functions;
             |        ^
           64|

       … while calling the 'foldl'' builtin

         at /nix/store/1krpkgd8fngc2pasx2nxhdaaz78ibb6w-source/lib/trivial.nix:62:30:

           61|   pipe = val: functions:
           62|     let reverseApply = x: f: f x;
             |                              ^
           63|     in builtins.foldl' reverseApply val functions;

       (stack trace truncated; use '--show-trace' to show the full trace)

       error: program 'git' failed with exit code 128

I think it is related to PureScript v0.15.14 released a few days ago: https://github.com/purescript/purescript/releases
Thank you

I think this will fix it https://github.com/purs-nix/purescript-tools/pull/3

So this actually has to do with the purescript/metadata package. In the package set it says it's version 0.15.14, but when you go to it's repository, that tag doesn't exist.

Another good catch, thanks, will submit PR now: https://github.com/purescript/purescript-metadata

The purescript-metadata package exists IIRC so that Spago knows

which compiler version a given package set works with
what the latest compiler even is

This is not included in the compiler's RELEASE_GUIDE.md but should be. I know to do it but forgot about it this time. I was also wondering whether this was still needed due to the recent Registry work.

thanks @JordanMartinez :)
package set and compiler has been updated


selecting to the next word is unexpected

Issue Type: Bug
Navigating using the keyboard is inconsistent with other Microsoft applications, and all other editors that I use, including the browser that I'm using right now. I'm not sure if this is a deliberate change but it is unexpected and makes the Visual Code editor rather distracting to use.
For example, Ctrl-Right in Visual Code jumps to the end of the current word, whereas in every other editor that I use, it will jump to the start of the next word. So, to delete the current word in VSCode, I must do something like type Ctrl-Right twice, followed by one Ctrl-Left followed by Delete.
Please make it consistent with all other Microsoft applications and, from my possibly limited experience, every other text editor out there. :)
VS Code version: Code 1.21.0 (9a199d77c82fcb82f39c68bb33c614af01c111ba, 2018-03-07T11:04:09.969Z)
OS version: Windows_NT x64 10.0.16299
Reproduces without extensions

Please use issue search
https://github.com/Microsoft/vscode/issues/41620
https://github.com/Microsoft/vscode/issues/3577
https://github.com/Microsoft/vscode/issues/35366
https://github.com/Microsoft/vscode/issues/34457
https://github.com/Microsoft/vscode/issues/31910

Dear Alexandru,
Thank you for your email. I did search a couple of times but the possible queries are too many and I don’t have time to spend fixing bugs in your stuff – there are too many bugs in my own code!
If you fix the problems more quickly, you’re going to get fewer people sending you duplicate reports.
Yours,
Dan
From: Alexandru Dima<EMAIL_ADDRESS>Sent: 28 March 2018 21:45
To: Microsoft/vscode<EMAIL_ADDRESS>Cc: Dan<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [Microsoft/vscode] selecting to the next word is unexpected (#46050)
Please use issue search
#41620https://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fvscode%2Fissues%2F41620&data=02|01||6e19be57b755431e7b0a08d594ecc54b|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636578666992430482&sdata=rc5cbB6LR9lZ0n2iQoLFB7QFfAkPo1iI2LTLQQOciB8%3D&reserved=0
#3577https://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fvscode%2Fissues%2F3577&data=02|01||6e19be57b755431e7b0a08d594ecc54b|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636578666992430482&sdata=HWDxWksCeRT79GpyLr%2BLmybng6NluHt%2BUGLVY4artrw%3D&reserved=0
#35366https://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fvscode%2Fissues%2F35366&data=02|01||6e19be57b755431e7b0a08d594ecc54b|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636578666992430482&sdata=PPtXmnKVI2vic5bfZGV1PLxIhAboqBja%2BeoBL%2BUY%2FKU%3D&reserved=0
#34457https://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fvscode%2Fissues%2F34457&data=02|01||6e19be57b755431e7b0a08d594ecc54b|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636578666992430482&sdata=0AJ6CQrxKdDBIYyfQgTzGTP0jSBNFM10UJmucRQYnak%3D&reserved=0
#31910https://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fvscode%2Fissues%2F31910&data=02|01||6e19be57b755431e7b0a08d594ecc54b|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636578666992430482&sdata=I3caWJhvkWppIyUxnD91pzVrJku1zdmtSQJgEvJnPK4%3D&reserved=0
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fvscode%2Fissues%2F46050%23issuecomment-377029690&data=02|01||6e19be57b755431e7b0a08d594ecc54b|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636578666992430482&sdata=jY5pvwKfv5QxvFDOvjtIl%2FWinRazGPU0gLi1kJa38II%3D&reserved=0, or mute the threadhttps://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAExBXsFQfwIvCTXTAGY0SZLoyS4OmQkwks5ti_ZJgaJpZM4SvJyE&data=02|01||6e19be57b755431e7b0a08d594ecc54b|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636578666992430482&sdata=NFqjyAtAObSg%2FpsTH85l4xNH0zjDhwYeNsQ7xA3ZGMU%3D&reserved=0.

Hi Dan,
Please, in the future, ask questions on StackOverflow. Word navigation behaving differently than Notepad or Visual Studio is not a bug, it is an intentional choice.
All the best,
Alex

Dear Alex,
OK, I’ll use SO instead. It seemed like a bug to me, as I am used to Microsoft products behaving the same way in Windows. That’s one of the founding features that made Windows so successful and restricted Linux to back-office specialist systems.
Yours,
Dan
From: Alexandru Dima<EMAIL_ADDRESS>Sent: 28 March 2018 23:07
To: Microsoft/vscode<EMAIL_ADDRESS>Cc: Dan<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [Microsoft/vscode] selecting to the next word is unexpected (#46050)
Hi Dan,
Please, in the future, ask questions on StackOverflow. Word navigation behaving differently than Notepad or Visual Studio is not a bug, it is an intentional choice.
All the best,
Alex
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fvscode%2Fissues%2F46050%23issuecomment-377053633&data=02|01||0e02fe1b3a5e4beb955908d594f84b2b|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636578716489122211&sdata=FaXWF9dv%2FbR0twc9Ppt5zeXIGv6m76lVl3BSFnuZyus%3D&reserved=0, or mute the threadhttps://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAExBXgXAosIOd20pFWaSJewmc9RbiMbrks5tjAmegaJpZM4SvJyE&data=02|01||0e02fe1b3a5e4beb955908d594f84b2b|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636578716489122211&sdata=60iQhwdeNQeCmaG0SiYFeOHwaWx2dP774YsPHpgw59M%3D&reserved=0.


updated See also article names

Docs Build status updates of commit 041a4a5:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/point-and-commit.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Meta-Llama-3 model text-generation example output is unexpected on 2 nodes

System Info
deepspeed                 0.14.4+hpu.synapse.v1.18.0
optimum-habana            1.14.0

docker image: vault.habana.ai/gaudi-docker/1.18.0/ubuntu22.04/habanalabs/pytorch-installer-2.4.0:latest

Information

[X] The official example scripts
[ ] My own modified scripts

Tasks

[X] An officially supported task in the examples folder (such as GLUE/SQuAD, ...)
[ ] My own task or dataset (give details below)

Reproduction

Setup 2 nodes for test
Run text generation example
python3 ../gaudi_spawn.py --hostfile hostfile --use_deepspeed --world_size 16  --master_port 29500 \ run_generation.py \ --model_name_or_path  /data1/zhixue/Llama-3.1-70B-Instruct/ \ --bf16 \ --batch_size 1 \ --use_hpu_graphs --limit_hpu_graphs \ --max_new_tokens 512
The generation output looks like:
<IP_ADDRESS>: Input/outputs: <IP_ADDRESS>: input 1: ('DeepSpeed is a machine learning framework',) <IP_ADDRESS>: output 1: ('DeepSpeed is a machine learning framework!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!',)

Expected behavior
If test with model Llama-2-7b-hf, the output is below. I found the issue on the latest meta-llama-3 and meta-llama-3.1 with 2 nodes inference.
<IP_ADDRESS>: input 1: ('DeepSpeed is a machine learning framework',) <IP_ADDRESS>: output 1: ('DeepSpeed is a machine learning framework for deep learning. It is designed to be fast and efficient, while also being easy to use. DeepSpeed is based on the TensorFlow framework, and it uses the TensorFlow Lite library to run on mobile devices.\nDeepSpeed is a deep learning framework that is designed to be fast and efficient. It is based on the TensorFlow framework and uses the TensorFlow Lite library to run on mobile devices. DeepSpeed is designed to be easy to use and to provide a high level of performance.\nDeepSpeed is a deep learning framework that is designed to be fast and efficient. It is based on the TensorFlow framework and uses the TensorFlow Lite library to run on mobile devices. DeepSpeed is designed to be easy to use and to provide a high level of performance.\nDeepSpeed is a deep learning framework that is designed to be fast and efficient. It is based on the TensorFlow framework and uses the TensorFlow Lite library to run on mobile devices. DeepSpeed is designed to be easy to use and to provide a high level of performance.\nDeepSpeed is a deep learning framework that is designed to be fast and efficient. It is based on the TensorFlow framework and uses the TensorFlow Lite library to run on mobile devices. DeepSpeed is designed to be easy to use and to provide a high level of performance.\nDeepSpeed is a deep learning framework that is designed to be fast and efficient. It is based on the TensorFlow framework and uses the TensorFlow Lite library to run on mobile devices. DeepSpeed is designed to be easy to use and to provide a high level of performance.\nDeepSpeed is a deep learning framework that is designed to be fast and efficient. It is based on the TensorFlow framework and uses the TensorFlow Lite library to run on mobile devices. DeepSpeed is designed to be easy to use and to provide a high level of performance.\nDeepSpeed is a deep learning framework that is designed to be fast and efficient. It is based on the TensorFlow framework and uses the TensorFlow Lite library to run on mobile devices. DeepSpeed is designed to be easy to use and to provide a high level of performance.\nDeepSpeed is a deep learning framework that is designed to be fast and efficient. It is based on the TensorFlow framework and uses the TensorFlow Lite library to run on mobile devices. DeepSpeed is',)

No problem on singe node.

It's no problem on single node.

So you see this issue on 2 nodes right?

@aslanxie Still seeing this issue installing Optimum Habana's main branch from source?


/build/default vs /build/Release

Does it matter that package.json defines  "main": "./build/default/node-stringprep" but the actual existing path is  "./build/Release/node-stringprep" on node v0.6.x? (also in leakcheck.js, btw)

Fixed this in 0813a3289bac3de3b8e9c69d8bef854d0f504455, released as v0.1.1. Thx to @dodo.
Please also be aware of isaacs/npm#1808, I hope that will be resolved soon.


The_End's portals problem

Hi,
I have the bukkit version #1531 and mv-core #354. There is a problem, anyone can't go to the world The_End using the natural portal, you find yourself trapped inside a stone, how can I enable the_end's portals?
Regards.

Please reproduce with ONLY Multiverse-Core and CB 1531. Also include steps to reproduce.

Closing as inactive (4 days).


Update date facets to reflect recent ML change (from 2007)

NOTE:  this should remain open as there will be a solution on the backend for estimates and once that is completed, this work can be reimplemented.  Blocked by https://github.com/project-lux/lux-marklogic/issues/47

Problem Description:
Date facets are failing on the results page.
Expected Behavior/Solution:
The date facets requests should be updated to reflect the recent change in ML date formatting.
Requirements:

The request made to the backend should be structured in the same manner as the advanced search, which is outlined here.
The selected facets should parse the new format.

Needed for promotion:
If an item on the list is not needed, it should be crossed off but not removed.

[ ] ~Wireframe/Mockup - Heather~
[ ] ~Committee discussions - Sarah~
[ ] ~Feasibility/Team discussion - Sarah~
[ ] ~Backend requirements - TBD~
[x] Frontend requirements- Kameryn
[ ] ~Questions~

UAT/LUX Examples:
Old example that now fails:
https://lux-front-tst.collections.yale.edu/view/results/works?q={"AND"%3A[{"text"%3A"William"%2C"_lang"%3A"en"}%2C{"text"%3A"Blake"%2C"_lang"%3A"en"}]}&sq=William+Blake&wp=1&wf={"AND"%3A[{"createdDate"%3A"1700"%2C"_comp"%3A">%3D"}%2C{"createdDate"%3A"1800"%2C"_comp"%3A"<%3D"}]}&facetRequest=true
New example that passes:
https://lux-front-tst.collections.yale.edu/view/results/works/?q={"AND"%3A[{"text"%3A"William"%2C"_lang"%3A"en"}%2C{"text"%3A"Blake"%2C"_lang"%3A"en"}]}&sq=William+Blake&wf={"AND"%3A[{"createdDate"%3A{"start"%3A"1700"%2C"end"%3A"2000"}}]}&facetRequest=true&wp=1
Dependencies/Blocks:
Blocked by - https://github.com/project-lux/lux-marklogic/issues/47
Related Github Issues:

#1878

Related links:
N/A
Wireframe/Mockup:
N/A

This ticket is no longer needed. It is based on a ML change that no longer exists. (Passing in start and end to dates, rather than using the _comp operators)

Approved by UAT 9/12 to close.


Add workbench runtimes for RHOAI 2.15 & script to download them from running workbench

We have some pipeline tests that use the workbench runtimes (e.g. the pytorch-romc runtime).
In order to help finding the latest workbench images shipped for each version of RHOAI, we would like to add them here in ods-ci, with a script to obtain them semi-automatically.
In a follow-up PR we'll update the images used in our pipeline samples.

I'm not sure whether it was intentional to get it from a RHOAI build and as such for running this images update means having a running OpenShift cluster, RHOAI build installed there and also running a workbench. This has advantage that it can be used for any nightly build for sure.
In case we are okay with only not too frequent updates (e.g. only in CR builds), we can download this information directly from the notebooks repository here.

Thanks @jstourac , I didn't know we could get the info from there. Can we assume the files on each branch (e.g. rhoai-2.15) contains the runtimes in that release? If yes, then the script is not needed

Yes, release branch is where you want to look into. Just beware - as of today, the updates to the runtime images are usually propagated to the release branch after the code freeze (as at this point the proper notebooks release is performed). This will change in the future and will be updated more frequently hopefully.
So, if the above isn't a concern, nudging the data from the repository is probably better than necessity to rely on a running cluster with an actual RHOAI installation on it.


PI-3478: Common metadata API

This PR introduces a common metadata API for cubes, coordinates and auxiliary factories, and also addresses a lot of connective tissue technical debt. This PR underpins the forthcoming changes for cube arithmetic.
Essentially, this PR proposes a metadata interface, which provides a unified, consistent treatment of metadata within iris:

the _as_defn interface has been replaced with the metadata interface
metadata state now lives with the metadata behaviour
the CFVariableMixin methods have been rationalised
there is a new iris.common module, for common, non-core iris behaviour:

the _cube_coord_common has been rationalised here, see iris.common.mixin
the metadata has been rationalised here, see iris.common.metadata

the mixin name method behaviour is now appropriate and specific to the container
the recently introduced mixin names property behaviour is now private and specific to an iris.cube.Cube
For iris.aux_factory.AuxCoordFactory:

the units are no longer a read-only property, but part of the containers metadata
climatological is now a read-only property of False

Still to do:

[x] Test coverage for new iris.common.metadata.MetadataFactory
[x] Test coverage for new iris.common.metadata._BaseMeta
[x] Test coverage for existing iris.common.mixin.LimitedAttributeDict

@lbdreyer and @alastair-gemmell Awesome, thanks! :beers: :tada:


Using second last names

Currently multiple last names are handled concatenated in one element lastName.
Proposal:
Adding an optional second last name to have multiple last names in separate fields.
As multiple names are not commonly used in retail systems the solution should have no impact on systems using one name filed in passenger data.

Option 1: one optional second last name

a retailer is allowed to ignore the second optional name and not provide the name separately
a distributor is allowed to ignore the second optional name and use only the first last name

Option 2: lastName hold all last names as today and is mandatory

optional element firstLastName holds the first last name and can be ignored
optional element secondLastName holds the second last name and can be ignored

Copying the findings from the last Teams call.
https://www.iata.org/contentassets/18a5fdb2dc144d619a8c10dc1472ae80/2010-api-guidelines-final-version-mig-release-date-25-11-2010.pdf (page 26)
IATA PAXLIST (Passenger List Message) uses single field name "Party Name" a allows for multiple inserts in descending priority where only the first one is expected as the "Last Name".
https://www.iata.org/contentassets/18a5fdb2dc144d619a8c10dc1472ae80/pnrgov20xml20implementation20guide2015_1.pdf (page 31)
For a PNR record, Surname has cardinality 0..1.
For air-rail compatibility, passenger last name must be provided with all names concatenated.
More general improvement could be to provide additional optional element lastNameItemized or other similar name that would be array of strings, and list surnames in descending order by priority (paternal, maternal, ...)

Proposals discussed.
Current situation

{
  "FirstName": "Jose",
  "LastName" : "Vavra Nebrenska"
}

Option #1

{
  "FirstName": "Jose",
  "LastName" : "Vavra Nebrenska",
  "LastName2" : "Nebrenska"
}

Option #2

{
  "FirstName": "Jose",
  "LastName" : "Vavra Nebrenska",
  "LastName1" : "Vavra",
  "LastName2" : "Nebrenska"
}

Option #3

{
  "FirstName": "Jose",
  "LastName" : "Vavra Nebrenska",
  "LastNamesItemized" : [
    "Vavra",
    "Nebrenska"
  ]
}

Whatever is finally decided, a clear description of all lastname fields needs to be provided.

Solution agreed with RENFE in branch: https://github.com/UnionInternationalCheminsdeFer/OSDM/tree/adding-support-for-two-last-names

Rename to firstFamilyName, secondFamilyName


Docs for option 'allow_multiple_sessions'

@dergraf done. please review: https://verne.mq/docs/configuration/balancing.html


Hitting 413 (Request Too Large) error on flickr.photosets.editPhotos

I'm attempting to update a photoset with several hundred photos in it, and hitting a 413 response (request too large). Here's what I'm doing:
flickr.photosets.editPhotos({
  photoset_id: albumId,
  photo_ids: photoIds.join(','), // Several hundred IDs in this array
  primary_photo_id: primaryPhotoId
})

I can see from the error response that the bit long set of photo IDs is being passed as a query string param, despite the method being POST:
https://api.flickr.com/services/rest?method=flickr.photosets.editPhotos&photoset_id=72157720077649915&photo_ids=51545392449%2C51545579665%2C51544622751%2C51545369594%2C51545330174...

Is there any way to coerce the library to send the parameters of this method as a post body rather than as a query string? I couldn't see anything obvious in the documentation, but it looks as though the Flickr API itself should support this in principle.

I've tracked down the cause of this issue I think and hacked in a fix that works - at least for my use case.
https://github.com/flickr/flickr-sdk/blob/df3108bc66d134094a242df4b7016379785c644e/script/build-rest.ejs#L96
Replacing this line with .param(args) makes the problem go away. Is this a bug I've stumbled over with an easy fix?

I can confirm @wwarby's bug and super helpful 1-line fix. I was getting a 414 error and unable to reorder photos until I made this change.
Thank you @wwarby!

Thanks for the bug fix! This should be fixed in v5.0.0.


Change UI of login and signup pages

I added some basic styles to the login/signup pages.
Is this the right place to create the forms/CusotmForms.py file?

I changed the code to fit evyatar's commits.
also added the reset password UI.
can you check and merge if everything is alright?
thanks.

looks great!
the reset password stopped working.
`
Reverse for 'password_reset_confirm' not found. 'password_reset_confirm' is not a valid view function or pattern name.
`
`s

Yes, i see now.
It appears to be a common issue.
Will try to fix it this week.


Upload FSW to PyPI.

Upload FSW to PyPI. Since the fsw package is taken, upload FSW as bhushan-mohanraj-fsw.

See pypi/support#2987.


Produce and publish GPG signatures for the CLI binaries

This is a must have for 2.0.

This will be done manually, since the cli build is not automated as part of the release process.


feat (Catalog): Manage Controls Hierarchy

@Bronstrom
This PR is ready for review. Below are some screenshots

This how you can run this branch.

In file App.js
set: const isDevMode = true;
In file OSCALLoader
set const isDevMode = true;
To build the frontend run
npm run build
To view the frontend run
./scripts/watch-viewer
To run the back.
checkout the branch https://github.com/EasyDynamics/oscal-prototyping/tree/moustapha/branch
and run it.

Let me know if you have any question


Authorization policy in central place and protecting tenant accounts

#158 modelled accounts, and therefore enabled multi-tenancy.
This issue is about the follow-up authorization work, and also covers modeling authorization as a central policy.

establish new module data.auth.policy, where we can explain the current way we deal with authorization (roles are checked on endpoint level, and row-level authorization is added in the code, see below) and also add central functions for both (for role checking maybe just example code).
We start establishing access policies on the data class level. Starting with Asset and Sensor, classes can have a can_access(permission: str) function (inspired by Pyramid's acl) member functions, which decide if the object may be accessed by the current user (Pyramid just defines access rules which are checked in a central place, which we cannot support yet). The central code in data.auth.policy routes here. There is a function Resource.can_access_asset. Move its functionality into Asset.can_access. Add logic to check if the current user is the asset owner, or if they are on the same account as the sensor's generic_asset.
In the (new) api.common.auth module, we simplify the current version of our current roles_accepted validator: it lets super-admins through and gives a nicer response, but the anonymous role should go I believe (see below).
To make using the authorization easy in endpoints, we also give the api.common.auth module a hook to check access, which returns a 403 response if denied. Call this for each endpoint dealing with assets and sensors.

Concepts and further thoughts needed:

The roles we want to use in a multi-tenancy context ("admin", our USEF roles, ...). E.g.: is admin the new super-user?
Permissions ("read", "write", "delete" to start with) - would this suffice for most endpoints, so that they could ask for the roles they should check via data.auth.policy.get_roles_for(data_class, permission)? Goal: Roles for data classes can be defined in that central policy, where also get_roles_for lives. For now, endpoints can still use a custom role if needed.

Note: Also solve the TODO for sensor data input in flexmeasures.api.common.schemas.sensor_data::SensorDataDescriptionSchema.check_user_rights_against_sensor, either right there as the TODO suggests or with/within the new auth policy, making use of the permissions.

I can think of several use cases for a sort of read-only admin role. Is it possible and do you agree it is sensible to support this? That is, the role should allow to read, but not write (or delete), sensor data. More specifically, I'd like the role to allow reading sensor data from only a certain list of other accounts (rather than all accounts).


facexlib without CUDA

Hey,
I'm using this because I'm interested in testing out the GFPGAN repo. However I'd like to run this on a CPU version of torch only. Since we're performing inference and not training, would you be able to support this?
Thanks for the fantastic work though btw :)

Hmm, I made the change in utils/face_restoration_helper.py > FaceRestoreHelper > __init__, and was planning on opening a pr, but it seems that the basicsr library needs CUDA drivers too. Still, it's only a one line change and those who want to use facexlib without GPU might benefit from it, so I'll open a pr

The current GFPGAN requires GPU, so it may not available for CPU inference. We may add a CPU-support model later.
I think BasicSR can support CPU only. (if we do not use those cuda extensions.)
Thanks, it is better to add an option for supporting CPU

Yes please - that'd be great. Is it the StyleGAN part which needs the GPU?
I'm getting a: "OSError: CUDA_HOME environment variable is not set. Please set it to your CUDA install root." through basicsr\ops\dcn\deform_conv.py", line 14 inside the if BASICSR_JIT == 'True': flag
PR opened (it's not a flag, just a device check): https://github.com/xinntao/facexlib/pull/6

@nihirv

The StyleGAN needs customized CUDA(with GPU) extensions. So the original model requires GPU.  I have updated a new version which does not require such CUDA extensions. So the GFPGAN can be run with CPU/ or run on windows.  See the updates in : https://github.com/TencentARC/GFPGAN
I have merged the PR.  Thanks.  :-)


dropdown behind iframe youtube video on IE 11

Hi,
My client has a strange issue, the dropdown goes behind a youtube (embedded iframe) video on IE 11
I gave your dropdown a high z-index but with no success.
Any suggestions?
Regards,
Gosling Cools

Solved!
Was not related to your code ;-)
http://stackoverflow.com/questions/9074365/youtube-video-embedded-via-iframe-ignoring-z-index


Document Authentication API Endpoints with Swagger

Tasks:

Define Swagger annotations and comments for all Authentication API endpoints.
Ensure that the Swagger documentation includes information about request parameters, response formats, and any required authentication.
Validate that the Swagger UI is accessible and functional, allowing developers to interact with the API directly through the documentation.

I am Interested in solving this issue.

Sir , I am Interested in solving this issue.


add a PlayerBack API Event

It would be nice to be able to cancel a PlayerBackEvent.
Ex:
Not allowing /back to a specific location

Added to the backlog for API v3 👍

There's a new TeleportEvent that lets you do this technically, though I suppose there's no specific way to see the source of the teleport (i.e. to see if it was a /back). What's the use case?

There's a new TeleportEvent that lets you do this technically, though I suppose there's no specific way to see the source of the teleport (i.e. to see if it was a /back). What's the use case?

Blocking the ability to /back in specific regions/player's island

There's a new TeleportEvent that lets you do this technically, though I suppose there's no specific way to see the source of the teleport (i.e. to see if it was a /back). What's the use case?

Blocking the ability to /back in specific regions/player's island

Have you looked at LuckPerms' contextual permissions that let you deny nodes depending on circumstances such as world, location, metadata etc?

It's more about blocking the ability of being teleported back to specific regions, not blocking the usage of it


lease: pre_vote should consider leader lease

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 77.89%. Comparing base (6e6941a) to head (f3ff4b9).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #17      +/-   ##
==========================================
+ Coverage   77.60%   77.89%   +0.29%
==========================================
  Files          63       63
  Lines        9756     9759       +3
  Branches     1355     1354       -1
==========================================
+ Hits         7571     7602      +31
+ Misses       2183     2155      -28
  Partials        2        2

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


dattcore: Tipping user announce messages should not burn bitcoin

Right now the tipping address associated with User announcement messages ( the message automatically generated when a user "registers" ) is the unspendable address<PHONE_NUMBER>111111111114oLvT2 corresponding to an all zeros hash160.
The address associated with the User announcement message should be the one of user's own addresses.

Issue is in core/content-auth.js, in ContentAuth.prototype.initialize , where the unspendable address is set as the default address:
ContentAuth.prototype.initialize = function () {
  let buf = new Buffer(32)
  buf.fill(0)
  this.parenthashbuf = buf // Default to 'null' parent
  this.date = new Date()

  // TODO: Default address is useful for testing but is a bad idea in
  // production.
  this.address = Address().fromPubkeyHashbuf(buf.slice(0, 20))

  return this
}

My proposal is to get rid of this, make it an error for ContentAuth not to have an address set. Just to avoid silently sending money into unspendable address.


EWMA optimised for 2D datasets

New Feature

[x] Code conforms to style guide
[ ] Doctests
[x] Unit-tests
[x] Documentation
[x] New line item in releases.md
[ ] Info added to literature directory

Bug Report

[ ] Minimal repro in a test function

Summary
Additional EMWA function optimised for 2D data sets (updated the benchmarking notebook so you can see the relative gains).
Dense data sets only (no NaNs).

This is awesome, those timings are amazing :smile:
I was thinking of cutting a 2018.1 release tonight (for obvious reasons), did you want to get this merged ahead of that?

re: merge, it can wait - no big deal. :)
I didn't just blast the old implementation as I thought it would be more useful to be able to compare and contrast etc.  But that's why Codacy hates me (apparently dupe code etc etc)

We can fold it into a more general fn in the new year.

Sounds good - let me know when you're wanting a merge!


Advance: Can give a way to set the color of edge of split windows?

It is hard to find out the windows when I split it to 4. The color between windows is not very obvious.

Sure - see https://github.com/Eugeny/terminus/issues/2602

thx a lot!

Sure - see #2602

thx a lot!


ValueError: Attempting to unscale FP16 gradients.

System Info
Name: accelerate
Version: 0.30.1
Summary: Accelerate
Home-page: https://github.com/huggingface/accelerate
Author: The HuggingFace team
Author-email<EMAIL_ADDRESS>License: Apache

Information

[X] The official example scripts
[ ] My own modified scripts

Tasks

[X] One of the scripts in the examples/ folder of Accelerate or an officially supported no_trainer script in the examples folder of the transformers repo (such as run_no_trainer_glue.py)
[ ] My own task or dataset (give details below)

Reproduction
When I was debugging in VSCode, the following error appeared, but strangely, this error did not occur when using accelerate launch.
ValueError: Attempting to unscale FP16 gradients.
Note that the Settings and parameters for debugging and running are exactly the same
Expected behavior
I would like to know why this error occurs.

Hi @NimbusLongfei, thanks for reporting ! Could you share a minimal reproducer ?

Hi @NimbusLongfei , is it possible that you are using BnB 4 bit quantization with FP16=True? //is thats the case, that gives this error.


Add default value for shard_id and update_time in postgres

What changed?
Added default value for shard_id and update_time to make it backwards compatible

Why?

How did you test it?
Manual test using local postgres

Potential risks

Release notes

Documentation Changes

Pull Request Test Coverage Report for Build 0187fda5-b3b9-4e15-991b-42de498a07dc

0 of 0   changed or added relevant lines in 0 files are covered.
91 unchanged lines in 16 files lost coverage.
Overall coverage decreased (-0.01%) to 57.208%

Files with Coverage Reduction
New Missed Lines
%

common/task/fifoTaskScheduler.go
2
82.47%

common/task/parallelTaskProcessor.go
2
92.75%

common/task/weightedRoundRobinTaskScheduler.go
2
89.64%

service/history/execution/mutable_state_builder.go
2
68.77%

service/history/handler.go
2
47.15%

service/history/shard/context.go
2
66.52%

common/persistence/statsComputer.go
3
94.64%

common/persistence/serialization/parser.go
4
63.91%

common/persistence/serialization/thrift_decoder.go
4
57.14%

common/types/history.go
4
45.35%

Totals

Change from base Build 0187fd06-81bd-44fc-bafa-96fb5e8cdaa6:
-0.01%

Covered Lines:
85879

Relevant Lines:
150118

💛  - Coveralls


net: if: Make sure to update the prefix when it already exists

This is an issue that I found while using the TAHI test suite for RFC2640. Running test case v6LC.1.3.2: Part A (Time Elapsed Between Fragments less than Sixty Seconds) would succeed the first time, but fail on follow-up runs. Zephyr uses the wrong destination address due to an expired prefix not being re-enabled in these follow-up runs.
It can happen that the prefix exists but has expired. In that case, net_if_ipv6_prefix_add() will not work as intended, because it will bail out without re-enabling the existing prefix. Call net_if_ipv6_prefix_init() when the prefix already exists, so that it is also updated with the latest data (length, lifetime, etc.).

Yes sorry, my explanation was not very clear.
The problem is not really with the prefix timeout. But the prefix returned by ipv6_prefix_find() can be expired (for example after a call to prefix_lifetime_expired()), i.e. ifprefix->is_used is false. If net_if_ipv6_prefix_add() does nothing more, the prefix will be left with is_used set to false, so it will not be used, which is wrong.
From what I can tell, net_if_ipv6_prefix_add() does not set the prefix timeout timer. This task looks to be done by calling net_if_ipv6_prefix_set_timer() from handle_prefix_onlink(). But it is not related to the current problem.
Here are some debug logs. On the 1st run, everything works as expected:
[00:00:51.900,000] <dbg> net_if.net_if_ipv6_prefix_add: (rx_q[0]): [0] interface 0x80822c4 prefix 3ffe:501:ffff:100::/64 added
[00:00:51.900,000] <dbg> net_ipv6.handle_prefix_onlink: (rx_q[0]): Interface 0x80822c4/1 add prefix 3ffe:501:ffff:100::/64 lifetime 270991360
[00:00:51.900,000] <dbg> net_ipv6.handle_prefix_onlink: (rx_q[0]): Interface 0x80822c4/1 update prefix 3ffe:501:ffff:100::/64 lifetime 270991360
[00:00:51.900,000] <dbg> net_if.net_if_ipv6_prefix_set_timer: (rx_q[0]): Prefix lifetime 270991360 sec

But on the 2nd run, the if (ifprefix) path is taken (TEST lines added by my-self inside the if()):
[00:01:54.420,000] <dbg> net_if.net_if_ipv6_prefix_add: (rx_q[0]): TEST: interface 0x80822c4 prefix 3ffe:501:ffff:100::/64 found
[00:01:54.420,000] <dbg> net_if.net_if_ipv6_prefix_add: (rx_q[0]): TEST: infinite: 0; used: 0
[00:01:54.420,000] <dbg> net_ipv6.handle_prefix_onlink: (rx_q[0]): Interface 0x80822c4/1 add prefix 3ffe:501:ffff:100::/64 lifetime 270991360
[00:01:54.420,000] <dbg> net_ipv6.handle_prefix_onlink: (rx_q[0]): Interface 0x80822c4/1 update prefix 3ffe:501:ffff:100::/64 lifetime 270991360
[00:01:54.420,000] <dbg> net_if.net_if_ipv6_prefix_set_timer: (rx_q[0]): Prefix lifetime 270991360 sec

We can see that the prefix lifetime is correctly set, but notice the is_used set to 0. As a result, the prefix will not be used and the test case fails.
But now I realize that the problem is maybe with ipv6_prefix_find() returning an expired prefix. It tests !ipv6->unicast[i].is_used but do not test !ipv6->prefix[i].is_used. I experimented this idea with the following patch and it also works:
--- a/subsys/net/ip/net_if.c
+++ b/subsys/net/ip/net_if.c
@@ -2152,7 +2152,7 @@ static struct net_if_ipv6_prefix *ipv6_prefix_find(struct net_if *iface,
        }

        for (i = 0; i < NET_IF_MAX_IPV6_PREFIX; i++) {
-               if (!ipv6->unicast[i].is_used) {
+               if (!ipv6->unicast[i].is_used || !ipv6->prefix[i].is_used) {
                        continue;
                }

Let me know if you prefer this solution, which is probably more accurate.

But now I realize that the problem is maybe with ipv6_prefix_find() returning an expired prefix. It tests !ipv6->unicast[i].is_used but do not test !ipv6->prefix[i].is_used. I experimented this idea with the following patch and it also works:
--- a/subsys/net/ip/net_if.c
+++ b/subsys/net/ip/net_if.c
@@ -2152,7 +2152,7 @@ static struct net_if_ipv6_prefix *ipv6_prefix_find(struct net_if *iface,
        }

        for (i = 0; i < NET_IF_MAX_IPV6_PREFIX; i++) {
-               if (!ipv6->unicast[i].is_used) {
+               if (!ipv6->unicast[i].is_used || !ipv6->prefix[i].is_used) {
                        continue;
                }

Let me know if you prefer this solution, which is probably more accurate.

I agree, this check is better imho.

Thanks for the detailed analysis, it's much easier to understand the issue now.
This actually made me wonder - inside ipv6_prefix_find(), is this check even a valid one?
		if (!ipv6->unicast[i].is_used) {
			continue;
		}

Note, that we iterate over prefixes, yet we check the IPv6 addresses array on an interface. Note, that it might even end up in out of bound read, if NET_IF_MAX_IPV6_ADDR < NET_IF_MAX_IPV6_PREFIX for any reason - the size of IPv6 address and prefix arrays are separately configured.
Shouldn't this check be simply replaced with the following?
		if (!ipv6->prefix[i].is_used) {
			continue;
		}

Note, that we iterate over prefixes, yet we check the IPv6 addresses array on an interface. It might even end up in out of bound read, if NET_IF_MAX_IPV6_ADDR < NET_IF_MAX_IPV6_PREFIX for any reason - the size of IPv6 address and prefix arrays are separately configured.
Shouldn't this check be simply replaced with the following?
		if (!ipv6->prefix[i].is_used) {
			continue;
		}

I would agree, this looks fishy. But I am not very knowledgeable in this area.
I went back through the history and found that this function was added by @jukkar in commit e13ff65c22c6bb11df14aefa01eafdfad5f16cb6. It already contained this test on the IPv6 address instead of the IPv6 prefix. Maybe Jukka knows if there is something that we are missing? Otherwise I can push the suggested change.

I went back through the history and found that this function was added by @jukkar in commit e13ff65

Don't recall that commit after so many years. But after looking this piece of code
https://github.com/zephyrproject-rtos/zephyr/blob/7ab16c457b304ccff82056243e1cee8913263d3e/subsys/net/ip/net_if.c#L2155
it looks like the we are incorrectly checking unicast address instead of the more proper prefix one.
So the check should have been
		if (ipv6->prefix[i].is_used) {
			continue;
		}

at least it really looks like that.

I looked at the other occurrences of loops on unicast[i].is_used in subsys/net/. They are all using a bound of NET_IF_MAX_IPV6_ADDR / NET_IF_MAX_IPV4_ADDR except for the piece of code above. Conversely the occurrences of prefix[i].is_used use a bound of NET_IF_MAX_IPV6_PREFIX with the only exception of the code above. So this looks indeed to be an error.
I will do the change, test it with the reproducer mentioned in the description and update the PR.

I just pushed the new version @rlubos @jukkar


installation error

Doing all previous installation steps and running python setup.py install results in NameError: global name 'install_dirs' is not defined.

Renaming all install_dirs instances to install_dir in setup.py and running the command python setup.py install.


server: get only Ready ISO to mount

Description
This PR fixes #7829

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[ ] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

@blueorangutan package

Packaging result [SF]: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 6740

@blueorangutan test rocky8 kvm-rocky8

@weizhouapache a [SF] Trillian-Jenkins test job (rocky8 mgmt + kvm-rocky8) has been kicked to run smoke tests

[SF] Trillian test result (tid-7373)
Environment: kvm-rocky8 (x2), Advanced Networking with Mgmt server r8
Total time taken: 44738 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7848-t7373-kvm-rocky8.zip
Smoke tests completed. 108 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

@DaanHoogland
although #7829 is closed, I think this change makes sense.


Don't overwrite response contents on error (fixes #429)

The default error handler should accept custom error contents for the errors it handles.
Since this fix simply checks for the response's contents being set, it doesn't handle this case:
Get["/"] = parameters =>
{
    Response.Contents = stream => WriteSomethingTo(Stream);
    // later...
    if (SomeReason)
    {
        return 404;
    }
}

Conceivably, someone does this right now and expects the default error page to appear. With this fix, they'd still get the response contents. (Which is what I'd expect to happen, personally. I set the contents, they should show up. But others' expectations may differ.)

Actually, on second thought, I don't think the issue I raise above exists, because returning the status code overwrites the context's response.


allow_reuse to force run steps in Azure ml pipeline python sdk v2

Package Name: azure.ai.ml
Package Version:
Operating System: linux
Python Version: 3.9

Describe the bug
I am running a training pipeline on azure ml python sdk v2. It is running fine but when I am reinitiating it, it takes only 1 second to finish which I assume is taking previous step from last ran pipeline. In v1 sdk we have allow_reuse parameter to stop this behaviour. But how can we do that in ml python sdk v2.

Hi @rjtshrm , thanks for the feedback. We will investigate asap. @azureml-github

Thanks for the feedback. Please use is_deterministic argument.
command(is_deterministic=Fasle)

Sure. We created an item to track this internally.


Cannot find module '@napi-rs/canvas'

Error: Cannot find module '@napi-rs/canvas'
Require stack:

/home/runner/work/pdf.js/pdf.js/src/display/node_utils.js
at utils/pdfUtils.js:11

Sorry to bother you with another issue. After upgrading to latest version 0.13.0 - runs were fine for couple of days. Then starting yesterday - it started failing with above issue.
All the dev dependencies I am using
"devDependencies": {
"@faker-js/faker": "8.0.2",
"@playwright/test": "^1.35.1",
"date-and-time": "^2.0.0",
"express": "^4.19.2",
"p-retry": "^4.6.1",
"playwright": "^1.35.1",
"prettier": "3.3.3",
"supertest": "^6.1.6",
"pdf-lib": "^1.17.1",
"pdf-visual-diff": "^0.12.0",
"card-number-generator": "^0.0.2"
}
npm - 10.8.2
node - v20.17.0

Looks like it's an issue with the latest pdfjs-dist switching to a new canvas project: https://github.com/mozilla/pdf.js/issues/19145
You should be able to use an older version like 4.8.69.

Latest pdfjs-dist release 4.9.124 replaced node-canvas with @napi-rs/canvas as well as updated Node.js minimum supported version to v20.
I will look into updating pdf-visual-diff to support latest pdfjs-dist asap. Until than it would be best to make sure one is using pdfj-dist v4.8.69 as suggested by @jrohland.

Yeah I have downgraded
On Thu, 5 Dec 2024 at 8:24 PM, Nikita Moshenskiy @.***>
wrote:

Latest pdfjs-dist release 4.9.124
https://github.com/mozilla/pdf.js/releases/tag/v4.9.124 replaced
node-canvas https://github.com/Automattic/node-canvas with
@napi-rs/canvas as well as updated Node.js minimum supported version to
v20.
I will look into updating pdf-visual-diff to support latest pdfjs-dist
asap. Until than it would be best to make sure one is using pdfj-dist
v4.8.69 as suggested by @jrohland https://github.com/jrohland.
—
Reply to this email directly, view it on GitHub
https://github.com/moshensky/pdf-visual-diff/issues/84#issuecomment-2519730748,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AP7NVPLOBBVVE37ZS32M6K32EALVPAVCNFSM6AAAAABS64PNY2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMJZG4ZTANZUHA
.
You are receiving this because you authored the thread.Message ID:
@.***>

I have just published new v0.14.0. Please check the changelog, because there are breaking changes.

Thanks for the update, pdfjs and the old canvas library not providing builds was holding us back from upgrading to node v22. With the move to the new canvas library it looks good to update to node v22.


add formData params

This params feeds API form data, then swagger will be like:

I think may be useful in some case :)

Found bug, close :(


Confirm v2 docs formatting consistency

For example on the Input Properties on this page
http://ionicframework.com/docs/v2/api/components/tabs/Tabs/
Make sure the descriptions all start in caps, end in a period, and highlight values like top, bottom, left, right, hide using tics

@kgindervogel, could you look through the docs and create a list of things like this?


Multiline String as block and quoted Strings

Hi!
I have some OpenAPI schema definition, that I'm extracting via ApiSpec.
    ---
    x-extension: value
    post:
      # headline/name of the resource
      operationId: users create
      summary: Register user
      description: |
        Imagine all the users living for today

        Imagine there's no countries
        It isn't hard to do
        Nothing to kill or die for
        And no religion too

        Imagine all the users living life in peace, you
        You may say I'm a dreamer
        But I'm not the only one
        I hope some day you'll join us
        And the world will be as one

      security:
        - APIKeyHeader: []

      # this will appear as grouping in the left-side menu
      tags:
      - Legacy API

      consumes:
      - application/json
      produces:
      - application/json

      parameters:
      - in: body
        name: body
        description: Foo bar
        required: true
        schema:
          $ref: '#/components/schemas/FooBodySchema'

Apispec is doing all the heavy lifting, but I changed the yaml library to pretty-yaml to get rid of the Python type hints.
Question
Given the yaml above, how can I accomplish to receive multiline blocks as a block
      description: |
        Imagine all the users living for today

        Imagine there's no countries
        It isn't hard to do
        Nothing to kill or die for
        And no religion too

and
have single line Strings quoted
        schema:
          $ref: '#/components/schemas/FooBodySchema'

Currently I'm using
pyaml.dump(my_spec, safe=True, force_embed=False, vspacing=[2, 1], string_val_style='"')

which unfortunately puts the mutline Strings in simple quotes as well.
Thank you :)

Hi,
Current behavior in this module is to use explicitly-specified string style unconditionally, i.e. for all strings, so not possible to do what you want via simple parameter.
https://github.com/mk-fg/pretty-yaml/blob/370130d/pyaml/__init__.py#L113-L136
What I'd probably do is to subclass UnsafePrettyYAMLDumper and override represent_stringish method there to check for newlines and using style = '|' for these and calling original method or using style = "'" for everything else.
Don't remember if using UnsafePrettyYAMLDumper.add_representer(str_type, myfunc) will do the same, maybe can be used instead of subclassing, though latter is probably same LoC-wise and won't alter global stuff.

Actually, if you want to change existing yaml doc without breaking formatting, comments in there or anything like that, maybe also check out ruamel.yaml module, which I've used for that recently and found to be very powerful for any kind of humane yaml stuff (esp. preserving comments is like a killer feature!).

Awesome, thanks a lot @mk-fg. I will check your suggestions and respond my final solution. :)


verge solo mining issue

verge can be mined alone or not to leave this my question is if verge no longer allows it because I have tried everything and this appears http request failed: failed to connect to <IP_ADDRESS> port 20102: connection refused [2018-04-08 08 : 12: 50] json_rpc_call failed, retry after 30 seconds I heard it was the firewall as you have to configure it
I'm new to this help my wallet is 4.0.1 funky beta

Problem 1)  you are on 4.0.1 ... that is not the latest version
Question:  Are you on Windows ?

can not help me with a complete tutorial that those who are very old
I want to learn

what localhost use I am using wampserver I do not know if it is correct

https://github.com/vergecurrency/VERGE#windows-wallet-usage

In the firewall I do not understand if you have to disable it or how you have to configure it on the Internet, nobody talks about it, it only talks about the configuration of the mining software.
I read something in a forum a topic of opening ports I do not understand

firewall tutorial please

you shouldn't need to configure firewall settings to mine XVG.
It should be fairly simple:

You install wallet
You create / configure verge.conf
You run it

If you have done the verge.conf
Open up VERGE-qt, go to help- > debug ->  console
run:
getinfo
getmininginfo
and post results here

I did all that and the error appears
http request failed: failed to connect to <IP_ADDRESS> port 20102: connection refused [2018-04-08 08:12:50] json_rpc_call failed, retry after 30 seconds
first probe with a miner cpu mined.exe and the error appears and I search the internet I read a comment on this forum https://www.reddit.com/r/vergecurrency/comments/7l0paf/idiot_ahead_solo_mining_help/ about the same problem and someone I solve but I do not understand how to do it

you have set a rpcuser and rpcpassword in your .conf?

I have done everything I have reviewed again and again the conf file without being able to connect, but in groups the mining software works is unfair. I want to have the possibility to see how it works just
in this forum https://www.reddit.com/r/vergecurrency/comments/7l0paf/idiot_ahead_solo_mining_help/ someone solved it but I do not understand how to do it
the user was sp3sh
I ask in that forum but they block my question, so I ask for help in this forum about the limit of mining alone. I do not have anyone else to ask for help.
i am new

Can you please go to your QT wallet, go to help -> debug -> console
and type:
getmininginfo
and copy/paste the results here.  please block out RPCUSER and RPCPASSWORD if it lists it

OK where are you on this?
Here's some tips I found:

Make sure your VERGE.conf is named VERGE.conf and is REALLY VERGE.conf .  Windows, by default, has the "hide extension of known files" option on.  So even though it LOOKS like VERGE.conf -- it might be VERGE.conf.txt .   Easy way to check is to open a command prompt, cd over to the directory, and do a "dir"

instead of running verge-qt, run verged

give step 2 a few mins,  open a command prompt and run this command:
netstat -a | findstr 127 | findstr :2

You should be seeing both
<IP_ADDRESS>:21102
<IP_ADDRESS>:20102

Have you attempted the steps in my previous comment yet ?

if I did it the first time I made a mistake, I put VERGE.config and corregi now I put it that way VERGE.conf but it is not connected yet, now the mining software closes quickly in a comment that says the server can be badly configured
my local server runs the wampp server software
a question how to configure the localhost correctly
you have extracted only what are your configurations of your localhost
to test the same configurations.

Please post the EXACT contents of your latest VERGE.conf
block out the password

I already managed to connect
these are my settings in the file VERGE.conf
rpcuser = vergerpcusername
rpcpassword = vergecoinS10
rpcallowip = <IP_ADDRESS>
rpcport = 20102
port = 21102
daemon = 1
something = groestl
thanks jrsikors
I discovered the error I had not written the rpcallowip and I was wrong in a rpcport number and in the mining software I had placed -o stratum + tcp: // and it is wrong
you have to place
-o http://<IP_ADDRESS>:20102 -u vergerpcusername -p vergecoinS10
the -u place their user of the file VERGE.conf
and in the -p they place their password in the file VERGE.conf

in the mining software I work with
-o http://<IP_ADDRESS>:20102 -u vergerpcusername -p vergecoinS10

Good to hear  and thank you for posting what worked / didn't work for others
So you are good to go now ?


How to delete only selected text instead of deleting whole region

Hi,
When i selected text, if click on Remove( Delete) icon then whole editable region is removing but i want to delete only selected text in that region.
And I've gone through the code. In switch case, for element.type() == 'Text' removing whole region like element.parent().detach(element); .
So, in Switch-case we can handle for 'Text' as well.
Thanks.

Hi @mallikarjuna909,
So you'd need to modify the tool so that instead of detaching the element it removes the current selection from it's content string, like so:
tip = element.content.substring(0, selection.get()[0])
tail = element.content.substring(selection.get()[1])
element.content = tip.concat(tail.content)
elemenrt.updateInnerHTML()

Hi @anthonyjb ,
Thanks for your help.
Your snippet working like charm after removing typos.
element.content = tip.concat(tail); element.updateInnerHTML() .
That's cool and focus is not presenting at current position rather it is going to next or previous elements. So i've made some changes to get it work.
var from, to, _ref, cursor;
_ref = selection.get(), from = _ref[0], to = _ref[1], cursor = from;
/* Remove selected text from element if there is selected text /
if (from != to) {
tip = element.content.substring(0, selection.get()[0]);
tail = element.content.substring(selection.get()[1]);
element.content = tip.concat(tail);
element.updateInnerHTML();
element.taint();
selection.set(cursor, cursor);
element.selection(selection);
element.focus();
}
else {
/ Remove whole element if there is no selected region */
element.parent().detach(element);
}


make it possible to silence gurobi environment construction

Gurobi 7.5 introduced an academic license notification which prints on every single environment construction (see this post). Since my stdout is now filled with Gurobi messages, I figured it would be nice to be able to turn them off.
This PR just adds a silent flag to the Env() constructor that temporarily redirects stdout while constructing the environment.
I also added a test to at least verify that the flag does not cause an error when set to true. My initial attempts at actually testing that nothing is printed led down a dark rabbit hole of libuv streams which did not seem worth the effort. If you do want a test of the behavior, then I'd suggest making https://github.com/Ismael-VC/Suppressor.jl a test dependency and using its @capture_stdout. Just let me know if you want that.

This could be viewed as a means to circumvent Gurobi's licensing restrictions. Why not just create an environment once and use it for all your Gurobi models? It's the env= parameter to GurobiMathProgModel:
https://github.com/JuliaOpt/Gurobi.jl/blob/eb12928e5b51808a4916f3c9963d8ccd1f8a5c11/src/GurobiSolverInterface.jl#L21

Yeah, I understand that concern. I'm already passing around the env in a lot of places, but it is kind of annoying to have to wire a single global gurobi environment through all of my various functions. But, that said, I can always just do the stdout redirection in my own code.

Complain about the printout to<EMAIL_ADDRESS>or on the thread you linked.


Any plans to rewrite this in rust?

I found plain js to be pretty slow when it comes to file system operations, any plan to re-write this tool in rust?
Thank you very much

I have no need for this tool to be blazing fast as it anyway depends on the exiftool CLI (written in PERL).
I use it to rename my media files before archiving them.
On the other hand, I'm also writing a tool to find duplicate files in my media collection, that one will be in Rust.
Cheers,


Add explanation for agglomerateByPrevalence

This PR aims to solve the issue (https://github.com/microbiome/mia/issues/407) by making the function agglomerateByPrevalence easier to understand :

Specify the returned value
Add details on the way the function works
Clarify the examples

Very nice. I think we could still move it under agglomerate-methods with agglomerateByRank and agglomerateByVariable
I think this is more "agglomeration" than "prevalence" function, so that would be the best place for it

If you check the man page of agglomerate-methods, it does not describe detection and prevalence and as_relative parameters. (They are passed through with ...). You could add to agglomerate.R file those parameters under ... parameter.
" Passed to getPrevalence and getPrevalentTaxa functions. Used in agglomeratebyPrev function..." (Along with the current text.
As agglomerate.R already has ... parameter, you cannot ... above agglomerateByPrevalence function (otherwise it overwrites the one in agglomerate.R).

See the man page. You could modify description so that it describes the agglomeration functions in more general (it now only says about agglomerateByRank) --> Agglomeration functions can be used to sum-up to rank or variable or prevalence...


Not support event feed ?

Creado el pull request para Feed

@cvquez good job on the PR.
Lets hope @jgorset sees and merges it.

any updates? is the project maintained? Readme looks outdated - https://github.com/jgorset/facebook-messenger/blob/master/README.md?plain=1#L458, access_token_for should accept page_id

@645383, I do not think it is maintained :(
I wrote an email to @jgorset, but he isn't answering.

Hi @645383 and @y0608! I'm not using this personally anymore, and I unfortunately only saw the e-mail and pull request now, but I'm happy to merge it. Thanks for doing it and keeping the library up to date!

Closing this as the pull request is merged :)

Could you please release a tag?


codestyle: Add type identifier to variable (pyright)

Add a type identifier to snippets to avoid the following pyright issue:
/home/stefanb/keylime/keylime/config.py
/home/stefanb/keylime/keylime/config.py:230:68 - error: Argument of type
"list[int | str]" cannot be assigned to parameter "filenames" of type
"StrOrBytesPath | Iterable[StrOrBytesPath]" in function "read"
  Type "list[int | str]" cannot be assigned to type "StrOrBytesPath | Iterable[StrOrBytesPath]"
    "list[int | str]" is incompatible with "str"
    "list[int | str]" is incompatible with "bytes"
    "list[int | str]" is incompatible with protocol "PathLike[str]"
      "fspath" is not present
    "list[int | str]" is incompatible with protocol "PathLike[bytes]"
      "fspath" is not present
    "list[int | str]" is incompatible with "Iterable[StrOrBytesPath]"
... (reportGeneralTypeIssues)
1 error, 0 warnings, 0 informations

Per recent test runs the issue seems to have gone away now ...


release plugin is applied to CompositeBuilds

When using the opinion-release plugin with composite builds, there is no way apply the version resolution to only the rootProject.
Ex.
I use the release plugin in a "gradle-plugin" project. I also use the release plugin in project "A".
project "A" is composite build, including project "gradle-plugin".
If "gradle-plugin" is "dirty", and I run "gradle release -Prelease.stage=final" from project "A", the build fails saying that it can't resolve the version for "gradle-plugin". The same thing happens if I call the release task on the rootProject ":release".
It would be nice if we could somehow specify which project to apply the release plugin to, or to at least, ignore the version resolution if this is a composite build

I haven't spent much time with composite builds yet, so I'm not sure if there's a way to detect this scenario. Not sure when I'll get to looking into this in more detail, but let me know if you determine anything that seems like a solution.

As is now noted in the README, I won't be enhancing gradle-git any further (but will still do some bug fixes). For this particular issue, I'd want to address it in reckon which is the long-term replacement for the release plugins. If there's a clean way to address this here without breaking any current behavior I'm open to that too.


Save button disabled for IPs with a two-digit last octet

Version 3.4.0 (3.4.0+7015-main-c61cc19c)
Docker image
In the VLC module, "Save" is grayed out after entering an IP address with a two-digit number in the last octet.
For example: <IP_ADDRESS> allows "Save":

But <IP_ADDRESS> doesn't:

A three-digit last octet seems fine too:

I've tested with many different values in the first 3 octets of the IP address, and this behavior has been consistent. As a workaround, I am able to save the module with the first digit entered (for example: <IP_ADDRESS>) and the other information correct, and then type another digit and save again (eg <IP_ADDRESS>).

The original test for IP and Hostname had a couple of issues.
The updated version will be in the betas today.
Until then, you can add a leading '0': <IP_ADDRESS>


Implement the Device enum:

find_device_by_devpath
get_fs_uuid
find_device_by_id
get_id
children

Signed-off-by: johnsonw<EMAIL_ADDRESS>

This change is

Strange, I ran cargo check beforehand it everything was good.

Oh I see, I need to update anything pointing to this repo to now use 0.2.0. I'll update.


Update dependency org.projectlombok:lombok to v1.18.28

This PR contains the following updates:

Package
Type
Update
Change

org.projectlombok:lombok (source)
provided
patch
1.18.26 -> 1.18.28

Release Notes

projectlombok/lombok (org.projectlombok:lombok)
v1.18.28
Compare Source

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:
File name: pom.xml
Command failed: install-tool maven && mvn dev.logchange:logchange-maven-plugin:add --non-recursive -DbatchMode -DfileName=renovate-org.projectlombok:lombok-1.18.28.yml -Dtitle="Upgraded  from 1.18.26 to 1.18.28" -Dauthor=marwin1991 -Dtype=dependency_update -Dlink.name=notes -Dlink.url=


Tensor unfold?

Hi there,
Any tips on how would one could achieve something similar/close to pytorch's https://pytorch.org/docs/stable/generated/torch.Tensor.unfold.html?
Something built on top of narrow maybe?
Thanks!

If you know the number of dims of the input tensor, perhaps you can do the following:

Call a .to_vecX() method
Call something like .windows to actually do the "unfolding"
Then, convert that data back
This doesn't actually unfold in a specified dimension, but you can do that by calling windows on a specific dimension of the .to_vecX() return value. Would this work?

You can try to implement unfold in this candle-ext

It seems that unfold calculates a new shape and then reshapes it? It may also need permute.

You should avoid doing to_vec for such ops as much as possible, this breaks backprop so training isn't possible when using it and has some large overhead when running on gpus/accelerated devices (and even on cpu). Instead you probably want to generate a tensor with the indexes of the target positions based on the unfold parameters and call gather or some equivalent function on the source tensor using these indexes.

Thanks all for the feedback :+1:

@grzuy, did you have success implementing this?

@grzuy, did you have success implementing this?

Hi @EricLBuehler ,
Didn't try in the end.

@grzuy I actually just wrote some code to do it on the CPU in the end.


in editor mode always has a printMarginLine

when in editor mode,the editor area always has a printMarginLine, we can extend the options , add a showPrintMargin attribute to control whether the line shows in the ui, in the ace-editor example, it  uses
   editor.setOption(showPrintMargin,false)
to hide it.

Have you try this https://ajaxorg.github.io/ace-api-docs/classes/Ace.Editor.html#setShowPrintMargin
editor.setShowPrintMargin(false)

the MarkdownEditorComponent can not access the editor attribute, it is a private attribute _aceEditorIns