PPC: Instruction Disassembly/Lifting Completion

The following is the list of instructions which we currently disassemble and lift (Fully or Partially). If you have any instructions which differ from this table, there is likely a bug or a documentation failure, please let us know.

 but still continue disassembling the function? PPC asm instructions always have 4 bytes so it should be possible to ignore an unknown instruction and continue anyways ...

Bringing this up again, still not fixed in 1.2. It's now over a year that I first reported the issue of lots of PPC instructions missing, and I am kinda annoyed that this is still not fixed. Am I the only one who uses Binary Ninja with PPC binaries? This issue must come up for other people as well, with the amount of instructions missing. And I don't even know if these are all the ones missing because Binary Ninja just stops disassembling a function when it encounters an unknown instruction...
Any update on when Binary NInja will support ALL PPC instructions?

I'm very sorry for the delay on responding to this--it's totally understandable that you'd be frustrated.
There are definitely other users using Binary Ninja on PowerPC, but because there's a wide variety of different compilers and specific hardware revisions, it's entirely possible that the set of instructions you're missing are not as common across other people's environments.  From the instructions you're describing my guess is you're doing Gamecube/Wii reversing while, for example, lots of other users might be analyzing networking equipment which also runs on powerpc and is less likely to use some of the same instructions.
As for just continuing disassembly, we don't want to just treat all four-byte patterns as valid instructions and keep scanning for bytes because that would produce a tremendous amount of garbage functions and not actually improve the results.
The good news is that there's three ways to fix/work around the problem. The first is to simply replace byte patterns that are commonly stopping execution with a NOP (at the least that would let you see how many total instructions are missing). The better fix though is to create an architecture extension that adds support for the specific instructions you're running into. The good news is there are several example architecture extensions:
https://github.com/Vector35/binaryninja-api/blob/dev/python/examples/arch_hook.py
https://github.com/Vector35/binaryninja-api/tree/dev/examples/x86_extension
Performance is much worse with python versus a native plugin, but it might be worth it depending on the size of the binaries.
Finally, you can even see how we're implementing our PPC support (https://github.com/Vector35/ppc-capstone) and submit PRs to that, though it's potentially a lot more involved than the other two.
I wish I could tell you we had an immediate fix planned for all PPC, but we don't have it currently scheduled at this time. I'll bring it up during our next team meeting to see if anyone has some time to put into it.

Hi Leseratte10, thanks for your feedback and sorry that you've been blocked on this issue.
This architecture was written to demonstrate how an existing disassembler could quickly bootstrap a creating an architecture. Obviously a huge drawback is that we adopt whatever shortcomings the disassembler has and Capstone unfortunately only makes available "ppc64" which won't decode those instructions.
We're tempted to make one-off exceptions for the 5 cases you provided (fcmpo, lq, psq_st, xxpermr, ps_muls0) but as soon as we start with psq_st for example, we know psq_stx, psq_stu, psq_stux will be an issue.
Your suggestion to return "???" is also tempting, but we rely on the disassembler failing to decode certain instructions to help Binary Ninja in the phase where it's searching about the binary and discerning between code and data.
The right thing to do is dump Capstone and make a disassembler that lets you choose which PPC variant you're working on, 750 in your case.

I'll try to get those 5 exceptions you listed on the dev channel just so you're not stuck until our better version comes out. But `lq` I can't reproduce, can you verify the E3E10038 encoding?

Hm, apparently the disassembler I used last year to get from e3e10038 to the opcode was wrong, looks like this is instead psq_l   f31,56(r1),0,0 like you found out.
I am looking forward to the release of a proper disassembler that allows me to directly select the 750(CL) so it supports all of its instructions. I don't know if there'd be more exceptions other than the five I already mentioned, as there might be some more unsupported instructions that currently hide behind the already known unsupported ones.
So did I understand that correctly, when you have that new disassembler finished that allows me to directly select the PPC variant I'm using that that will support all the instructions that processor supports?

So did I understand that correctly, when you have that new disassembler finished that allows me to directly select the PPC variant I'm using that that will support all the instructions that processor supports?

Yes. Well that's the goal. So far attempts to analyze the instruction space and automatically find points of agreement and disagreement among the variants have been promising. It's a neat problem, find me on slack if you have ideas to share.

@Leseratte10, if your Binja is set up to update from the dev channel (Binary Ninja -> Preferences -> Update Channel -> Internal development builds), would you mind giving 1.2.1937 or newer a try?

Downloaded 1.2.1937, opened my BNDB, clicked "reanalyze current function", but instructions like fe310058 still only result in "??". Do I need to enable that new feature somewhere and tell Binary Ninja I'm using a 750CL?

You didn't miss any steps, the instructions you reported earlier should work. But I'm having trouble decoding FE310058 in particular. None of the libopcodes variants will decode it, and in the 750CL doc, it says all the new instructions specific to that core have opcode 4 (0b000100) while this has opcode 63 (0b111111) on the most significant side.

Sorry. Typo. I meant f3e10058.
f02501d0 (xxpermr vs1, vs5, vs0) is now displayed correctly.
f3e10058 or e3e10038 or f04501d8 still aren't detected.

No problem! Would you mind sharing the reference disassembler you're using? I was sad to find recently libopcodes output sometimes disagrees the spec.

f3e10058/f04501d8/f03e8028 (psq_st)

f04501d8 and f03e8028 disassemble to psq_st for me but f3e10058 is xscmpgtdp according to libopcodes:
           (ppc) F3E10058: xscmpgtdp vs31,vs1,vs0
         (ppc64) F3E10058: xscmpgtdp vs31,vs1,vs0
       (ppc_403) F3E10058:
     (ppc_403gc) F3E10058:
       (ppc_405) F3E10058:
       (ppc_505) F3E10058: xscmpgtdp vs31,vs1,vs0
       (ppc_601) F3E10058:
       (ppc_602) F3E10058: xscmpgtdp vs31,vs1,vs0
       (ppc_603) F3E10058: xscmpgtdp vs31,vs1,vs0
    (ppc_ec603e) F3E10058: xscmpgtdp vs31,vs1,vs0
       (ppc_604) F3E10058: xscmpgtdp vs31,vs1,vs0
       (ppc_620) F3E10058: xscmpgtdp vs31,vs1,vs0
       (ppc_630) F3E10058: xscmpgtdp vs31,vs1,vs0
       (ppc_750) F3E10058: xscmpgtdp vs31,vs1,vs0
       (ppc_860) F3E10058: xscmpgtdp vs31,vs1,vs0
       (ppc_a35) F3E10058: stfq    f31,88(r1)
    (ppc_rs64ii) F3E10058: stfq    f31,88(r1)
   (ppc_rs64iii) F3E10058: stfq    f31,88(r1)
      (ppc_7400) F3E10058: xscmpgtdp vs31,vs1,vs0
      (ppc_e500) F3E10058:
    (ppc_e500mc) F3E10058:
  (ppc_e500mc64) F3E10058:
     (ppc_e5500) F3E10058:
     (ppc_e6500) F3E10058:
     (ppc_titan) F3E10058:
       (ppc_vle) F3E10058:

e3e10038 (lq)

e3e10038 is psq_l according to libopcodes:
           (ppc) E3E10038: psq_l   f31,56(r1),0,0
         (ppc64) E3E10038: psq_l   f31,56(r1),0,0
       (ppc_403) E3E10038:
     (ppc_403gc) E3E10038:
       (ppc_405) E3E10038:
       (ppc_505) E3E10038: psq_l   f31,56(r1),0,0
       (ppc_601) E3E10038:
       (ppc_602) E3E10038: psq_l   f31,56(r1),0,0
       (ppc_603) E3E10038: psq_l   f31,56(r1),0,0
    (ppc_ec603e) E3E10038: psq_l   f31,56(r1),0,0
       (ppc_604) E3E10038: psq_l   f31,56(r1),0,0
       (ppc_620) E3E10038: psq_l   f31,56(r1),0,0
       (ppc_630) E3E10038: psq_l   f31,56(r1),0,0
       (ppc_750) E3E10038: psq_l   f31,56(r1),0,0
       (ppc_860) E3E10038: psq_l   f31,56(r1),0,0
       (ppc_a35) E3E10038: lfq     f31,56(r1)
    (ppc_rs64ii) E3E10038: lfq     f31,56(r1)
   (ppc_rs64iii) E3E10038: lfq     f31,56(r1)
      (ppc_7400) E3E10038: psq_l   f31,56(r1),0,0
      (ppc_e500) E3E10038:
    (ppc_e500mc) E3E10038:
  (ppc_e500mc64) E3E10038:
     (ppc_e5500) E3E10038:
     (ppc_e6500) E3E10038:
     (ppc_titan) E3E10038:
       (ppc_vle) E3E10038:

I used powerpc-eabi-objdump v2.32 from devkitPPC, set to the CPU type "powerpc:750". That returns "psq_st f31,88(r1),0,0" for the op code f3 e1 00 58, and "lq r30,48(r1)" for op code e3 e1 00 38.
Maybe that is just an alias / simplification? Like "nop" is an alias for "or r0, r0, r0"?

I would have thought powerpc-eabi-objdump linked against libbfd and libopcodes.
The lq instruction isn't in my 750CL pdf, but it is in the PowerISA v2.0.7 pdf and by hand decoding you're right: E3E10038 should be lq.
But no psq_* instructions appear in the PowerISA pdf. The 750CL doc has psq_stx and psq_stux (and they should decode in Binja) but it does not have psq_st and I'm pretty confident it's not a synonym or alias because the ones with x at the end have opcode 4 while f3e10058 has opcode 63.
But then a search turns up psq_st and psq_stu in the Gekko manual:

I'll stick those encodings into what Binja calls PPC, but doing this right will take some thought. Before seeing psq_st missing from the PowerISA spec, I'd mistakenly believed it contained the union of all instructions from each variant, sort of a super lookup table. And all variants would just select or subset some portion from this super lookup table.

Hmmm, maybe libopcodes had good reason not to decode e3e10038 to lq:

Note the bit:

If RTp is odd or RTp=RA, the instruction form is invalid."

Instruction word e3e10038 splits to opcode==111000, RTp==11111, RA==00001, DQ==000000000011 so RTp is odd. If we change it to even, RTp==11110 then the word becomes e3c10038 and:
           (ppc) E3C10038: lq      r30,48(r1)
         (ppc64) E3C10038: lq      r30,48(r1)
       (ppc_403) E3C10038:
     (ppc_403gc) E3C10038:
       (ppc_405) E3C10038:
       (ppc_505) E3C10038: lq      r30,48(r1)
       (ppc_601) E3C10038:
       (ppc_602) E3C10038: lq      r30,48(r1)
       (ppc_603) E3C10038: lq      r30,48(r1)
    (ppc_ec603e) E3C10038: lq      r30,48(r1)
       (ppc_604) E3C10038: lq      r30,48(r1)
       (ppc_620) E3C10038: lq      r30,48(r1)
       (ppc_630) E3C10038: lq      r30,48(r1)
       (ppc_750) E3C10038: lq      r30,48(r1)
       (ppc_860) E3C10038: lq      r30,48(r1)
       (ppc_a35) E3C10038: lfq     f30,56(r1)
    (ppc_rs64ii) E3C10038: lfq     f30,56(r1)
   (ppc_rs64iii) E3C10038: lfq     f30,56(r1)
      (ppc_7400) E3C10038: lq      r30,48(r1)
      (ppc_e500) E3C10038:
    (ppc_e500mc) E3C10038:
  (ppc_e500mc64) E3C10038:
     (ppc_e5500) E3C10038: lq      r30,48(r1)
     (ppc_e6500) E3C10038: lq      r30,48(r1)
     (ppc_titan) E3C10038:
       (ppc_vle) E3C10038:

Hi there, I loaded up Binja 2.0.2097* to see how well it performs with relation to PowerPC/GameCube/Wii (*feel free to ignore my input since I haven't paid any money), I think @Leseratte10 is getting confused, and also I'd like to jump in with my two cents
Sorry this is so long, I was searching around for answers, found this, and went on a tangent

"E3E10038" is "psq_l f31, 0x38(r1), 0, 0", which you can see if you manually edit a binary in IDA (or manually assemble? I've never used that though)
AFAICT, IDA disassembles opcodes correctly when set to Paired Singles, devkitPro isn't a very good reference (screenshot from 7.2 but it's supported Paired Singles for a while)

my two cents, lots of screenshots

looks like it's missing some reloc types that CodeWarrior uses in its elf files

Binja 2.0 performs decent on my test function, InsertAlarm which is part of the SDK, uses 64-bit math in a 32-bit implementation and thus has to use xor and carry stuff, but has a long way to go

It's missing a bunch of "assumptions" that I've come to expect, from my quick testing

it doesn't know that r14-r31 are "temporary" variables and not passed
it doesn't look like there's a way to set r2/r13 for Small Data Area static addresses (although it did pick up the addresses after I played with it a bit.....somehow)
changing a function type in the disassembly doesn't re-analyze the rest of the function or force the analyzer to change the variables before/after to match the new data (see pic 2, after I change ReadProjData to return a bool [which it doesn't actually use and correctly detects, see pic 3 with a lot of cleanup], it doesn't "force" it to change ctr/r5/6/7)

I don't know if this is because of the missing assumptions above/poor decompilation, but it creates a loooot of variables/doesn't consolidate them

I see some people have made C++ plugins but it doesn't feel that usable (from my very quick testing), there's no way to "set" the this variable like Ghidra can without manually defining a class object structure or just doing void* this

wrt the UI (again I haven't paid any money so feel free to ignore my gripes), the tags are a nice feature but it seems like even if there was C++ support, there's no way to "group" functions like Ghidra's Symbol Tree, e.g. these 15 functions are from this file, these 23 are from this other file

being locked into C structs to define types seems very clunky, and it doesn't look like there's a way to group types in the UI if you start to have A Lot Of Them

on the bright side, you're being very open wrt APIs and custom scripting and plugins which I have to appreciate, seems easy enough to fix smaller issues e.g. add support for the GameCube's "dol" format or add a symbol demangler for CodeWarrior

the layout of the main body is decent, did a good job embedding data, tags, and decomp/disassembly

I think @Leseratte10 is getting confused, and also I'd like to jump in with my two cents
Sorry this is so long, I was searching around for answers, found this, and went on a tangent

"E3E10038" is "psq_l f31, 0x38(r1), 0, 0", which you can see if you manually edit a binary in IDA (or manually assemble? I've never used that though)
AFAICT, IDA disassembles opcodes correctly when set to Paired Singles, devkitPro isn't a very good reference (screenshot from 7.2 but it's supported Paired Singles for a while)

my two cents, lots of screenshots

looks like it's missing some reloc types that CodeWarrior uses in its elf files

Binja 2.0 performs decent on my test function, InsertAlarm which is part of the SDK, uses 64-bit math in a 32-bit implementation and thus has to use xor and carry stuff, but has a long way to go

It's missing a bunch of "assumptions" that I've come to expect, from my quick testing

it doesn't know that r14-r31 are "temporary" variables and not passed
it doesn't look like there's a way to set r2/r13 for Small Data Area static addresses (although it did pick up the addresses after I played with it a bit.....somehow)
changing a function type in the disassembly doesn't re-analyze the rest of the function or force the analyzer to change the variables before/after to match the new data (see pic 2, after I change ReadProjData to return a bool [which it doesn't actually use and correctly detects, see pic 3 with a lot of cleanup], it doesn't "force" it to change ctr/r5/6/7)

I don't know if this is because of the missing assumptions above/poor decompilation, but it creates a loooot of variables/doesn't consolidate them

I see some people have made C++ plugins but it doesn't feel that usable (from my very quick testing), there's no way to "set" the this variable like Ghidra can without manually defining a class object structure or just doing void* this

wrt the UI, the tags are a nice feature but it seems like even if there was C++ support, there's no way to "group" functions like Ghidra's Symbol Tree, e.g. these 15 functions are from this file, these 23 are from this other file

being locked into C structs to define types seems very clunky, and it doesn't look like there's a way to group types in the UI if you start to have A Lot Of Them

on the bright side, you're being very open wrt APIs and custom scripting and plugins which I have to appreciate, seems easy enough to fix smaller issues e.g. add support for the GameCube's "dol" format or add a symbol demangler for CodeWarrior

the layout of the main body is decent, did a good job embedding data, tags, and decomp/disassembly

To be honest, I don't really care what these instructions disassemble into, I'd just like them all to disassemble into something so Binary NInja can finally disassemble all the functions and doesn't stop at the first unknown instruction ...


Add a proper readme and contributor docs

Similar to the main 24pullrequests repo

Gonna throw something together for this.
I'm guessing that Dasher reads the GitHub API for any PR from users who authenticated with the 24PRs "app"?

Yep that's right, thanks!


[Bug] Model contains materials that are not assigned to any face

Bug Description
Some models contain materials that are not assigned to any face. For example c36 of Rat, or c370, c114, c134, c369, and c368 of a Dwarf. Not all models have this issue, but as there are already so many materials for one model, there shouldn't be any additional materials.
Steps to reproduce

Export the Rat from lumbridge castle
Load .obj into Blender (tested with v3.4.1)
Open a python console window
Select the model in object mode (orange outline)
type bpy.ops.object.material_slot_remove_unused()
Console prints Info: Removed 1 slots, and c36 is not available anymore in the materials.

The current behavior
.mtl file contains materials that are not assigned to any face
The Expected behavior
.mtl file contains only material that are assigned to at least one face

This should be fixed as of version 1.7.0


On semeval performance

I run your code with
CUDA_VISIBLE_DEVICES=0,1,2,3  python3 run_classifier_TABSA.py --task_name semeval_QA_B --data_dir data/semeval2014/bert-pair --vocab_file uncased_L-12_H-768_A-12/vocab.txt --bert_config_file uncased_L-12_H-768_A-12/bert_config.json --init_checkpoint uncased_L-12_H-768_A-12/pytorch_model.bin --eval_test --do_lower_case --max_seq_length 512 --train_batch_size 24 --learning_rate 2e-5 --num_train_epochs 12.0 --output_dir results_v2/semeval_result/QA_B --seed 42
and get best performance at epoch 10
aspect_P = 0.9109792284866469
aspect_R = 0.8985365853658537
aspect_F = 0.9047151277013752
sentiment_Acc_4_classes = 0.8439024390243902
sentiment_Acc_3_classes = 0.8735868448098664
sentiment_Acc_2_classes = 0.9306029579067122
But it should be
BERT-pair-QA-B 85.9 89.9 95.6
as in your article.
What should I do to reproduce your results? Thanks.

The recommended epoch for fine-tuning BERT model is 3 or 4.
Besides, you can try to change the random seed.

Hi,
Thanks for the repo! It is very helpful!
Can you please elaborate on your previous comment? Do you mean that after certain epoch we start fine-tuning BERT?


Specify hash algorithm in config

I needed to specify SHA3_521 rather than SHA256. Have a PR coming which passes this through.
  # in base_archiver use SHA256 or SHA3_512
  hash_algorithm: SHA3_512
  # hash_algorithm: SHA256

Closing as done in latest merge.


Update otel

Update otel

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

Comparison is base (4f34dbe) 92.85% compared to head (b5b6ec0) 92.85%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main       #8   +/-   ##
=======================================
  Coverage   92.85%   92.85%
=======================================
  Files           6        6
  Lines         210      210
=======================================
  Hits          195      195
  Misses         11       11
  Partials        4        4

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


Contact form emails not arriving in Freshdesk

pwillett [1:21 PM]
It looks like emails from dmptool to<EMAIL_ADDRESS>are not being forwarded to Freshdesk. I think it has to do with the "from" address<EMAIL_ADDRESS>I'm pretty sure it worked yesterday--not sure what changed.

Well, that's weird. One email just showed up in Freshdesk at 13:33--almost 2 hours after it was received by the<EMAIL_ADDRESS>acct. Not sure what's going on.

The emails eventually show up in Freshdesk,  after some delay. I'll keep an eye on it to be sure that they all get there, and will reopen this ticket if not.

closing the issue for now. reopen if you notice anything amiss.


Clicking on left grid should highlight the closest grid unit to the cursor

Clicking on left grid should highlight the closest grid unit to the cursor.
When we have a big grid of 25x25 or more it's a pain to press the up/down button to change which unit in the grid is being displayed on the right side. Can we just click it and it would highlight that unit?

Also, at the start when you click and make a 10x10 grid unit by default, can we just center the unit on the cursor instead of doing the top left corner? People have asked :)

[ ] Hit test for selecting active R/C
[ ] Centered tile on new project


How can I update the traceparent after the operation was started?

I have the following setup:

node v16
applicationinsights v2.3.3
auto collection fully enabled (requests, dependencies, etc.)
expressjs v4

My app runs behind a proxy that I cannot configure differently, which alters the header names, including the traceparent header.
If the AI sdk doesn't see this header, it starts with a clean context -- and this is what I want to fix.
Questions:

Is there a way to configure the header name containing the traceparent ID ? (guess not, so next question)
Is there a method (even a private one) that I can update the context with the traceparent that I will provide? (even a hack would work for me in this case)

Thank you

@johnib there is no way to update the header name to use to maintain the correlation in the SDK, you can manually track the requests and create the context using startOperation method, you can also get a reference to the current correlation context using getCurrentContext method and update it, never tried that, definitely hacky but maybe it works in your scenario, disabling automatic tracking and manually handling the request and the context should be better in this case.

Was a bit tricky, but made it work eventually.
Had to:

Extract the traceparent value from the custom header and use it to override the appInsights.getCorrelationContext().operation fields

as soon as possible (first middleware set on the express app)
at this point, the request telemetry item is already created and initialized with random correlation IDs (hence the second bullet)
however it is necessary for all subsequent telemetry items that will be created once the actual flow is executed (dependencies, traces, exceptions, etc.)

Add a telemetryProcessor that specifically handles request telemetry items to override the following envelope fields:

envelope.tags['ai.operation.parentId'] = context.correlationContext.operation.traceparent.parentId;
envelope.tags['ai.operation.id'] = context.correlationContext.operation.traceparent.traceId;
envelope.data.baseData.id = context.correlationContext.operation.parentId;


Undirected Cypher queries renders incorrect relationship directions in graph view

I think we could do a bit better with drawing the directions on relationships when the user specifies undirected Cypher queries. Consider that I have a schema as visualized below:

Note that there are no Client-Client relationships in this graph (the only paths between two clients are through a merchant).
In order to run a multi-hop query to answer questions about clients and merchants via this schema, I cannot specify the direction of the relationship, as to reach other clients, I have to pass through a merchant in an undirected manner, because we cannot have a directed relationship from merchant to the client.
To return paths in this case, I resort to an undirected query as follows:
MATCH (c:Client {client_id: 679})-[t:TransactedWith*1..3]-(m:Merchant)
RETURN * LIMIT 10;

When the paths are returned, the directions of the arrows are incorrect (we get some edges pointing from a merchant to a client) -- it seems like the arrows are drawn based on the order in which the nodes appear in the path.

Suggested behaviours
Option 1
Disable arrow rendering (show undirected edges) if the user specified an undirected query without any directions.
Option 2
The schema is of course the "source of truth" for the directionality of a relationship. If option 1 is difficult or not a good idea for any reason, can we instead just force G6 to render the arrow directions based on the schemas, regardless of the path objects being returned? For e.g., if we got [client_1]--[merchant_1]--[client_2]--[merchant_2], we know from the schema that we can only have arrows in the [client]-->[merchant] direction and not the other way around.

The Explorer app does not infer edges from the order of the path but simply draws each rel based on the src and dst returned by the core:
https://github.com/kuzudb/explorer/blob/075a21767c7b47783c78f502553487c7dfaa76a2/src/components/ShellView/ResultGraph.vue#L526-L527
So it seems that in this case the core does return a rel with merchant as src and client as dst. If this is not desirable, maybe the core should return the rels in reverse order rather than implementing a hack based on the schema/path order at the Explorer side.

Ah, I think I know what's happening. When sending an undirected edge Cypher query for transitive paths (where one node appears in more than one path), we will return redundant paths (in both directions). So the arrow drawing rules as you showed simply render the source and destination based on what it receives - it seems like the latest value in the list of paths is what's drawn.
Sometimes, I see the arrows drawn when I run this query:
MATCH (c:Client)-[t:TransactedWith]-(m:Merchant)-[t2:TransactedWith]-(c2:Client)
RETURN * limit 50;

Client 1 and merchant 50 have arrows between them in both directions as multiple paths pass through merchant 50, but the order in which they were sent to the front end is not guaranteed. So, sometimes, the wrong direction path is drawn instead.
I'm not sure that anything in the core needs to be changed for this, but I'm also not sure what's a good solution. Clearly others like Neptune and Neo4j have figured this out, so I'm sure G6 has a way too.

I think this has been fixed in the recent PRs @mewim - feel free to close if you think it's been addressed.


Library built with VS2015 causes python a hang

Hi,
I built mxnet from master branch on a Windows 7 machine with Visual Studio 2015 Update 3, CUDA 8, CuDNN 5.1 and MKL. There was no error and only a few warnings when I built it. When I tested it with the examples, for instance, image classification, the task could finish (I mean I can get the results) but python could not quit properly. There is no error message and I had to kill the python process manually. I tried GPU and CPU modes, both have this issue.

@aaronzs  could you debug the code and figure out which line cause the quit problem.

@aaronzs Have you solved this problem yet? I tried to built mxnet with VS 2015, but it failed when I installed Python interface. I am starting to wonder if VS 2015 is the reason.

This issue is closed due to lack of activity in the last 90 days. Feel free to reopen if this is still an active issue. Thanks!


Implement QScript joins.

#revision
Fixes #1581
Fixes #1560
Implements basic joins in QScript.

Current coverage is 66.29% (diff: 89.52%)

Merging #1841 into master will increase coverage by 0.10%

@@             master      #1841   diff @@
==========================================
  Files           356        356
  Lines         17175      17235    +60
  Methods       16826      16887    +61
  Messages          0          0
  Branches        210        211     +1
==========================================
+ Hits          11368      11426    +58
- Misses         5807       5809     +2
  Partials          0          0

Powered by Codecov. Last update 040987d...659a2e7

@sellout change pushed


Where were the style transfer example models taken from?

Hi, if possible, do you guys know from what example the q_and_w.pb and g_and_w2.pb files were taken from. Im trying to get similar style transfer models to work with bender but the list of unsupported operations varies widely.
If you trained them yourself it would be helpful to know more information about those models.
PS:i would have posted this on stack-overflow but i don't have the rep to create the bender tag.
Thanks in advance!

I think those protobufs were generated from fast-style-transfer.
Just out of curiosity, which are the unsupported operations that you ran into? Also, remember that you can try implementing them yourself. It's not that hard :sweat_smile: We can provide help :angel:
I don't have the enough rep to create a tag either :disappointed: But you can go ahead and ask without the tag. Hopefully, the community will create it some day.

Hey ok ill try it and if i run into issues ill post them, ill close this issue in the meantime.
Thanks!

@bryant1410 would you be willing to share how you generated the protobufs from fast-style-transfer?
I've created a model using the same library, but that only generates checkpoint files and no graphs

I don't have them at hand now. I suggest you use https://github.com/xmartlabs/benderthon in conjunction with fast-style-transfer. If you are blocked, please tell me and maybe I can help you out.

Ok thanks, my only blocker right now is generating the pb file. Currently Im using the approach in this SO answer here
But need to see how I can generate the output node names in fast-style-transfer

I guess my next approach would be to use Benderthon, but would need to create the single checkpoint file, as I currently have the 3 (meta, index, data)

I guess my next approach would be to use Benderthon, but would need to create the single checkpoint file, as I currently have the 3 (meta, index, data)

You don't need a single one, you can with 3. You just need to pass the common prefix (like "file.ckpt")

And with respect to the output node name, you just need to check its name

Do you recall what it was for fast-style-transfer, it doesnt seem to be explicitly set: https://github.com/lengstrom/fast-style-transfer/search?utf8=✓&q=name%3D&type=

saver = tf.train.import_meta_graph(/path/to/meta/graph)
sess = tf.Session()
saver.resore(sess, /path/to/checkpoints)
graph = sess.graph
print([node.name for node in graph.as_graph_def().node])

produces a ton of different output

saver = tf.train.import_meta_graph(/path/to/meta/graph)
sess = tf.Session()
saver.resore(sess, /path/to/checkpoints)
graph = sess.graph
print([node.name for node in graph.as_graph_def().node])
produces a ton of different output

That yields every node name in the graph, not necessarily output.

The output is in: https://github.com/lengstrom/fast-style-transfer/blob/master/src/transform.py#L18
It's automatically named by TF, probably by the Add operation, something like "AddN" (where N is the number of the last unnamed addition operation, 0-based).

ah thanks, looks like I was able to find it in the evaluate function and the restore of the graph:
Tensor("add_37:0", shape=(1, 720, 884, 3), dtype=float32, device=/device:GPU:0)
now when running benderthon tf-freeze fns.ckpt tiger.pb add_37:0 I get error:
AttributeError: 'module' object has no attribute 'freeze_graph_with_def_protos'

can you pass a complete stacktrace?

what version of tf are you using?

version 1.1.0
Traceback (most recent call last):
  File "/home/ubuntu/anaconda2/bin/benderthon", line 11, in <module>
    sys.exit(main())
  File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/benderthon/cmdline.py", line 39, in main
    tf_freeze.freeze_from_checkpoint(args.input_checkpoint, args.output_path, args.output_node_names.split(','))
  File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/benderthon/tf_freeze.py", line 25, in freeze_from_checkpoint
    freeze_graph.freeze_graph_with_def_protos(input_graph_def=sess.graph_def, input_saver_def=None,
AttributeError: 'module' object has no attribute 'freeze_graph_with_def_protos'

sorry just saw the 1.2 req

Thanks again. I was able to get the pb file.
So far in my iOS style-transfer I can only get g_and_w2.pb (given) to work. Seeing some nil errors with my transfered pb's. Will update when I find out more

ah the nil error was my b.
But the newest error is one I believe I saw in another issue:
assertion failed: Add works for two layers:

Having the same issue
assertion failed: Add works for two layers:
Here's my protobuf: https://www.dropbox.com/s/k4i8ccn0ak0kac9/c.pb?dl=0
Generated with benderthon from a checkpoint trained with https://github.com/lengstrom/fast-style-transfer
This is NOT the same as #50.

@j005u why is not the same issue?

Because the error is Add works for two layers rather than Add works for two layers of the same size
More specifically incoming.count = 0

@bryant1410 Uploaded the original checkpoint to https://www.dropbox.com/s/h2ck8xf8h576kvx/check.ckpt.zip?dl=0
The output layer is add_37.
Also of note (although I'm guessing it doesn't matter?), the model was originally trained for cloud GPUs at 1980x1080.
Maybe that helps.

@bryant1410 Any tips on debugging this?
I've tried old version of benderthon and Tensorflow. I also tried quantising the graph, but that just results in a conv2d layer having 0 inputs. Could the trained input size be an issue, should I try to retrain at 256x256? Is there a tool I could use to visually explore the .pb and try to figure out where things break down? As far as I can tell the very first Add layer has 0 inputs.
@mdramos Did you ever figure this out by any chance?
As far as I can tell there's no way to use fast-style-transfer with Bender currently.

Sorry for the delay. Quantizing the graph won't work, as Bender currently doesn't support int8. The input size is not a problem usually. To explore the .pb you can use TensorBoard.
We still have to fix the bug of the branch you cited


MissingPluginException when running Example Project

Im trying to get the gpiod plugin to work, but am running into a (probably trivial) issue.
Running the example project I get this error:
[ERROR:engine/src/flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: MissingPluginException(No implementation found for method getNumChips on channel plugins.flutter.io/gpiod) #0      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:319:7) <asynchronous suspension> #1      _FlutterGpiodPlatformSide.getNumChips (package:flutter_gpiod/src/gpiod.dart:98:34) #2      FlutterGpiod.initialize (package:flutter_gpiod/src/gpiod.dart:252:45) #3      FlutterGpiod.ensureInitialized (package:flutter_gpiod/src/gpiod.dart:269:35) #4      _FlutterGpiodTestAppState._testFlutterGpiod (package:flutter_gpiod_example/main.dart:19:24) #5      _FlutterGpiodTestAppState.initState (package:flutter_gpiod_example/main.dart:74:5)
Any clues as to what I am missing?

This is a platform-side error (so it's caused by an "incorrect" flutter-pi binary). You can try this:

Have you made sure you're using the latest commit of the flutter-pi repo to build the flutter-pi binary?
You can try compiling flutter-pi with the --always-make flag, since make sometimes doesn't notice when included header files change.
If you're using a custom build script, make sure you pass the -DBUILD_GPIOD_PLUGIN flag your C compiler.

If that doesn't fix your problem, I can upload a working flutter-pi binary on the flutter-pi repo as a workaround.

 I missed an essential step in updating to the latest code. Make.
Closing this issue. Thank you.


Run as server

Having the vault run as a server will allow for remote clients to connect to retrieve information. For example a browser extension, phone, or remote computer. Makes some of this more convenient

Sort of have this setup with gui now that it has a channel for communicating, may need to work on setting up a websocket or something.


Add Breakpoints functionality

Description
The generated Execution Trace can sometimes be very long. Currently, the only way to navigate it is via "Next", "Previous" buttons. Users sometimes need to press those buttons hundreds of times to get where they need.
We would like to add a breakpoint functionality together with a "Continue execution" button. This will let users set a breakpoint on a trace item they need and hit "Continue execution" to get to that trace item fast.
How it should work

The user clicks "Compile and run"
The user add's a breakpoint into a line they want the execution to break
The user clicks "Continue execution" button and the program will fast forward to that step

https://github.com/walnuthq/cairovm.codes/assets/2983746/4deefa8f-0c95-4453-a512-add9db85b12a
Inpiration
As usual, we want the UX to be similar to https://www.evm.codes/playground
To implement it, copy the relevant debugging-related code from https://github.com/smlxl/evm.codes

Let's go for this one :-)


How to add ads to video Thank you

https://github.com/dueeeke/DKVideoPlayer/blob/master/dkplayer-sample/src/main/java/com/dueeeke/dkplayer/activity/extend/ADActivity.java


no-data generates [Vue warn]: Error in render: "TypeError: Cannot read property 'options' of undefined"

I am getting the above vue warning as soon as I type in a set of characters that produce no data from my data set. I assume this is something to do with my local dev installation as the demo works perfectly. I assume that the problem is that $coolSelect is not available, i.e. from component.vue
<slot name="no-data">         {{ $coolSelect.options.text.noData }}  </slot>
and $coolSelect is imported from main.js
For some reason I get a console warning rather than the 'No data available' message. No error is thrown so the application continues OK.
I tried installing with yarn and npm but it made no difference. Do you have any idea what I have done wrong?

Hi, thanks for using the component and detailed information on the problem.
Maybe a silly question, but are you using the code below? (before using the component itself)
import { CoolSelectPlugin } from 'vue-cool-select'

// paste the line below only if you need "bootstrap" theme
import 'vue-cool-select/dist/themes/bootstrap.css'
// paste the line below only if you need "material-design" theme
import 'vue-cool-select/dist/themes/material-design.css'
// you can also import your theme

Vue.use(CoolSelectPlugin)

Thanks for responding so quickly. Not a silly question at all. I was
importing
import { CoolSelect } from 'vue-cool-select'
and using
Vue.use(CoolSelect)
This all worked beautifully apart from the no-data issue.
I changed it to CoolSelectPlugin and the problem is fixed. Thank you very much.
Thank you too for the component. I love it.
Rgds
Mike
On Sat, Oct 5, 2019 at 6:21 PM Илья<EMAIL_ADDRESS>wrote:

Hi, thanks for using the component and detailed information on the problem.
Maybe a silly question, but are you using the code below? (before using
the component itself)
import { CoolSelectPlugin } from 'vue-cool-select'
// paste the line below only if you need "bootstrap" themeimport 'vue-cool-select/dist/themes/bootstrap.css'// paste the line below only if you need "material-design" themeimport 'vue-cool-select/dist/themes/material-design.css'// you can also import your theme
Vue.use(CoolSelectPlugin)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/iliyaZelenko/vue-cool-select/issues/223?email_source=notifications&email_token=AAH6Z5J5VZCNOS7PB2J5RO3QNDEJDA5CNFSM4I5YRED2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEANXJVQ#issuecomment-538670294,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAH6Z5P3U2TYOV6KEEL6XZTQNDEJDANCNFSM4I5YREDQ
.

I am very glad that I immediately found a solution. Your code did not work before due to the fact that you imported the component itself, not a plugin (you can see this line of code).
I’m glad to help if you have any more questions now or in future.

I see now. Thanks again.
On Sat, Oct 5, 2019 at 6:56 PM Илья<EMAIL_ADDRESS>wrote:

I am very glad that I immediately found a solution. Your code did not work
before due to the fact that you imported the component itself, not a plugin
(you can see this line
https://github.com/iliyaZelenko/vue-cool-select/blob/master/src/main.js#L2
of code).
I’m glad to help if you have any more questions now or in future.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/iliyaZelenko/vue-cool-select/issues/223?email_source=notifications&email_token=AAH6Z5KWJJ2OS4HSIIBIT23QNDIMLA5CNFSM4I5YRED2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEANYDBY#issuecomment-538673543,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAH6Z5K3Z5Z4UUWISC4E7WLQNDIMLANCNFSM4I5YREDQ
.


Mobile width content overflow

Screenshot

Steps to Reproduce

Open https://demo.ghost.io/using-tags/ on a mobile device or using Chrome DevTools's device toolbar set to a mobile width

Technical details

Casper Version: 2.4.0
Ghost Version: 1.25.2

Not entirely fixed it seems:

When there is a long code-element-code-element-code-element-code-element-code-element-code-element-code-element-code-element-code-element-code-element-code-element-code-element-code-element-code-element- the line doesn't wrap.

Hey @jessehouwing 👋 Good catch! 😄 This appears to be a different issue, one that was around before the issue this PR addressed. I've opened a new issue for it here https://github.com/TryGhost/Casper/issues/466


[TTNN] Add a pass in TTNN backend pipeline to decompose toLayoutOp

Introduce a pass at the end of the TTNN pipeline to decompose higher-level toLayoutOp to specific layout attribute individual ops.
This issue is part of the TTNN backend pipeline refactor. This doc captures the TTNN backend pipeline refactor:
TTNN Defaults - Design Doc

Is there anything else to do besides what @jnie-TT did in #840?

The main purpose of this issue is to capture the intent outlined in the design doc. We’ll likely close it, but let’s wait until someone is assigned and has taken a closer look.


Update join.py

Moved the join.py changes from #207 here, will remove them from 207. Should (hopefully!) be OK to merge.

@sarahyurick - thanks for splitting, that will make it easier to review.
To get rid of the style check error, I would recommend to use pre-commit as described in the docu, which will eventually call black.

Cool, looks good now!


Support strict content security policy

Bootstrap uses embedded SVG icons throughout the SCSS files. The strict content security policy of the theme refuses to load these embedded files, resulting in missing icons. See Bootstrap issue #33134 for more details.

Hi Mark, I'm trying to use your theme on a blog deployed on netlify, but none of the styles are loading. Checking the console log, there seems to be an issue with content security policy for script-src but I can't see any more detail than just Content Security Policy: The page's settings blocked the loading of a resource at inline ("script-src").
My blog is www.barefootbushwalk.blog and the repo is at https://github.com/momargoh/barefootbushwalk . Are you able to help me out with this because I think your theme looks great and would love to be able to use it!

Hi Momar, great to hear you like the theme! I was able to recreate the problem and to provide a solution. I submitted two additional bug reports too. I created a fork of your repo here. These are my observations and recommendations:

I reverted back to the original netlify.toml file, as your configuration seemed to have different indentation. I'm not sure how strict toml processing is, but I changed back to the original indentation anyways.
I added the required CSP items for script-src, frame-src, and img-src, some of them were not in sync with your server.toml (which contains the CSP configuration for local development).
I added the command npm run prod to the package.json file to start a local production server to reproduce the CSS errors.
I added a new file layouts/partials/head/stylesheet.html to provide a fix for the incorrect CSS purge in production.
The site has been deployed to Netlify on bush.markdumay.org.

I'll submit a PR to your repo so you can integrate the fixes with your own repo if you wish. Be sure to change back the baseURL though, as I updated this to bush.markdumay.org for testing with Netlify.

Thank you so much Mark, I can't believe how quickly you've fixed that up. I just merged your PR and fixed up the baseURL and everything is deployed already! Enjoy your coffees :)

Fixed with #109


Fix tests.

Signed-off-by: Mrunal Patel<EMAIL_ADDRESS>

A different error here -- System error: operation not permitted.
Closing.

@mrunalp something is going on here and not running the user namespaces in a container for the tests.   I don't know what is going on right now.

:`(
On Tue, Mar 17, 2015 at 6:53 PM, Michael Crosby<EMAIL_ADDRESS>wrote:

@mrunalp https://github.com/mrunalp something is going on here and not
running the user namespaces in a container for the tests. I don't know what
is going on right now.
—
Reply to this email directly or view it on GitHub
https://github.com/docker/libcontainer/pull/456#issuecomment-82678729.

lets never upgrade again
On Tue, Mar 17, 2015 at 6:54 PM, Jessica Frazelle<EMAIL_ADDRESS>wrote:

:`(
On Tue, Mar 17, 2015 at 6:53 PM, Michael Crosby<EMAIL_ADDRESS>wrote:

@mrunalp https://github.com/mrunalp something is going on here and not
running the user namespaces in a container for the tests. I don't know what
is going on right now.
—
Reply to this email directly or view it on GitHub
https://github.com/docker/libcontainer/pull/456#issuecomment-82678729.

@crosbymichael @jfrazelle It is very confusing. The behavior is varying across kernels and host docker versions. I will keep looking.


check about the latest release tag

Should the latest release be 0.8.2 rather than 0.8.21?

I made a mistake while versioning the latest release, I published version 0.8.2 on crates.io but did not publish it on GitHub, so I published 0.8.21 on both.
This could've been avoided had I followed the proper versioning scheme as suggested by the Rust documentation.

So sounds like I can go with 0.8.21? Gonna create a PR now.

Created a upgrade PR

So sounds like I can go with 0.8.21?

Yup!

Created a upgrade PR

Great, sorry about the confusion

no worries, just want to double check. things can happen! 😄


Fixes #54 correct the unit of memory allocation

Build log and artifact:

https://gitlab.com/gbraad/docker-machine-kvm/-/jobs/29402602/artifacts/browse

@dhiltgen please have a look

ping?


Support for images? border?

Can it show shaped/normal images ?
Can I add border (color&size) ?

There is a way to use normal image #10.
You are welcome for contributing!

How to use a normal image? I meant using an image, so that it will be inside a filled circle.
This can be useful for items that need a placeholder icon, that don't have an image or a letter to show.

I agree, that could be useful.
It is not implemented right now.

Can you please consider adding those features?

I will add this tasks to my todo list.

Thank you

It also makes sense, according to the description of your library:
"Replicates android L contacts icon view"
The contacts app has images too. And it will show a placeholder if there is no name and image:


Not supported on samsung mobile Browser

when i use it on my project , my page will be clean white in samsung mobile Browser , but chrome and firefox is ok

Closing all v4 issues due to V5 released.
If necessary, please open a new issue using V5, thanks!


Enums incorrectly generated if constructor present with "..." for multiple arguments [moved]

This is Issue 217 moved from a Google Code project.
Added on 2013-07-16T00:11:18.000Z by<EMAIL_ADDRESS>Please review that bug for more context and additional comments, but update this bug.
Original labels: Type-Defect, Priority-Medium

Fixed in 0.9.7.


Edit deletion log

Output .mods file path in log.

Coverage decreased (-0.003%) to 67.268% when pulling f321b184ca692c9c0c67e450907dab0da96b7155 on liuminghui233:deletion_log_edit_master into 9d21b207df77f0297457fe3fa137d0dd79cd8dd6 on apache:master.


Smaller gitignore and remove setuptools zip

The .gitignore was so big it was hard to change it appropriately if something new needed to be ignored.
I also removed the SetupTool zip, since SetupTools is part of core Python now.

Thanks!


more logging information on start

@rultor release, tag is 0.20.0

@rultor release, tag is 0.20.0

@yegor256 OK, I will release it now. Please check the progress here


feat: change server create request struct to handle new logic of crea…

…ting server

too long for this PR. close


Fix some issues raise by Coverity in the tests.

[x] tests are added or updated

This PR addresses the Coverity issues in the tests that have a simple solution that doesn't require disabling things.

It means negative.  And yeah, +1 to not using it ☺

ping? @mattcaswell ?


create_reference_cov.py: NameError: name 'l' is not defined

Hi,
https://github.com/fredsanto/coverageMaster/blob/9679697f618e5b91158be25fdb6246571676537a/TOOLS/create_reference_cov.py#L34
python ../TOOLS/create_reference_cov.py cov_folder/ outp_folder/
Traceback (most recent call last):
  File "/coverageMaster//TOOLS/create_reference_cov.py", line 34, in <module>
    if not l:
NameError: name 'l' is not defined

Cheers

ps. also in the example you show how to create a text file:
samtools depth -a -b   > .cov
but in the code indicates, that we have to work with binary files?
open_f = [open(f, "rb") for f in glob(dir + '/*cov')[:50]]

add "l = file.readline()" before "if not l"

Fixed now


Nokia Bounce unobfuscated

Bounce .jar exists in non-obfuscated form.
Intact field/func/class names. That only leaves local vars.
I'll give you .jar next chance I get.

Wait, for real? I wish I knew about it earlier… :) Please send it here when you can! I would like to know how close I was to the real class/func names.
By the way, I also heard that there was an official, better version of Bounce for the Nokia 9210, but I'm not sure if it's even worth deobfuscating.

Nokia 9210 version
From quick looksie on YT, seems to me like highres, bells'n'whistles-added version.
Oh, and more of the level visible at once.

Yep, and no level scrolling, which is a downgrade, I guess.

Ooh, that's some good stuff. Thank you so much! I will copy the names later when I have time. (That is, if you don't want to do that yourself 🙂)
Hm, and what's the difference between v1.9 and v1.8? Can you please send me the v1.8 JAR as well so that I can run diff on it?

bounce.jar.zip
v1.8
Oh, while we're at it, there are 2 extra, downloadable level packs, somewhere on the Internets.

Wow, are these official? I did not know that Bounce received so much support from Nokia! 😮

Nope, just a wiki mention of them existing.

Here are the level packs: https://web.archive.org/web/20030614084739/https://www.nokia.com/nokia/0,,33115,00.html
I wonder, how you were suppose to install them?
and here is a version 1.9 that you can actualy play (and modify as you see fit)
Bounce.zip
You will need NetBeans 8.2, Mobility plugin and S40 5th Edition SDKS40 5th Edition SDK installed
didn't yet figure out how to use Intelij Idea to make J2ME applets


feat(container): ephemeral storage resource requirements (#962)

Backport
This will backport the following commits from k8s-24/main to k8s-23/main:

feat(container): ephemeral storage resource requirements (#962)

Questions ?
Please refer to the Backport tool documentation

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 1086

Questions ?
Please refer to the Backport tool documentation


Code refactoring in language parser

Goal

refactor and abstract the parser files.
make it have a workflow to add new language
some of the py parser code already broke, this pr will fix it too.
add missing operator to py and rb compiler.

Non-Goal

add test cases to all operator is phase 2's goal
current import bug in ruby and python.

Phase 2

split operator as a component, make it more easier to develop.
Fix new syntaxs in ruby and python: try\catch\catcherr\tryend\throw\import, currently not working in master branch
add rust compiler.

I like these changes! But be sure it passes the make_ide and make_site build. 😉

Hi @Madao-3 ,
Thanks for helping out. I think your refactoring is a good idea. However, as @antfu mentioned, please make sure you don't break anything. As you might have noticed, there are lot of nuances in the parser code. If you're unsure about anything, please don't hesitate to ask me! In fact, I would prefer to do the refactoring myself, but you've got some good progress. Good luck!
Thank you very much!

@LingDong- Sure, pass all the test cases is the essential part.
In the next phase, I will try to split all operators as single functions. then we can add unit tests very easily. 😃

[ ] site
[ ] ide
[ ] npm test

@LingDong- LGTMg

I think this pr is ready to merge.

Found a problem, will fix it soon

Neat 👍! Thank you so much for your great work!
Looking forward to phase 2 :)


Differences between Turfjs and Spatialite

I noticed that there are some differences between centroids calculated with Turfjs and Spatialite. What do you think about it?

relevant GEOS docs:
http://geos.osgeo.org/doxygen/classgeos_1_1algorithm_1_1Centroid.html

Dimension = 2 - Based on the usual algorithm for calculating the centroid as a weighted sum of the centroids of a decomposition of the area into (possibly overlapping) triangles. The algorithm has been extended to handle holes and multi-polygons. See http://www.faqs.org/faqs/graphics/algorithms-faq/ for further details of the basic approach.
Dimension = 1 - Computes the average of the midpoints of all line segments weighted by the segment length.
Dimension = 0 - Compute the average coordinate over all points.

Ok @lucacasagrande , so I'm pretty sure I have isolated the difference. Spatiallite uses geometric decomposition for polygons, then calculates the arithmetic mean on the resulting centroid for the final result. This is kind of an arbitrary choice, so I'm not sure if it matters. For example, all of the turf centroids in the above image look pretty reasonable to me. This would be a performance hit, for no clear win in terms of "precision".
Closing, but totally open to debate here. Thanks for reporting this @lucacasagrande; it's great to get a deeper look at prior art here.

Thanks Morgan for your feedback!


feat(connector): [bitpay] Add new crypto connector bitpay

Type of Change

[ ] Bugfix
[x] New feature
[ ] Enhancement
[ ] Refactoring
[ ] Dependency updates

Description

Additional Changes

[ ] This PR modifies the database schema
[ ] This PR modifies application configuration/environment variables

Motivation and Context

How did you test it?

Checklist

[ ] I formatted the code cargo +nightly fmt --all
[ ] I addressed lints thrown by cargo clippy
[ ] I reviewed submitted code
[ ] I added unit tests for my changes where possible
[ ] I added a CHANGELOG entry if applicable

@arvindpatel24
Normal connector tests won't work for crypto connectors, remove all the tests in tests/bitpay.rs and write your test for crypto cases. we missed testing in coinbase and opennode also , pls add tests for those connectors also.
Test should cover below scenarios

Payment create -> create a payment and in response check whether you are getting redirect_url and status as requires_customer_action
Payment sync:success -> complete a success transaction offline and do a payment sync with the transaction id(hardcode it), it should return succeeded status
Payment sync:failure -> complete a failure transaction offline and do a payment sync with the transaction id(hardcode it), it should return failed status
Payment sync:voided -> cancel a payment offline and do a payment sync with the transaction id(hardcode it), it should return cancelled status
Payment sync:unresolved -> make a over/under payment offline and do a payment sync with the transaction id(hardcode it), it should return unresolved status with reason as underpaid / overpaid
Refer: cybersource psync on how to give a old transaction id to make psync

Let complete above case for all three crypto connectors so that we can be sure that the cypto connectors are stable


Custom Security Sample for SSRS 2019 - Could not load the assembly. Make sure that it is compiled.

I'm hoping someone can help with this. I followed all the steps for the sample on SSRS 2019. It's a production machine so VS is not installed to compile the example. I copied over the Microsoft.Samples.ReportingServices.CustomSecurity DLL from my dev machine to the ReportServer folders outlined in the ReadMe, but when I try to access the ReportServer/ReportPortal on my Web Browser I receive the error below that the DLL is not compiled. I'm not sure where I've gone wong. Can anyone help ?

For more information check the server logs C:\Program Files\Microsoft SQL Server Reporting Services\SSRS\ReportServer, also compare your config files and file location from those of a working environment configured using https://github.com/Microsoft/Reporting-Services/tree/master/CustomSecuritySample#automatic-configuration-of-the-sample

@byrneciaran I just had this same issue. In my case, I was experiencing it because the way I got the dll's onto the server was downloading via OneDrive, the server had blocked the files from execution. This may or may not be your issue, but in my case I had to open the properties of the file, and down on the bottom it says "This file came from another computer and might be blocked to help protect this computer". After clicking "Unblock" my issue went away. Hopefully that helps, I just spent hours and hours troubleshooting, so I feel your pain.

I had the same issue and the solution mentioned by @mherrema worked for me. Thanks


Remove non-word character when toc sets up automatic IDs

If heading includes non-word character, automatic IDs also includes these character.
For example, if I write heading like this.
# hello?
Then, ID will be like this.

hello?

If ID includes non-word character especially "?", some errors occur when I use other plugin.
How about to change regular expressions like this?
var baseId = text.replace(/\s|[?]/g, "_"), suffix = "", count = 1;

This is actually by design. The HTML5 spec permits any characters to be used in the ID, except for spaces. This plugin follows that spec.
If some other piece of code does not handle the HTML5 spec for IDs properly, you need to fix that code, or let the author of that code know.

I see. Thanks for the information. I'll check other one too.
BY the way, I really appreciate this plugin. It's simple and easy to use. Thanks for sharing this code!

Thank you for the appreciation! Happy to know that the plugin helped you.


Isomorphic/Universal example?

I would like to know if it's possible to make this app Universal. I've been using Graffiti with https://github.com/jedireza/hapi-react-views and tried to get relay to work on the server with https://github.com/denvned/isomorphic-relay but I am totally lost!
Help would be much appreciated!

Also, is it recommended to not go universal with relay and graphql?

@mattiasewers hi. Graffiti is providing a Graphql server out of the box from your db schema. So it's providing a standard relay API. There is nothing to do to make it universal/isomorphic. It's just an API for your app.
To creating an isormorphic todo mvc check these examples:
https://github.com/search?utf8=✓&q=isomorphic+todomvc&type=Repositories&ref=searchresults

@hekike I ment this example... but anyway, how did you generate the schema.json for the babel plugin?

@mattiasewers npm run update-schema

@tothandras of course... Thanks!


ArcticDB v5.1.1rc0

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe/meta.yaml:

ℹ The recipe is not parsable by parser conda-souschef (grayskull). Your recipe may not receive automatic updates and/or may not be compatible with conda-forge's infrastructure. Please check the logs for more information and ensure your recipe can be parsed.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/12155322913. Examine the logs at this URL for more detail.

Hi! This is the friendly automated conda-forge-webservice.
I tried to rerender for you, but it looks like there was nothing to do.
This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/12157256105. Examine the logs at this URL for more detail.


Add projectRoot option.

This is my .babelrc one folder above the jsx file I'm editing:
{
    presets: [ "react", "es2015", "stage-2"]
}

Transpile on save shows the following error:
Couldn't find preset "react"

Using babel-core at
C:\[omitted]\.atom\packages\language-babel\node_modules\babel-core\index.js

Issuing npm install babel-preset-react in C:\[omitted]\.atom\packages\language-babel\ does not help.

If you are using > V2.0.0 of language-babel then you must install babel-core and all presets\plugins into the projects root node_modules folder. See https://github.com/gandm/example-language-babel for an example. Also, read the readme section Interface to Babel V6 & V5

the node_modules folder was in a subfolder of the project folder.
closing the project folder and selecting the subfolder as the project folder helped, although I want the whole project to be available on the left tree not just the subfolder.

The problem I have is that I have to make assumptions on where the presets and plugins are located. In your case I would have to explore all sub folders looking for a node modules holding babel-core and in some cases may find more than one, and then which one should I pick and is it actually part of this project? The alternative is to have an additional .languagebabel property to determine where babel-core and the plugins are located. I think the second option is preferable.
The problem is that I don't want to reload Babel and it's plugins on each save as it’s very costly. So I run them in a task assuming that a project is using the same core and plugins as only the first save in a project loads Babel.
If I provided an additional property, such as
{‘babelCoreDir': 'project directory holding Babel core’}
that may get round this issue. What do you think?
From: Márton Vincze
Sent: Tuesday, 10 November 2015 17:35
To: gandm/language-babel
Cc: Graham
the node_modules folder was in a subfolder of the project folder.
closing the project folder and selecting the subfolder as the project folder helped, although I want the whole project to be available on the left tree not just the subfolder.
—
Reply to this email directly or view it on GitHub.

I'm just throwing random ideas in:
How about language-babel installing presets for it's own use (inside .atom/packages/language-babel/node_modules)? Most of the time people will only use presets as babel plugins. Is it possible to only install them if they are required first? Or when someone checks use presets/use preset-react/use preset-stage-2 or similar in the settings. I have no idea about the technical limitations on this, but seems easy for the general user.
Or try to find the node_modules directory where .babelrc is located.

If I provided an additional property, such as {‘babelCoreDir': 'project directory holding Babel core’}
A property on what? Would it be different for each project?

@SoonDead Thanks for your thoughts they are appreciated.
That's more or less how it used to work in versions earlier than V2. It has some real problems now as Babel V6 has far too many presets for me to keep track of and it's not really how Babel was intended to be used. There will also be many more third party plugins/presets available. Also, babel has always merged any .babelrc files found back to the root directory of the file system so the position of a .babelrc file has no relevance as many projects use this feature.
I'm pretty much decided to add two new fields to .languagebabel
{
   "projectRoot": true,
   "nodeModulesDIr": ""
}

Both will be optional. Normally the projectRoot will be implied from the folder loaded in Atom but for projects that have nested babel projects one could use one or more ProjectRoot directives. By default node_modules will be found there but the nodeModulesDir can be used to point to an alternative. In your case you could just put a projectRoot directive in the folder above your jsx files and it would work.

That sounds fine.

@SoonDead You may want to try 2.4.1 as it now has an additional .languagebabel property { "projectRoot": true } that should be positioned where the node_modules ( plugins/presets) exist for a project. See the readme for more info.

Works as intended, thank you.


RCD nerf

About the PR
Made RCD's unable to destroy airlocks and reinforced walls this was a needed change to the highly over powered RCD giving you to ability to get basically anywhere within less than 6 seconds this PR makes reinforced walls and doors mean something
Screenshots

Changelog

:cl: Seth

tweak: Made RCD's unable to destroy reinforced walls and airlocks.

You need to clean your master branch.

You need to clean your master branch before you make new branches from it.

yeah im cleaning it right now but this pull request is all good


Add support for signed and private/encrypted cookies

This PR enables using the cookie crate's signed and encrypted cookies in Tide applications.
The cookie crate uses the AEAD construct from ring to provide authenticated encrypted (what the cookie crate calls "private") cookies.
Requires https://github.com/http-rs/http-types/pull/152.

(Turns out that cookie 0.14.0 will use the RustCrypto crates instead of ring, though the CookieJar interface appears to be unchanged so this PR will thus not be impacted by that.)

Added secure-cookies to the default feature now.  Once there's been a new http-types release I'll drop the first commit and it'll be ready.

@kyrias Tide is now on http-types 2.2.1!

@jbr @yoshuawuyts Ready for review now.  :)

I would consider having req.cookie() behave differently based on how the
Cookies middleware was created to be quite surprising, and something I would
not expect or want outside of big magic frameworks like Django or Rails.  It
would also mean that each time you call req.cookie() in a project, you have
to ensure that the Cookies middleware was created with the appropriate level
of security required for the new cookie, and anyone changing how it was created
would need to inspect each req.cookie() callsite to ensure that it's still
safe.
I would consider this to be a much more brittle interface, and believe it would
inherently affect the security of all tide-based applications.
This interface would additionally make it much harder to migrate from signed to
encrypted cookies, since all cookies would end up being ignored after that,
whereas when it's a per-cookie decision it's easy to make a decision to convert
or reset the cookie as necessary for that cookie.
An interface more or less identical to the one that I've already implemented
would be required for a lot of usecases either way though, since the per-cookie
decision would be required in quite a few cases.  You would e.g. have to
explicitly allow getting a plaintext cookie if it's supposed to be set/get by
either JavaScript or by the API client, and you would have to be able to get a
cookie with a specific different encryption key for SSO usecases where you
would not want the same cookie encryption key to be used for both.

Perhaps there can still be a get/set raw/signed/encrypted if people need it

I'm not suggesting there can't be individual methods, but I do think having res/req .cookie() deal with this automatically (with good docs) is probably best for most people, and worth not having to pass keys around everywhere.

and believe it would
inherently affect the security of all tide-based applications.

I'm not really seeing how - if anything this would make it easier. I'd make it so that Cookies::new() points to Cookies::signed(secret) instead of Cookies::unsigned().

I'm not really seeing how - if anything this would make security easier. I'd make it so that Cookies::new() points to Cookies::signed(secret) instead of Cookies::unsigned().

Even if Cookies::new would end up creating a signed version, any other method whose security changes based on how other parts of the application was configured will eventually cause someone to miss the fact that one application happened to be configured differently, leading to either a privacy leak or a security vulnerability.
As I do not feel that this is a good way to design this API, I would not feel comfortable implementing it, and will keep my version internal to my application instead.


containerd panic when set --pprof-address

I am running the latest containerd, when I try to enable the pprof on containerd, it panics:
$ sudo ./bin/containerd --debug --pprof-address localhost:9999
panic: http: multiple registrations for /debug/vars

goroutine 1 [running]:
net/http.(*ServeMux).Handle(0xc820060bd0, 0xb35e60, 0xb, 0x7f686ef0b0d8, 0xc4cc20)
	/usr/local/go/src/net/http/server.go:1715 +0x292
net/http.Handle(0xb35e60, 0xb, 0x7f686ef0b0d8, 0xc4cc20)
	/usr/local/go/src/net/http/server.go:1750 +0x4b
github.com/docker/containerd/api/http/pprof.Enable(0xc82010ded0, 0xe)
	/home/darcy/gocode/src/github.com/docker/containerd/api/http/pprof/pprof.go:15 +0x148
main.setAppBefore.func1(0xc8201a2280, 0x0, 0x0)
	/home/darcy/gocode/src/github.com/docker/containerd/containerd/main_linux.go:46 +0x17f
github.com/codegangsta/cli.(*App).Run(0xc8201a2140, 0xc82000a180, 0x4, 0x4, 0x0, 0x0)
	/home/darcy/gocode/src/github.com/docker/containerd/vendor/src/github.com/codegangsta/cli/app.go:174 +0xe29
main.main()
	/home/darcy/gocode/src/github.com/docker/containerd/containerd/main.go:94 +0x3c0

goroutine 17 [syscall, locked to thread]:
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1696 +0x1

goroutine 5 [syscall]:
os/signal.loop()
	/usr/local/go/src/os/signal/signal_unix.go:22 +0x18
created by os/signal.init.1
	/usr/local/go/src/os/signal/signal_unix.go:28 +0x37

goroutine 20 [chan receive]:
github.com/rcrowley/go-metrics.(*meterArbiter).tick(0x107bac0)
	/home/darcy/gocode/src/github.com/docker/containerd/vendor/src/github.com/rcrowley/go-metrics/meter.go:221 +0x4b
created by github.com/rcrowley/go-metrics.NewMeter
	/home/darcy/gocode/src/github.com/docker/containerd/vendor/src/github.com/rcrowley/go-metrics/meter.go:40 +0x154

goroutine 22 [runnable]:
main.processMetrics.func2(0xc820113a00)
	/home/darcy/gocode/src/github.com/docker/containerd/containerd/main_linux.go:96
created by main.processMetrics
	/home/darcy/gocode/src/github.com/docker/containerd/containerd/main_linux.go:101 +0x3a0

goroutine 23 [runnable]:
github.com/rcrowley/go-metrics.Log(0x7f686ef4b218, 0xc82010d760, 0x45d964b800, 0xc8201090e0)
	/home/darcy/gocode/src/github.com/docker/containerd/vendor/src/github.com/rcrowley/go-metrics/log.go:8
created by main.debugMetrics
	/home/darcy/gocode/src/github.com/docker/containerd/containerd/main_linux.go:119 +0x8c5

Looks like it's caused by multiple registration of pprof APIs. Then I checked golang source code, it seems net/http/pprof embedded these APIs already, https://golang.org/src/net/http/pprof/pprof.go
So I'm a little confused, I believe if this code is here in containerd, it should work. Do I miss something? How can I make it work?
PS: go version go1.5.1 linux/amd64

This will be fixed by #185

The fix was merged, thanks!


Rerunning a report fails where I would expect it to succeed - do we need default ignores?

I reran a report that succeeded and that did not access external systems. It fails because some uninteresting session keys are different:

This should be an error for the backend.

Wordt story 2012.

Hoort hier inderdaad niet.


ibazel not connecting to bazel server on VPN

Hi,
i am trying to use ibazel to build my angular 9 app and watch for changes as i code, but when i use it connected to my vpn it keeps waiting forever to connect to bazel server.
When using bazel command "build --batch run //src" to build my app, bazel command is able to connect to the server when connected to vpn.
It could be possible to allow ibazel behave like bazel using the --batch option flag? I know it is deprecated but it is the only way i have found to getting working with vpn.
My OS is in Widnows 10.
My vpn client is Network Connect Pulse Secure <IP_ADDRESS>025
bazel version: "@bazel/bazel": "2.1.0",
ibazel version: "@bazel/ibazel": "0.11.1",
Thank you very much.
Best regards.

Hey @jcroldan, thanks for submitting an issue. I'm trying to understand this a little better. Are you saying that when you invoke ibazel, it is unable to talk to bazel? Or are you saying something else?
ibazel doesn't invoke bazel over the network at all, but instead invokes it as a subcommand. Is it possible that this issue is because the --batch flag is required in your development environment? If so, have you tried setting --batch in your bazelrc? That would allow you to set --batch on all your builds (even though it is deprecated).

Hi, @achew22, thank you very much for your reply.
This is the log from ibazel command when connected to vpn:
> ibazel run //src:devserver

iBazel [8:32PM]: Error getting Bazel info exit status 37
iBazel [8:32PM]: Querying for files to watch...
Killed non-responsive server process (pid=25820)
Starting local Bazel server and connecting to it...
... still trying to connect to local Bazel server after 28 seconds ...

This is why i said it was trying to connect to bazel server.
After adding "build --batch" to my .bazelrc file, i still get the same error..

You would need to add run --batch to your .bazelrc as well for that to affect bazel run. Could you try that and report back here?

Added run --batch as you said but still not working:
.bazelrc
# Make TypeScript and Angular compilation fast, by keeping a few copies of the
# compiler running as daemons, and cache SourceFile AST's to reduce parse time.
build --strategy=TypeScriptCompile=worker
build --strategy=AngularTemplateCompile=worker

# Don't create bazel-* symlinks in the WORKSPACE directory, except `bazel-out`,
# which is mandatory.
# These require .gitignore and may scare users.
# Also, it's a workaround for https://github.com/bazelbuild/rules_typescript/issues/12
# which affects the common case of having `tsconfig.json` in the WORKSPACE directory.
#
# Instead, the output will appear in `dist/bin`. You'll need to ignore the
# `bazel-out` directory that is created in the workspace root.
build --symlink_prefix=dist/

# Turn on --incompatible_strict_action_env which was on by default
# in Bazel 0.21.0 but turned off again in 0.22.0. Follow
# https://github.com/bazelbuild/bazel/issues/7026 for more details.
# This flag is needed to so that the bazel cache is not invalidated
# when running bazel via `yarn bazel`.
# See https://github.com/angular/angular/issues/27514.
build --incompatible_strict_action_env
run --incompatible_strict_action_env
test --incompatible_strict_action_env

build --incompatible_bzl_disallow_load_after_statement=false

test --test_output=errors

# Use the Angular Ivy compiler
# See https://github.com/angular/angular/blob/master/docs/BAZEL.md#various-flags-used-for-tests
build --define=angular_ivy_enabled=True

# Temporary define while angular depends on the legacy rollup_bundle rule.
# TODO: remove this setting after https://github.com/angular/angular/pull/33201 lands.
build --define=enable_legacy_rollup_rule=1

# Turn on managed directories feature in Bazel
# This allows us to avoid installing a second copy of node_modules
common --experimental_allow_incremental_repository_updates

build --verbose_failures --sandbox_debug --test_output=errors --spawn_strategy=standalone --genrule_strategy=standalone

build --batch

run --batch

C:\Users\jcroldan\development\gitcorp\bazel-app>npm run serve

><EMAIL_ADDRESS>serve C:\Users\jcroldan\development\gitcorp\bazel-app
> ibazel run //src:devserver

iBazel [5:05PM]: Error getting Bazel info exit status 37
iBazel [5:05PM]: Querying for files to watch...

FATAL: couldn't connect to server (10328) after 120 seconds.
iBazel [5:13PM]: Error running Bazel exit status 37
npm ERR! code ELIFECYCLE
npm ERR! errno 4
npm ERR<EMAIL_ADDRESS>serve: `ibazel run //src:devserver`
npm ERR! Exit status 4
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>serve script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      C:\Users\jcroldan\AppData\Roaming\npm-cache\_logs\2020-03-06T16_13_21_822Z-debug.log

@jcroldan, hurm.... that's unfortunate. There is no place in ibazel where we log error messages that don't have the prefix of iBazel [$TIME]:. The errors you're seeing are most definitely from bazel and not from ibazel, which is wrapping bazel in subcommands. There are no network connections created to control bazel by ibazel so I hate to say it but I think the princess is in another castle.
Can you provide me with any steps that allow me to reproduce this on a machine of my own? It seems that this is a poorly configured VPN that disallows connections on the loopback which is going to be problematic in the near future when you want to visit your devserver. Have you considered a chat with your IT team to figure out if there are any configuration changes that can be made to the VPN?

@achw22, I have found this issue at Bazel repository: https://github.com/bazelbuild/bazel/issues/3602
There you can find how to reproduce the problrem.

From the linked issue:

I know this is a Pulse Secure issue because it prevents bazel client from connecting to server

It sounds to me like this is an issue with the pulse secure VPN client. Please feel free to reference this issue in a ticket to them, but since I do not work for Pulse Secure I do not have the resources/spare time to run down this issue. Best of luck. If you find any other issues with ibazel please open an issue.
Thanks!

Ok, thank you very much.


Add jekyll-sitemap and other useful core plugins to all images.

Because it will ease out-of the box usage.

Fixed in https://github.com/jekyll/docker/commit/9b5c7076328c65cb61e0be7b849797d150bf8945


synchronous mode API question

Looking at the 0.9.5 version of the synchromous_mode.py example, at line 119,120, and 121 there are:
clock.tick()
world.tick()
ts = world.wait_for_tick()
In order to put Carla in synchronous mode are these three calls all needed?
Btw,  Carla document is great in giving an introduction but it will probably help a lot to have a more detail description in https://carla.readthedocs.io/en/latest/python_api/.
Thanks.

Hi @mango009,
Yes, we're currently working in documenting each function in Python API.

clock.tick() this is a pygame function, I believe it's only used to count the FPS.
world.tick() makes the simulator advance to the next tick (only has effect in sync mode).
world.wait_for_tick() waits until a new tick from the simulator is received.

This picture may help understanding when ticks are produced

Awesome! Thanks a lot.

@nsubiron world.wait_for_tick() never receives a new tick from the server and gets stuck in the loop forever. Are there any reasons for this in spite of following all the steps correctly? Is there any other easy implementation other than synchromous_mode.py in which we can send control and receive the sensor data in synchronous mode?

wait_for_tick() should not be used in synchronous mode, this issue is outdated. The tick function now does the wait_for_tick for you, thus waiting a second time results in a dead-lock. Basically, both functions were merged so we "atomically" advance one step avoiding race conditions between client and server. We didn't get rid of wait_for_tick because is still useful for other cases, but I admit is quite confusing.

How do I get to know how much simulation time is there between each tick? And how can i set/change that?

@Harsharma2308 Not sure this issue is the place to ask a question about the API, but I stumbled across it so here you go : )

How do I get to know how much simulation time is there between each tick?

Via the timestamp object in the world snapshot.  E.g., (silly example but it illustrates the point):
t_prev = world.get_snapshot().timestamp.elapsed_seconds
world.tick()
t_curr = world.get_snapshot().timestamp.elapsed_seconds
t_between_ticks = t_curr - t_prev

And how can i set/change that?

In syncrhonous mode, you directly set this value in  the world settings.
settings = world.get_settings()
settings.synchronous_mode = True
settings.fixed_delta_seconds = 0.05      # same as fps=20
world.apply_settings(settings)


perf: ini ncu upgrade

Codecov Report

Merging #87 (64f008d) into main (ab8f7f8) will increase coverage by 13.96%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##            main      #87       +/-   ##
==========================================
+ Coverage   4.60%   18.57%   +13.96%
==========================================
  Files        617       40      -577
  Lines       5103      350     -4753
  Branches    1067       45     -1022
==========================================
- Hits         235       65      -170
+ Misses      4697      276     -4421
+ Partials     171        9      -162

Impacted Files
Coverage Δ

...pps/app/src/components/AssetHeader/AssetHeader.tsx

...ps/app/src/components/TimelineListLoading/index.ts

...pps/app/src/hooks/useProviderCyberConnect/index.ts

...onTokenLoading/ProfileBoardSectionTokenLoading.tsx

...app/src/components/HeaderActions/HeaderActions.tsx

apps/app/src/hooks/useEns/useEns.ts

apps/app/src/hooks/useWallet/index.ts

apps/app/src/components/BasePoap/index.ts

apps/app/src/components/PlaceholderOrb/index.ts

apps/app/src/libs/api/apiHandler.ts

... and 567 more

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


fix: update variable description

Description
Updating variable description. I'll also add an example as described in the below issue.
https://github.com/terraform-ibm-modules/terraform-ibm-landing-zone-vsi/issues
Release required?

[ ] No release
[ ] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

Merge actions for mergers

When merging, use a relevant conventional commit message that is based on the PR contents and any release notes provided by the PR author. The commit message determines whether a new version of the module is needed, and if so, which semver increment to use (major, minor, or patch).
Merge by using "Squash and merge".

/run pipeline

/run pipeline

@jor2 Can you resolve conflicts and we should be good to merge. Thanks

/run pipeline

@jor2 pre-commits are failing

/run pipeline

@jor2 pre-commits are failing

fixed

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


Error running run_evaluation() function

Describe the bug
Error while running evaluations using run_evaluation()
To Reproduce
Steps to reproduce the behavior:

Try running the sample code. It will error out

Alternatively, provide a minimum reproducing code snippet here.
predictions = run_detection(detector.score, train_df)
evaluation_result = run_evaluation(predictions, train_df) <-- Errors out
Expected behavior
Issue is happening due to line (return df.join(scores_df.set_index("id"), on="id", validate="one_to_one")) in evaluate.py
Both df and scores_df contains "scores" column so unable to join it.
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):

OS: MacOS
GPU: mps

Additional context
Stack:
File "/Users/siddharthjhanwar/ai-content-detector/raid_benchmark/benchmark.py", line 138, in
evaluation_result = run_evaluation(predictions, train_df)
File "/Users/siddharthjhanwar/Library/Caches/pypoetry/virtualenvs/raid-benchmark-7_wmTvfZ-py3.10/lib/python3.10/site-packages/raid/evaluate.py", line 167, in run_evaluation
df = load_detection_result(df, results)
File "/Users/siddharthjhanwar/Library/Caches/pypoetry/virtualenvs/raid-benchmark-7_wmTvfZ-py3.10/lib/python3.10/site-packages/raid/evaluate.py", line 11, in load_detection_result
return df.join(scores_df.set_index("id"), on="id", validate="one_to_one")
File "/Users/siddharthjhanwar/Library/Caches/pypoetry/virtualenvs/raid-benchmark-7_wmTvfZ-py3.10/lib/python3.10/site-packages/pandas/core/frame.py", line 9729, in join
return self._join_compat(
File "/Users/siddharthjhanwar/Library/Caches/pypoetry/virtualenvs/raid-benchmark-7_wmTvfZ-py3.10/lib/python3.10/site-packages/pandas/core/frame.py", line 9768, in _join_compat
return merge(
File "/Users/siddharthjhanwar/Library/Caches/pypoetry/virtualenvs/raid-benchmark-7_wmTvfZ-py3.10/lib/python3.10/site-packages/pandas/core/reshape/merge.py", line 162, in merge
return op.get_result(copy=copy)
File "/Users/siddharthjhanwar/Library/Caches/pypoetry/virtualenvs/raid-benchmark-7_wmTvfZ-py3.10/lib/python3.10/site-packages/pandas/core/reshape/merge.py", line 811, in get_result
result = self._reindex_and_concat(
File "/Users/siddharthjhanwar/Library/Caches/pypoetry/virtualenvs/raid-benchmark-7_wmTvfZ-py3.10/lib/python3.10/site-packages/pandas/core/reshape/merge.py", line 763, in _reindex_and_concat
llabels, rlabels = _items_overlap_with_suffix(
File "/Users/siddharthjhanwar/Library/Caches/pypoetry/virtualenvs/raid-benchmark-7_wmTvfZ-py3.10/lib/python3.10/site-packages/pandas/core/reshape/merge.py", line 2604, in _items_overlap_with_suffix
raise ValueError(f"columns overlap but no suffix specified: {to_rename}")
ValueError: columns overlap but no suffix specified: Index(['score'], dtype='object')

@liamdugan Can you please check this?

Fixed. Issue was caused by run_detection editing the dataframe in place.
Pushed a new pip version, update to 0.0.7 to get the fix.

@new-player please let me know if this fix works for you

That was fixed but getting this now. Can you check this as well?
Stack Trace:
Traceback (most recent call last):
File "/Users/siddharthjhanwar/ai-content-detector/raid_benchmark/benchmark.py", line 136, in
evaluation_result = run_evaluation(predictions, train_df)
File "/Users/siddharthjhanwar/Library/Caches/pypoetry/virtualenvs/raid-benchmark-7_wmTvfZ-py3.10/lib/python3.10/site-packages/raid/evaluate.py", line 174, in run_evaluation
thresholds, fprs = compute_thresholds(df, target_fpr, epsilon, per_domain_tuning)
File "/Users/siddharthjhanwar/Library/Caches/pypoetry/virtualenvs/raid-benchmark-7_wmTvfZ-py3.10/lib/python3.10/site-packages/raid/evaluate.py", line 80, in compute_thresholds
t, true_fpr = find_threshold(df[df["domain"] == d], fpr, epsilon)
File "/Users/siddharthjhanwar/Library/Caches/pypoetry/virtualenvs/raid-benchmark-7_wmTvfZ-py3.10/lib/python3.10/site-packages/raid/evaluate.py", line 30, in find_threshold
threshold = sum(y_scores) / len(y_scores)  # initialize threshold to mean of y_scores
ZeroDivisionError: division by zero
Reference code:
class CustomDebertaV3Large:
...
def score(self, text_list):
results = []
    for text in tqdm(text_list, desc="Scoring"):
        model_input = self.tokenizer(text, padding=True, truncation=True, return_tensors="pt").to(self.device)
        with torch.no_grad():
            logits = self.model(**model_input).logits
            probs = torch.sigmoid(logits)
        results.append(probs.squeeze().item())

    return results

detector = CustomDebertaV3Large(device="mps")
Download & Load the RAID dataset
train_df = load_data(split="train", include_adversarial=False).sample(100, random_state=42)
Run your detector on the dataset
predictions = run_detection(detector.score, train_df)
Evaluate your detector predictions
evaluation_result = run_evaluation(predictions, train_df)

@liamdugan Please check this as well.

@new-player So this error means that your model didn't assign outputs/predictions/scores to enough human-written texts.
The way RAID evaluation works is that we use classifier predictions on human-written texts to calculate the threshold for accuracy calculation. We target FPR=5% for every domain. Thus, you need to have some amount of predictions on each domain for evaluation to run.
From your sample code it seems like you're randomly sampling data from the training set:
train_df = load_data(split="train", include_adversarial=False).sample(100, random_state=42)

It's likely the case that the sample you made didn't sample any human-written texts from one or more domains.
If you want to turn per-domain FPR calculation off, you can set per_domain_tuning=False in run_evaluation to do so -- this will use all human-written data across all domains to calculate a global threshold. While this is not recommended, as this will under-represent the true accuracy of your classifier on the dataset, it may be useful for testing purposes.
I'll fix this to make it give a more descriptive error message. On your end, I recommend sampling from human data and generated data separately and ensuring that you have some amount of human-written data for each domain of generated text.

Okay, fix is pushed (See PR #12). Now the error will be more graceful.
Let me know if you have any other trouble.

Thanks @liamdugan for your help. Will try submitting a PR for our detector sometime later.
Appreciate the hard work done in creating this benchmark and repo.


Added Contact us

Do host your GitHub repository on GitHub pages and share the link below.

https://sangeeta874.github.io/Aec-Library-Website/

Great, Also add contact us on the footer of index page.


Nothing is protected, except Pressure Plates :/

I think it's a mod incompatibility, i have a server using latest SpongeForge, Forge and GriefPrevention builds, and nothing is protected inside a claim. Other person can break/interact/open everything, except Pressure Plates.
If you want, here is the modpack that i'm using: http://www.technicpack.net/modpack/magitech-server-beta-pack.883332
There is no errors in console, i tested using /cfd command and asking a player for check if he was able to break/access things, and he was.
Please help me, GriefPrevention is a awesome plugin and i don't want delete it from my server :/

@Eufranio You setup PEX wrong then. Did you follow the instructions on forum? Paste your permissions.json

My permissions.json: http://hastebin.com/dikokaniza.dos

@Eufranio Why did you assign the member group "griefprevention.claim": 1 ? That basically grants access to EVERYTHING under the griefprevention.claim node including flags. Remove it and fix your permissions.

I did it to not give EACH permission to the players, but if this is the problem i can remove, thank you.

Wait... I am a admin and i have all permissions in my group, but when i use /cfg, what is supposed to happen? I'm still being able to open things and interact with the claim.

Don't assign any group "permissions-default: 1". Doing this grants them access to ALL claims.


Update for 1.0.1734.0?

The title says it all
some remote functions will make the mod crashes.

Umm, hello? @E66666666

You can use the automatic build. Not sure if it works though.
There are a bunch of other issues, but there are also other projects and things in life that take priority, so I can't give this a proper update for the while.

Closing, because remote functions that make the mod crashes works as intended again


no main on .bower.json

Describe the bug
My AngularJS grunt build is failing due to this package not having a main attribute on its bower.json file
To Reproduce
WireDep removes packages from the index.html if they do not meet certain criteria, and it's the "main" attribute on the "bower.json" or ".bower.json" file of each package dependency.
Workaround
Manually installed simple-web-notification:1.0.32 which is the latest that worked for me because it does have the "main" attribute with value "web-notification.js" and wiredep will work with it, but upon rerunning bower install it is replaced with 2.0.0 due to some other packages dependencies with this one!

ya, i released version 2 which has a breaking change (that's why its a major version change) in which i deleted the bower.json completely.
since bower is dead for around 3 years, i feel we should stop using it :)
there are alternatives like npm/yarn/webpack.
anyhow, i will update the readme and remove bower from there.

thinking about it more... i could just add the bower.json back, but not use it myself.
this would unbreak you and won't really impact anything in the library itself....
give me few minutes...

version 2.0.1 release. it should resolve your issues, but in general you should move away from bower.
please tell me if its resolve.

think this should be resolved.
got no feedback.
closing.


Collision of multiple versions - how to isolate our copy?

Hi there,
Background information. We create and distribute WordPress plugins and we use Select2 in our UI. Our users install those plugins on their websites by themselves together with themes and plugins developer by other developers.
Now, we run into an issue multiple times when we loaded 4.0 (which supports ajax search on select elements) and some other theme/plugin loaded 3.5 which does not support ajax and this breaks our UI with "Uncaught Error: Option 'ajax' is not allowed for Select2 when attached to a  element".
The problem is that we have no control on what other themes/plugins our users install and what version of Select2 those themes/plugins use.
We tried to load the 4.0 version before all other scripts as well as after all other scripts, it looks like 3.5 does something that prevents 4.0 from overriding it while it overrides 4.0 if loaded later.
What would be the best way to isolate our version of Select2 and our UI scripts?
Thanks!

It should be possible (but not necessarily easy) to isolate Select2 4.0.0. It is nearly impossible to isolate older versions because they rely on global variables, while Select2 4.0.0 is actually pretty self-contained (with some exceptions).
I'm guessing you are running into a situation similar to the following jsbin: http://jsbin.com/jejawesoro/1/edit?html,js,output
You can see both Select2 4.0.0 and 3.5.2 are being loaded in the same bin, and 3.5.2 is winning the battle.
But this can be fixed by taking a reference to $.fn.select2 after you load the plugin. You can then either call this function directly (using .call()) or re-set the reference when you need it. I would personally recommend calling the function directly, so other plugins aren't breaking because of you.
You can see this in action here: http://jsbin.com/pelulolime/1/edit?html,js,output
And using the function directly has the benefit of both Select2 3.x and 4.x working on the same page without any problems: http://jsbin.com/kosolelamo/edit?html,js,output