loss nan in Genomic Benchmark

I am using the 470k released weight to finetune on genomic benchmark, but encounter nan loss on both ps and ph models. If the learing rate is set to 1e-3, the nan will occur in the 2nd epoch. What's going on? I've tried other size models, they can run smoothly
Furthermore, 1e-7 still produce nan. This is wired, cuz I have clip the gradient also. And I notice that in your paper you state that the lr is 1e-3 right?
And the lr is already set with cosine decay scheduler in the 1e-3 setting, which ends at 1e-4 after 10 epochs

Here is my customized code for running Genomic Benchmark, tokenizer is in other place, still aligned with char setting officially
`from transformers import AutoModelForMaskedLM, AutoTokenizer
import torch
import torch.nn as nn
class Caduceus(nn.Module):
def init(self, mode="ph", size=1.9, out_dim=2, *args, **kwargs):
super().init()
# self.d_model = config.hidden_size
self.mode = mode
if mode=="ph":
if size == 470:
model_name = "kuleshov-group/caduceus-ph_seqlen-1k_d_model-118_n_layer-4_lr-8e-3"
elif size==1.9:
model_name = "kuleshov-group/caduceus-ph_seqlen-1k_d_model-256_n_layer-4_lr-8e-3"
else:
model_name = "kuleshov-group/caduceus-ph_seqlen-131k_d_model-256_n_layer-16"
# tokenizer = AutoTokenizer.from_pretrained(model_name)
else:
if size == 470:
model_name = "kuleshov-group/caduceus-ps_seqlen-1k_d_model-118_n_layer-4_lr-8e-3"
elif size==1.9:
model_name = "kuleshov-group/caduceus-ps_seqlen-1k_d_model-256_n_layer-4_lr-8e-3"
else:
model_name = "kuleshov-group/caduceus-ps_seqlen-131k_d_model-256_n_layer-16"
# tokenizer = AutoTokenizer.from_pretrained(model_name)
self.caduceus = AutoModelForMaskedLM.from_pretrained(model_name, trust_remote_code=True)
self.d_model = self.caduceus.config.d_model
self.score = nn.Linear(self.d_model, out_dim, bias=False)
self.pooling_strategy = "mean"
# self.lm_head
def forward(self, input_ids, position_ids=None, inference_params=None, state=None): # state for the repo interface
    if isinstance(input_ids, list):
        input_ids_tensor = input_ids[0]
        attention_mask = input_ids[1]
    else:
        input_ids_tensor = torch.tensor(input_ids)
        attention_mask = None
    if position_ids is not None:
        position_ids_tensor = position_ids
    else:
        position_ids_tensor = None

    outputs = self.caduceus.caduceus(
        input_ids=input_ids,
        inputs_embeds=None,
        output_hidden_states=None,
        return_dict=None,
    )
    sequence_output = outputs[0]
    if self.mode == "ps":
        sequence_output = torch.stack(
            [
                sequence_output[..., :self.d_model],
                torch.flip(sequence_output[..., self.d_model:], dims=[1, 2])
             ],
            dim=-1
        )
    # Pool and get logits
    pooled_hidden_states = self.pool_hidden_states(sequence_output)
    # Potentially run `score` twice (with parameters shared) for conjoining
    if sequence_output.ndim == 4:  # bsz, seq_len, hidden_dim, 2 where last channel has the stacked fwd and rc reps
        logits_fwd = self.score(pooled_hidden_states[..., 0])
        logits_rc = self.score(pooled_hidden_states[..., 1])
        logits = (logits_fwd + logits_rc) / 2
    else:
        logits = self.score(pooled_hidden_states)
    return logits, None

def pool_hidden_states(self, hidden_states, sequence_length_dim=1):
    """Pools hidden states along sequence length dimension."""
    if self.pooling_strategy == "mean":  # Mean pooling along sequence length dimension
        return hidden_states.mean(dim=sequence_length_dim)
    if self.pooling_strategy == "max":  # Max pooling along sequence length dimension
        return hidden_states.max(dim=sequence_length_dim).values
    if self.pooling_strategy == "last":  # Use embedding of last token in the sequence
        return hidden_states.moveaxis(hidden_states, sequence_length_dim, 0)[-1, ...]
    if self.pooling_strategy == "first":  # Use embedding of first token in the sequence
        return hidden_states.moveaxis(hidden_states, sequence_length_dim, 0)[0, ...]`

What batch size are you using? I found that batch size also affected stability for these downstream tasks.

64

now I also tried 16 and 32, while the result still is nan. When the lr is 1e-10, it is not nan

I think in our work we used batch size of 256 and LR of either 1e-3 or 2e-3 here and runs were generally stable.
Are you seeing the NaN instability for all tasks in the Genomics Benchmark or only a certain subset?

actually in all benchmark. The problem is the 470k weight, actually.

Are you fine running my customized caduceus with size set to 470?

Yeah, I just move some of the code in the sequenceclassification code out to my customized Caduceus class, other things are just the same.

@multydoffer are you still having issues here?


Experimenting with normalizr

This is not a real PR, but more a first experiment conducted using Redux with Normalizr, and some of my findings. Maybe this could lead to good ideas for the big refactoring due on our side to better handle the state.
As a reminder, our current Store problem is that we only have a user / repo in the state at runtime, and if you open two different profiles on two different screens, last data fetched is shown on both.
I came across https://github.com/reactjs/redux/tree/master/examples/real-world a few days ago, and decided to try to implement something similar in GitPoint.
The main idea is to have a Redux middleware taking care of most of the APIs calls, and normalizing the stored data into entities and paginations.
Here's what is working and worth looking at in this PR:

Normalization of User/Schema/Event
Pagination of the list of followers and repositories for a user
Minimizing the store footprint by excluding some predictable fields from the entity

I'm going to comment some files changes in the diff to give some more insight.

Finally, here's how to test this PR :

Load the App
Click on a user name in the events screen
Click on either his repos or followers
From there, click either on a repo or a username

This is the only testable path so far.
Here's how the redux store looks like during that  :

Events loaded, here's what we have on our users:

User clicked, profile page loaded:

Number of repositories clicked :

Clicking on the samdark/laradock repo:

Deprecated by #457


Refactor packaging process

Codecov Report

Merging #10 (5f7d8ca) into main (de8d2df) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #10   +/-   ##
=======================================
  Coverage   95.69%   95.69%
=======================================
  Files          74       74
  Lines        4735     4735
  Branches      291      291
=======================================
  Hits         4531     4531
  Misses         57       57
  Partials      147      147

Continue to review full report at Codecov.

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


(docs) Added install nanoid dependency

nanoid is required by this plugin (error if not manually installed)

@boulix3 Thanks for PR, but the problem is - I'm searching for another solution to generate ID. The problem is - nanoid library has nodejs module resolution, thats why we've met this problem :( I wanna write custom optimized function - to not be addicted from externals libs.

Hello,
I also think it's better to write a custom function for such a trivial need.
I guess i'll just close my pull request.
Thanks for the library, it's a really great idea!


C407 - unnecessary list comprehension - 'x' can take a generator

Fixes #5.

This would be great to have included, would you like any help getting this done?

I haven't taken the time to list all the builtins that can take generators, if you can find this list (maybe there's an automated way?) then we'd be closer

I'd suggest all, any, frozenset, max, min, sorted, sum, and tuple. Possibly also filter, map, and enumerate. (I made that list by going here and searching for any function that took an iterable as an argument.)

There are other things in the standard library that can take iterables (like the things in itertools and statistics), but I don't know if it's worth tracking down everything, even covering the most common cases would be useful.

I think we'll go for the builtins first since they tend to not be shadowed as names. Detecting the others can be painful, since code can create functions with the same names with no risk of shadowing..

:up:dated , look good to you @jiffyclub ?

Looks good, thanks!

Now on pip at 1.2.1 : https://pypi.python.org/pypi/flake8-comprehensions


PR opened pre-monorepo merge but rebased to AFTER it scheduling the wrong presubmit builds

https://github.com/flutter/flutter/pull/160482
It's also scheduling framework builds immediately.

Hmm, in another push to the same PR, it's now scheduling the right builds: https://github.com/flutter/flutter/pull/160482/checks?check_run_id=34623607459

Those are both Michaels - is there another one without so much history, or can we create one precommit and then force move it post?  I'll look in cocoon logs for this


Remove explicit netty 4.1 dependency overrride

Currently camel-2.19 already uses netty-4.1.9.Final for the camel-netty4 companent. This however does not work with camel-vertx, which is still on 4.1.8.Final

It seems that we want Camel to update its vertex component to use netty-4.1.9. If so, could you please cross ref the respective Camel issue from here?

I don't think there's any Camel updates required for this.
I just ran a build with Vertx linked to Netty 4.1.9 and all of the test suites passed without any problems.
The one change I did make, was to skip all of the individual Netty libraries in favour of netty-all. Vertx only avoids netty-all to keep the size of 'fat' JARs to a minimum. We have no such concerns for our distro.

Fat jars are problematic for a number of reasons.
#1 Sources often not available to IDE during debug
#2 May include arbitrary stuff that should be wired instead


Installing fails because of path issues

On a fresh mac install, there are several things that fail because of pathing issues. I don't know enough bash to fix all of them

Backup.sh creates a files array
files=("$HOME/.config/nvim" "$HOME/.zshrc" "$HOME/.tmux.conf")

However, if the nvim config is missing (due to nvim not installed), the script will stop after attempting to backup that file, and zshrc backup is not done. The else block is also not called for some reason.

Link.sh does not get the current directory and as a result does not link anything.
$INSTALLDIR is defined in install.sh, but not passed over to link.sh for some reason

The copy command for the space theme for vim-airline is not correct. Current command is
cp ./config/nvim/space.vim ./config/nvim/plugged/vim-airline-themes/autoload/airline/themes/space.vim
and should be something like:
cp ./config/nvim/space.vim $HOME/.config/nvim/plugged/vim-airline-themes/autoload/airline/themes/space.vim

Thanks for the issue! I don't doubt that there are a decent amount of bugs in the install script. I've only used it a hand full of times, and when I add things to it I don't blow away my whole build to test it.
Having said that, I'll make these fixes and any others you find. As always, a PR is welcome for some of the simpler things (like incorrect paths). Thanks again!

I've decided to essentially make the install.sh script deprecated. It's very difficult to maintain and the work required to make sure it worked across all use cases isn't worth it to me given that it's only done on a fresh install. I've updated the docs to show that the script is unsupported, but I left it because it can be used as a guide to getting most of the required dependencies set up.


Error on opening subfolder of any folder

Describe the bug
Crashing when accessing subfolder of a folder
To Reproduce
Steps to reproduce the behavior:

Go to any folder from sidebar or drives
Try to open a subfolder
Crashing without a message

Expected behavior
Had to open the subfolder
Screenshots
N/A
Desktop (please complete the following information):

OS Version: Version	10.0.19041 Build 19041
App version: v<IP_ADDRESS>

Additional context
The problem occurs every time I try to open subfolder of a folder
Error Log from Microsoft Event Viewer
error.txt
Log file
debug_fulltrust.txt
debug.txt

Thanks for this report. This should be fixed in version 1.2.3 coming to the store in a few days.
In the meantime the workaround is to enable the "open items with one click" option in Files settings.


support Spark 3.2.0 and other patch-versions

Currently only the latest Spark 3.x.y versions are supported.
KotlinReflection.scala is incompatible with other spark versions than its exact own.
We need to set up a plan to (probably) be able to release all versions that users might want.
I expect that say 3.2.1 and 3.2.0 will work without any code change except for the version number. 3.1.x and 3.2.y will require some code change, so we can still keep separate branches for that.

Also, Apache also has Scala 2.13 support for Spark, not sure if we also need to support that and all versions...


Is there any way to check DatePickerInput is empty or not?

If I clear the input box, the last set value is always there.
So I am now able to handle the empty error properly.
Is there any way to check DatePickerInput is empty or not?

You can add onBlur/onFocus and add error if the onChange does not set any date.


Mint 5 tokens from cw721 for testing

Codecov Report

Merging #462 (ffd8f14) into main (30b26e7) will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##            main    #462   +/-   ##
=====================================
  Coverage   9.62%   9.62%
=====================================
  Files         67      67
  Lines      10753   10753
=====================================
  Hits        1035    1035
  Misses      9589    9589
  Partials     129     129

Continue to review full report at Codecov.

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


Missed blocks -  can't produce blocks on time

Describe the bug
Watching our Prater validators, all blocks produced with Lodestar are orphaned:

https://prater.beaconcha.in/validator/200983#blocks (node with 1 validator)
https://prater.beaconcha.in/validator/200984#blocks (node with 16 validators)

I tracked a missed block proposal in the REST API metrics and got:

produceBlock: 4.01s
publishBlock: 64.1ms

Expected behavior
Blocks must be produced way faster. Otherwise we won't get attestations on it and the network will ignore it. Other clients produce blocks in ~ 100ms tops if I recall.

[ ] Add benchmark to produceBlock
[ ] Debug and improve performance

the produceBlock itself may not be an issue as when I call that api in my server without any validator, it returned immediately.
a lot of apis takes ~4s as in http://<IP_ADDRESS>:3000/d/lodestar/lodestar?orgId=1&refresh=30s, for example getAttesterDuties or produceAttestationData
we need to improve out node in general, it's most likely it's the attestation gossip tasks as shown below from a node with full attestation subscriptions

0624-prater-full-attestation-subscriptions.cpuprofile.zip

we need to improve out node in general, it's most likely it's the attestation gossip tasks as shown below from a node with full attestation subscriptions

I worry if it's that too, however some API calls take very little time. Maybe we should have a script next to the node that calls a free API method like version every second and plot response times through a full epoch.

Regardless of what the cause may be, I have updated the #2746 to include the (mostly) full test with benchmark results for produceBlock.

Recent metrics across all our infra show that we produce all blocks in time


HHH-10272 Make pending-puts cache template configurable

Hi @galderz could you take a look? I'd be glad if this made it into 5.0.4

Applied upstream


v1.10 backports 2021-05-07

v1.10 backports 2021-05-07

#15906 -- test: Run WG with per-endpoint routes (@brb)
#15765 -- test: 5.4 CI job (@pchaigno)
#15938 -- ui envoy: fix config to keep grpc conn (@geakstr)
#15934 -- Drop a @ in clustermesh-apiserver helm chart (@anthr76)
#15943 -- doc: New performance benchmarks and tuning guide (@tgraf)
#15955 -- doc: Reword some results (@tgraf)
#15928 -- test: Extend the clusterIP tests with policy (@aditighag)
#15964 -- bwm: queue mapping & cong fixes (@borkmann)
#15965 -- doc/encryption: improve consistency between ipsec and wireguard guides (@rolinh)
#15959 -- test: Fix fragment tracking test on GKE (@pchaigno)
#15961 -- Fix encryption getting started guides for v1.10 (@jibi)
#15963 -- docs: gsg/operations - use parsed-literal for all blocks referring SCM_WEB (@ti-mo)
#15971 -- docs: remove misplaced sentence from Quick Installation guide (@lfundaro)
#15973 -- docs: tell how to deploy demo app in Hubble CLI guide (@lfundaro)
#15832 -- ebpf: delete existing pinned map if incompatible with the spec (@jibi)
#15911 -- eni: Fix Cilium overallocating network interfaces (@gandro)
#15968 -- test: Fix the search for VIPs in cilium service list (@pchaigno)
#15981 -- doc: update Hubble/Hubble Relay guides for recent CLI changes (@rolinh)
#15982 -- docs: clustermesh: fix output of "cilium clustermesh status" command (@jibi)
#15988 -- connectivity-check: Reduce chances of port conflict with proxy (@pchaigno)
#15985 -- Update weekly community meeting timeslot (@joestringer)
#15983 -- images: Bump Hubble CLI to v0.8.0 (@gandro)
#15915 -- plugins/cilium-cni: fix aws-cni cni chaining (@aanm)
#15990 -- test/runtime: Wait for endpoints to be ready before querying by labels (@pchaigno)
#15984 -- docs: Fix egress gateway getting started guide (@gandro)
#15783 -- node-neigh: Locking, logging, misc improvements (@brb)
#16024 -- docs: minor improvements to tuning guide (@borkmann)
#15867 -- cilium: Encryption EKS 4.14 kernel (default) fixes (@jrfastab)
#16023 -- docs: Some Wireguard improvements (@brb)
#15950 -- Dockerfile: use alpine 3.12 (@aanm)
#16001 -- wireguard: Fix timeout in unit test (@gandro)
#16000 -- Minor fixes for OKD GSG (@errordeveloper)
#15994 -- ci-gke: Add -v=6 for kubectl get pods (@michi-covalent)
#16011 -- ci/wireguard: Ensure allowedIPs are set as expected (@gandro)
#15882 -- node-neigh: Avoid flooding the same next hop (@brb)
#14940 -- Encryption docs update (@aditighag)

Once this PR is merged, you can update the PR labels via:
$ for pr in 15906 15765 15938 15934 15943 15955 15928 15964 15965 15959 15961 15963 15971 15973 15832 15911 15968 15981 15982 15988 15985 15983 15915 15990 15984 15783 16024 15867 16023 15950 16001 16000 15994 16011 15882 14940; do contrib/backporting/set-labels.py $pr done 1.10; done

Just double-checked my changes and all looks good :)


Improve docs and public API

Hello, I've added comment to all public methods. Feel free to add your edits.
Couple more things I would like to do

[ ] Rename parameters of public functions to be more descriptive
[ ] Make dump accept a filename (like load)
[ ] Add the docs I just added to readme
[ ] Travis build status?

Hi sam,
These docstrings look great. Do you want me to merge this right away or when you're done these additional tasks as well?
If we could integrate the Travis with both BurntSushi and avakar's test suite that would be good. I would be more comfortable adding some collaborators to the repo if we have automated checks for the test suites.
Thanks!

I was hoping someone could do a proofread 📄

I will look into the travis setup :)

I was hoping someone could do a proofread 📄

While giving it a second look, I noticed that your description for _dict is incorrect. _dict specifies the class of the returned toml dictionary. The default is the default python dict.
One example use case would be to pass `toml.loads(s, _dict=OrderedDict) in order to get a consistent ordering when converting from a toml file to a dictionary and then back out to a toml file.
Otherwise, it looks good (grammar, etc.)

Ok I've updated the travis file. For now it only runs BurntSushi's decoding test. Hopefully it will get updated to latest spec soon.

I crossed out the first two tasks as I just don't feel like doing that right now. Feel free to merge this whenever. :man_shrugging:

closes #78


Warning message regarding Vardict

Hi, I'm working on several .bam and .bed samples in a single sample mode,
and it keeps giving me this messages and yields no VCFs.
Use of uninitialized value $exon in substitution (s///) at /media/sysbioinfolab1/hdd1/VarDict-master/vardict line 730.
Use of uninitialized value $exon in uc at /media/sysbioinfolab1/hdd1/VarDict-master/vardict line 731.
readline() on closed filehandle SAM at /media/sysbioinfolab1/hdd1/VarDict-master/vardict line 825.
Use of uninitialized value in split at /media/sysbioinfolab1/hdd1/VarDict-master/vardict line 727.
It's repeating every time i run it..
I ran it with
os.system('/media/sysbioinfolab1/hdd1/VarDict-master/vardict -G /media/sysbioinfolab1/hdd1/data/hg19.fa -f 0.01 -N '+sample[s].rstrip('.printrecal')+' -b /home/sysbioinfolab1/NSCLC_DATA/'+sample[s]+  '.bam -c 1 -S 2 -E 3 -g 4 /media/sysbioinfolab1/hdd1/data/NSCLC_bam/'+sample[s]+'.bed | /media/sysbioinfolab1/hdd1/VarDict-master/teststrandbias.R | /media/sysbioinfolab1/hdd1/VarDict-master/             var2vcf_valid.pl -N '+sample[s].rstrip('.printrecal')+' > /media/sysbioinfolab1/hdd1/data/Vardict_vcf/'+sample[s]+'.vardict'+'.vcf')
sample[s] is my filename.
Thank you

Hi Suhan,
Sorry that you have a problem!
Do you have samtools installed in your environment? We use samtools to read fasta and BAM sequences with faidx and view options and it seems that either samtools is missed, or path to fasta file is wrong. Can you please check this?

Hi, Thank you for your comment.
I installed samtools in my environment, and i'm using hg19.fa as fasta file for Vardict.
Is there any other possible problems regarding this error message?
thank you.

Suhan, I think you can check if the error appears when you run it not in Python, but directly on command line, to be sure that there are no errors in Python part. For example, I see a space before "var2vcf_valid.pl" and maybe there can be other problems.
So, just try to run it like this on command line and check all paths, especially that you have access to these files in share folders.
/media/sysbioinfolab1/hdd1/VarDict-master/vardict -G /media/sysbioinfolab1/hdd1/data/hg19.fa -f 0.01 -N your_sample_name -b /home/sysbioinfolab1/NSCLC_DATA/your_sample_name.bam -c 1 -S 2 -E 3 -g 4 /media/sysbioinfolab1/hdd1/data/NSCLC_bam/your_sample_name.bed
For test purposes you don't need to add R and var2vcf_valid.pl scripts now, because the error appears in vardict.pl.

Hi @SuhanC,
Do you still have this problem? Can I still help you somehow?

Hello,
Thanks for your comment.
I tried with VardictJava and i think it's working.
Thanks again!


Running individual tests locally passes, running entire test suite via Jenkins CI causes multiple failures

Hello,
I am hoping to get some advice for how to best run jest-puppeteer on Jenkins-CLI

We have around 12 test files, each file has around 2-3 tests within for different pages on our site.
When individually running each file on its own, all the tests within pass.
However when running via Jenkins-CI we run the following jest command to run all tests at once:

jest -c jest.config.js --verbose --runInBand --forceExit --detectOpenHandles
Now we start to see tons of tests failing.
Are there considerations we need to make when letting jest run it its normal mode which is running multiple test files at the same time?

Hello @AdamBD, I think your tests are not isolated. Are you sure to reset the database between each test?

@neoziro - Yes after each test we are clearing everything. Also each tests creates unique DB entries as to have no conflicts with prior tests.
When running locally the --runInBand works well, but we suspect that maybe in Jenkins this is not the case, as when we run locally without --runInBand we also have failures.
It seems puppeteer (at least with our tests) has issues when running a few parallel tests

Any news on this? we have a similar issue.
About 100 tests in 20 different files. Tests will pass locally but the CI gives random results. All tests may pass a couple of times but then some tests will start failing randomly.
We are using waitForSelector, waitForNavigation as much as we can, use a number of time outs and --runInBand but we still encounter these issues that seem to be racing problems.

@santaclauze integration testing is hard. Issues could be cause by pending request that are running when a new test start. I don't have out of the box solution, you have to iterate on it..

We will not fix it in this library since it is a biggest problem that can't be solved here.


Tweaks for follow active note (as maps do not really "follows" it)

Hi
The new search feature is a BIG improvement, and it is well done. Tx. The tags search works perfectly. I wanted to comment on few things, though:
1- For the "Follow active note" I see that it works as a search, but it does not move / center the map in the note, it just hides all notes and shows the selected one, but if the note is in other part of the map that is outside of the window, you don't see it. The map should move, scalated, and center around the selected note, just as it already does when you search by tag, or whatever.
2- when "follow active note" is activated, it would be fine to have the option to not hide all the rest of notes, just center map and highlight the selected note, for example.
3- The zoom level when searching by a note, is the maximum. Is there an option to set the maximum zoom (when searching)?
For the rest it is much better. Thanks a lot for this new version.

I'm happy that you like the new query functionality :)
Regarding your questions:

"Follow active note" was supposed to follow the "map follows search results" functionality, to have a consistent behavior. But I see now that it's not working as expected. Will fix that.
I indeed want to add to Map View a highlighting ability (e.g. for search results and maybe even for secondary queries). When I do that, "follow active note" can be configured to highlight rather than filter.
The search zoom uses the same configuration as "Default zoom for 'show on map' action" in the settings. The default is quite high but you can change that.

Thanks you for your reply. Regarding th point 3 I have tested settings for zoom max and min, and I always get a maximum zoom in, when making a quesry by tagm for exemple. Does it really work on your side? Maybe I am the only one

The "map follows search results" issue - fixed in the just-released 2.0.3 version.
Regarding the "default zoom for show on map", can you elaborate more on what you're doing? By the last thing you wrote I get the sense we are talking about different things. Are you referring to the zoom as part of a search result, e.g. by choosing a marker or making a search in the search box, or to how markers are zoomed when "map follows search results" is on and the query is updated? (the latter is not configurable right now)

Yes, the zoom now works, it filters out all the other notes and move and center around the selected one. About the "default zoom for show on map" setting, I refer to the zoom level shown in map when I perform a query (or select a note with "follow current note" activated). Even if I have it set to minimum, when I select a note and the map centers around it, or when I make a query, it makes a 100% zoom. I understand that "default zoom for show on map" only applies to right click option, and not to queries.

I have seen that the fix in 2.0.3 is broken in 2.0.4, it does not center the view neither zoom it (it keeps the current zoom level). BTW, in 2.0.3 when it centered and zoomed in, it did a kind of white and quick "flash", instead of make a seamless transition to location and zoom (it is secondary, I know, but somewhat bothering if you switch quickly among notes)

Damn, the state system is still too fragile. I will continue to improve it and fix the above.

I want to understand something better in your comment from a few days ago.
In 2.0.4 I deliberately removed the transition animations in some cases, to make some state changes faster.
However if I understand you correctly, you're saying that in 2.0.3 transitions were faster? If that's the case, in what specific scenario is this the case?

Well in the 2.0.4 there is no transition, or zoom in at all when a new note is open.
In the 2.0.3 there were transitions, but showed a white flash when the zoom levels were quite different.

Should be fixed in 2.0.5, can you try it out?

P.S: following your feedback I also added the "default zoom for show on map" setting to be used in the "map follows search results" behavior (as a max zoom).

Hi, yes the 2.0.5 works now as the 2.0.3. That means, that when clicking on a note in note explorer, for example, the map goes in a very fast transition to white then to the position of the new note, all of that through fast fade transitions. Not bad, but could be improved (it helps to see that the map has changed, but it could bother if switching fast between notes).
Regarding the zoom level, it is always stuck at max zoom. The level in "default zoom for show on map" seems to do nothing for the followed notes.

EDIT: No, the zoom level now works, it was my mistake, I forgot to restart Obsidian. Regarding the follow note, it works as described.

Hi, another thing related to this. I am not sure if it is intended. When click in a note in the map, it opens in a new or existing pane but it is automatically added a filter "path" so all the other notes dissppear from the map. Thus we have to click the "x" to clean the query box in order to see the other notes in the map. It make the map navigation slow, maybe I am missing some reason or funtionality but could it be avoided to add the filter when clicking on a note in map without affecting the follow current note behavior? Or at least to put it as optional?

I looked into this but the Obsidian API makes it very hacky to implement, leaving lots of room to more bugs, while I'm doing my best to make this mechanism solid so it would stop breaking. So better put it aside for now.


Games list is not sorted

Trying to find something in there is harder than necessary.
I suggest sorting by name.

Fixed by #25


Cannot disable data breakpoint while session active

Testing #79799

start debug session
create data breakpoint
try to check-off data breakpoint

Observe: the checkmark sticks

stop debug session
try to check-off data breakpoint

Observe: now it works

Fixed via 44fa853c32


Fix bug when saving draft profile

I don't know what bug is being fixed here to confirm if it's been resolved.  Can you elaborate on the issue being reported and fixed?  Add to the unit tests to account for this so we know it won't c come back in regression testing.


[KYUUBI #2275][DOCS] Fix missing prefix in trino engine quick start

Why are the changes needed?

Fix missing prefix in trino engine quick start
How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

Codecov Report

Merging #2276 (156ce2e) into master (0ee5371) will decrease coverage by 0.01%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #2276      +/-   ##
============================================
- Coverage     62.26%   62.25%   -0.02%
  Complexity       69       69
============================================
  Files           349      349
  Lines         16723    16723
  Branches       2261     2261
============================================
- Hits          10413    10411       -2
- Misses         5354     5356       +2
  Partials        956      956

Impacted Files
Coverage Δ

...org/apache/kyuubi/ha/client/ServiceDiscovery.scala
89.28% <0.00%> (-3.58%)
:arrow_down:

...ache/kyuubi/operation/KyuubiOperationManager.scala
94.11% <0.00%> (-1.97%)
:arrow_down:

.../kyuubi/credentials/HadoopCredentialsManager.scala
93.89% <0.00%> (+0.76%)
:arrow_up:

Continue to review full report at Codecov.

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

thanks, merging to master


How to run as a service

I used to run zwave2mqtt as a service. which worked great until today. The service does not start now. I can start as the user from a terminal. So as I could not figure out and you suggested to move to Js version, I have but I still get the same error when trying to set up as a service. The command run as user
docker run --rm -it -p 8091:8091 -p 3000:3000 --device=/dev/ttyACM0 -v $(pwd)/store:/usr/src/app/store zwavejs/zwavejs2mqtt:latest
runs picking up the existing setups
I am on Ubuntu 20.04 and to run as a service I ran following with results as shown
wget https://raw.githubusercontent.com/zwave-js/zwavejs2mqtt/master/docker/docker-compose.yml
downloads the file docker-compose.yaml which says
version: '3.7'
services:
zwavejs2mqtt:
container_name: zwavejs2mqtt
image: zwavejs/zwavejs2mqtt:latest
restart: always
tty: true
stop_signal: SIGINT
environment:
- SESSION_SECRET=mysupersecretkey
# - TZ=America/Los_Angeles  # uncomment and edit to match you timezone if you want logs time and dates to match your timezone instead of UTC.
networks:
- zwave
devices:
- '/dev/ttyACM0:/dev/ttyACM0'
volumes:
- ./store:/usr/src/app/store
ports:
- '8091:8091' # port for web interface
- '3000:3000' # port for zwave-js websocket server
networks:
zwave:
volumes:
zwave-config:
name: zwave-config
but docker-compose up says
cannot update snap namespace: cannot create symlink in "/etc/docker": existing file in the way
snap-update-ns failed with code 1
I have tried docker-compose up and sudo docker-compose up but get the same answer.
do you have a suggestion what is wrong and how to fix.
thanks

Humm  sincerly I have no idea why you are getting a snap error while running a docker compose command, @jmgiaever anything that could be related to your snap package?

Hi, no it's not. I guess @hi-flyer is using the snap package of Docker. Check with snap list | grep docker if it's installed with snapd.
BUT it looks like docker have been (or still is) installed in a different way (e.g through apt) which makes a conflict, and the symlink to /etc/docker is not allowed since it will modify the behavior of docker on the host-system.
I think @hi-flyer need to remove the other docker-package and then make sure that the /etc/docker directory is deleted, to fix this issue. This should be done with caution to not mess up other containers that might be running!
If @hi-flyer is using a debian based host OS, he can check with dpkg --get-selections | grep docker and remove it with sudo apt purge --remove docker.

Thank you both for your suggestions. I appreciate all help.
So, the system did its automatic reboot last night and everything seems to have started back up and is working. (I really hate things that suddenly fix themselves for no reason as they tend to show back up later). Oh well.
I will convert to zwavejs2mqtt today and how all goes well.
I will get back to you if I seem successful.

I have converted successfully. I did not have to remove any docker programs as suggested. It did take some effort to remove the zwave2mqtt but finally accomplished. then the zwavejs2mqtt worked.
completed my changes to NYMEA to accommodate changes in protocol. It was painful but done.
Thanks again to both of you. Have a good day.


Vertical Icon Alignment

So with the latest releases I have this problem again: https://github.com/yamatsum/nonicons/pull/11#issuecomment-840454411
3334b8db9417aa0ba5f0ad5da0748a421dd7806d is the last commit where the dist/nonicons.ttf file is working.

To reproduce, you can for example open dist/nonicons.html in your browser and hover over the icons with your browser debugging tools. You can also clearly see it just by looking at it:
Without descent the icons are not centered, but top aligned.

With descent: 40 the icons are perfectly centered


Add group_by for StreamExt

Just similar to Itertools::group_by and can group items of the stream to vectors.
Example
let data_grouped = stream::iter(vec![1, 3, -2, -2, 1, 0, 1, 2])
    .group_by(|elt| *elt >= 0) // or group_by(|elt| async move{*elt >= 0}) ?
    .collect::<Vec<_>>().await;

assert_eq!(data_grouped, vec![(true, vec![1, 3]), (false, vec![-2, -2]), (true, vec![1, 0, 1, 2])]);

I came across this issue while looking for a group_by to split a Stream into multiple Streams, something like https://ramdajs.com/docs/#groupBy
similar use case: https://stackoverflow.com/questions/45684038/splitting-a-futuresstream-into-multiple-streams-based-on-a-property-of-the-str


Upgrade LiipImagineBundle

The current latest release of the LiipImagineBundle is 1.2.2. This has lots of new features compared to the current version installed by Oro, particularly runtime config.  Are you planning to upgrade the version used by Oro which I believe is 0.17?

This has been updated: https://github.com/orocrm/platform/blob/master/composer.json#L44


Added ipfs-to-ens to list

Decentralized application that makes it easy to store an IPFS content hash for your ENS domain (.eth)

Closing this as we've changed how additions are being made to the awesome-ipfs list. If you still want to add this project, please see https://github.com/ipfs/awesome-ipfs/blob/master/CONTRIBUTING.md
Thanks!


"#10 Order attributes by name" options is always shown as changed

The option "# 10 Order attributes by name" in Attribute Ordering Rule Groups is always shown as changed. The value of the option is always displayed in bold, regardless of whether true or false.

is fixed with #68


ENH: linalg.solve: detect and exploit banded structure

Reference issue
gh-21363
What does this implement/fix?
This allows linalg.solve to detect if a matrix has a banded structure (with a "small" number of bands) and, if so, use a banded matrix solver.
Best case - four diagonals (otherwise tridiagonal solver could be used)

Worst case - number of upper and lower bands is 10% of matrix size n. (Otherwise, we switch to general solver.)

Additional information

I did not optimize the criterion for what constitutes a "small" number of bands.  I just chose a simple criterion that didn't appear to make performance worse for slow cases. It might be worth adding a minimum matrix size threshold, since this is a bit slower for small matrices.
I'm out of practice wrapping LAPACK routines, and I'd rather not mess with that again. We'll need to wrap gbcon , use it to estimate the reciprocal condition number, and add 'banded' to the parametrization of test_ill_condition_warning as a follow-up. It would be nice to wrap langb and use it in a _matrix_norm function instead of lange.
_to_banded can be compiled easily (by someone else) if desired.
It might be good to add a way to specify the bandwidth in the assume_a argument, but that is make-better that can be added at any time.

To be perfectly honest, it seems like we don't have too much of a benefit from this and as you pointed out I don't think there is a magical percent that would say now it is good to switch. I also played around with it and the banded solver makes a difference only if it is really™ banded. Probably user would know this already and would use sparse array to achieve more. Or alternatively, they would use linalg.solve_banded.
We can skip the banded switch in the flowchart but can leave the assume_a=banded option in. Then whatever bandwidth result is we use it in solve_banded. What do you think?

Probably user would know this already

Couldn't the same be said for any of the structures, though?

We can skip the banded switch in the flowchart but can leave the assume_a=banded option in.

The motivation is just to avoid making a decision about the threshold for what constitutes bandedness; like; to avoid the possibility of accidentally making things a little slower in some cases?
I'm not sure : / Maybe the compromise is to leave the condition in and just set a very conservative condition, like
if n > 100 and n_above <= 5 and n_below <= 5:

rather than scaling with n?
Removing the condition entirely would only remove the two lines, so it's not much of a simplification, and it would miss out on potential 2~3x gains - small, and rare for this path to be exercised, but that was the point of the PR, so I suppose I'd prefer to leave it in.

Then whatever bandwidth result is we use it in solve_banded. What do you think?

Do you mean literally call solve_banded? When I called solve_triangular, you were concerned about repeating input validation, so I copied the important stuff over.

Here, especially with small sizes this is probably going to hurt more if we hardcode a number and every number will have a transition period that a LU solver would be better off.

Do you mean literally call solve_banded? When I called solve_triangular, you were concerned about repeating input validation, so I copied the important stuff over.

Deciding bandedness is much harder than triangularity so this is more impactful than the triangle case. solve_triangle internally was doubling the checks so that was something else. This is more about having a centralized API with assume_a and less about the performance.

What is happening is that you are using the bandwidth result to decide on whether to use banded solver or not. So if you get 20 on one side and 10 on the other on an array of size 200 you want to get the banded solver. The amount of data you will move will not make things faster but slower. That's why deciding the threshold for banded arrays are tough. This I hope is not a controversial statement. That's why you don't see bandedness check in other software because it is not a well-defined metric.
What I am saying is that if it is marked as banded you can do all this. The only change I am proposing is that the user decides about it and not relying on the bandwidth result and create a questionable switch that will cause slowdowns because of the data movement. You can test it yourself the difference. I am also OK with 3rd opinion.

The amount of data you will move will not make things faster but slower.

I think this is why I'm having trouble following - the data in the top post clearly shows that banded is 2~3x faster for all but the smallest arrays when there are only a few bands. How do we reconcile the assertion that it will be slower with the plot showing that it's faster? What is that test in the top post missing that makes it irrelevant?

Maybe I'm blinded by the log plots but until 150ish they are not so different and after that you will clearly get benefits. I think there is no discussion there.

@j-bowhay @dschmitz89 thought I should ping you again here since we need another opinion about https://github.com/scipy/scipy/pull/21726#issuecomment-2429408057.

So I had a look and Julia doesn't attempt to do anything clever with banded matrices. Also my past experience with banded matrices comes from the discretization of pdes where you know the structure ahead of time. That being said neither of these two facts invalidate the idea imo. The added complexity is only two lines but can produce a modest speed up. As long as the threshold is conservative enough not to cause regressions for othercases I don't see why we shouldn't. Further work can always improve this.
Did you have a specific use case for this?

Did you have a specific use case for this?

If I knew I did, I would just call solve_banded. So the main advantage is when one is not aware of the structure or - more likely - they are unaware that the structure can be exploited.
My motivation is just to complete the work from gh-12824. I thought we had agreed to do this, so I'd prefer not to undo it while there is some benefit to leaving it alone and the motivation for changing it is unclear.

To be clear, I am not trying to undo the work. But even if it is so, there must be a middle ground to discuss this. Like I mentioned, the banded structure discovery is the issue here not the banded solver invocation. To summarize,

Banded discovery is always prone to edge cases, "I solve this it takes 0.5s I solve the other one it takes 2s I don't understand" is the very common thing with band discovery.
It is not always obvious where to draw the line, 3 is a bad threshold for 8x8 array but 15 is still good for 100x100. This is pretty much the same thing to cutoff the SVDs in linalg.pinv; you can never win all cases.
Banded matrices are quite special and very unlikely to encounter in the wild. Even you have something coming from an inverse of an array or otherwise, the sizes where this will work is not going to be detected because of the numerical noise in the entries. Having exactly zero entries outside the band is much more special than other cases given in #12824.

The agreement that I still have and still think that it is a great addition is to write assume_a=banded and things go smoothly without invoking any solve_banded or etc. So this is still valuable. The disagreement is whether we should also add an auto discovery for which I have concerns listed above.

Ok, I removed the condition and refactored the tests to accommodate banded being inconsistent with the rest.

I will draft what it might look like:
Title: ENH: linalg: wrap ?gbcon/?langb and use in linalg.solve
gh-21726 added support for assume_a='banded' to scipy.linalg.solve. However:

It falls back to using the default function for computing the matrix norm (lange), which does not exploit the structure. It would be better to use ?langb, but we don't have that wrapped for use in Python.
It does not currently estimate the reciprocal condition number like the other cases because we don't have a Python wrapper for ?gbcon.

Please consider adding Python wrappers for ?gbcon and ?langb and using them as indicated in scipy.linalg.solve.


Fix null handling in Eithers and Trys

A more explicit description would be appreciated in the future.

Sure. I figured the commit messages were pretty good, but I'll copy them into the description next time.


ids-endpoint: Makes ObjectMapper to be configurable/injectable via constructor (closes #261)

This PR introduces an own ObjectMapper instance to the IDS MultipartController to be able to make de/serialization configurable without interfering with what other subsystems require the global ObjectMapper to be capable of.
 Denis Neuling<EMAIL_ADDRESS>Daimler TSS GmbH, legal info/Impressum

@ronjaquensel, Since this is also required by the issue #233 you're working on, would you like to review the changes please?


Why i can't use option -t when checking images

This is an article from docker homepage i just read today.
https://docs.docker.com/docker-cloud/tutorials/optimize-dockerfiles/
And you can see that they mentiond about the command "docker images -t" to see all of the layers.
But when i executed that command.
`[root@ip-10-0-7-48 docker]# docker images -t
flag provided but not defined: -t
See 'docker images --help'.`
I checked for all options and didn't see any -t option.
I'm running Docker version 1.10.2 on CentOS 7.

If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
For more information about reporting issues, see CONTRIBUTING.md.
You don't have to include this information if this is a feature request
(This is an automated, informational response)

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

Looks like that documentation is not up-to-date, because the -t (and --tree) flags have been deprecated a long time ago https://github.com/docker/docker/pull/5001, and have been removed in
There's a proposal to bring it back in some form, but the change to content-addressable images in Docker 1.10 makes this not trivial, see https://github.com/docker/docker/issues/17366#issuecomment-169787909
You can, however, use the dockviz image to achieve the same; https://github.com/justone/dockviz. That image was created by the author that originally implemented the -t feature in docker

@thaJeztah  I did not htink dockviz would support content-addressable images.

If you're optimizing a specific image, perhaps docker historyis a good or even better solution, for example;
docker history ubuntu
IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
06ab2de020f4        11 weeks ago        /bin/sh -c #(nop) CMD ["/bin/bash"]             0 B
d5bdf8bb1e25        11 weeks ago        /bin/sh -c sed -i 's/^#\s*\(deb.*universe\)$/   1.895 kB
0c844eeeeea3        11 weeks ago        /bin/sh -c echo '#!/bin/sh' > /usr/sbin/polic   194.5 kB
179d14f5dee8        11 weeks ago        /bin/sh -c #(nop) ADD file:9b5ba3935021955492   187.7 MB

@thinhduckhoi I've opened an internal ticket for the Docker Cloud docs team to address this, so I'll close the issue here. Thanks so much for reporting!
Feel free to comment here if you have more questions about this, then I'll try to answer

dockviz is ever so slightly less useful now with content-addressable images.  The only effect on output is that incremental sizes are no different from cumulative sizes.  It's still very useful for seeing the parentage of an image.  It'd be great to have more information come over the API (#20451).

FYI, with the v0.4 release, dockviz properly handles content-addressable images.

Nice work @justone!


DBZ-5166 Fixed ExtractNewRecordState SMT to pass all columns' data as is

DBZ-5166 Fixed ExtractNewRecordState SMT to pass all columns' data "as is", i.e: without potential unwanted values manipulation.
Prior to this fix, when inserting an explicit NULL value to a nullable column which has a default value, resulted in a record which contains the corresponding field with the default value (instead of NULL) after applying ExtractNewRecordState transformation.
A new unit test was added as well.

@rotem-ad Applied, thanks a lot!


bug: Significantly increased the size of the bundle

Bug Report
Ionic version:

[x] 5.1.1
Current behavior:

Significantly increased the size of the bundle since 5.0.6 version: 19.9kB instead 8.3kB.
Expected behavior:

The bundle size remains the same.
Steps to reproduce:

I was able to verify this behavior. This is actually due to a change in Stencil, so I am going to move it over there. Thanks!


[Bug]: Git commit flow requests double confirmation

Is there an existing issue for this?

[X] I have searched the existing issues

Description
After committing changes on git, a second commit and push request shows up - sometimes with a different change log to what was previously committed and sometime an empty change log as seen in the video attached
Steps To Reproduce

On a large, git connected app, make multiple changes on widget/pages and queries
Commit these changes and observe there's a second commit request that is sent as seen in the video attached

Public Sample App
No response
Issue video log
https://www.loom.com/share/a7281b39e9bb450ba0df2820441086e2
Version
Cloud

If this is reproducible on that app, could you share the devtool logs.

@IAmAnubhavSaini you can reproduce this quite easily on release now. Connect an app to git and in a few commits you'll start seeing this double confirmation

@ramsaptami Is this still reproducible after the custom js lib changes fix went in?


UI - Project Dashboard

Chrome Issues
Version 60.0.3112.113
OS - macOS Sierra 10.12.6
Issue 1
Description Labels are repeated twice in the column headers.
Steps to Reproduce
1: Open the web application beta.lilt.com and login with authorized credentials.
2: In the project dashboard page, click on any project and enter to the document select page.
3: In this observe that header labels are repeated twice for Translation and Review
Observation Observed that  header labels are showing twice

I am sure this isn't related to Redisson project in any way.


New subclass of victim

Background
In ontology/uco/victim, the victim.ttl file has only TWO classes: Victim and VictimTargeting. This should be increased, as there are many different ontological connections associated with victims.
Requirements
Requirement 1
Add subclass to describe different TYPES of victims. These will be subclasses to the parent class "Victim." Victims can be differentiated by their different properties. For example: age, race, sexuality, blood type, height, eye color, weight, tattoos, hair, sex, etc.
Requirement 2
Add subclass to describe HOW the victim was targeted. (Was this targeting a hate crime? A homicide? Etc.)
Risk / Benefit analysis
Benefits
Can help further classify victims and their properties and provide further insight into the details of a victim, which is very important during a crime analysis.
Risks
The submitter is unaware of risks associated with this change.
Competencies demonstrated
Competency 1
A victim has been killed. Law enforcement is analyzing this case. The first and most important thing is to learn more about who the victim is and how they were killed.
Competency Question 1.1
What identities does this victim have?
Result 1.1
The victim is named John Doe. He is a 44-year old Caucasian male with hazel eyes, brown hair, and stands 68 inches tall.
Competency Question 1.2
In what way was this victim targeted?
Result 1.2
John Doe was killed during a robbery at his job.
Solution suggestion
Define new subclasses of Victim
Crime Type
Victim Type
Define properties specific to the new subclasses
Within Crime Type, add properties such as: natural, accident, suicide, homicide, undetermined, and pending.

I am fine with my examples being transcribed and credited.

This proposal was posted as part of the DFRWS-USA 2024 Rodeo event, which comprised of a set of forensic capture-the-flag challenges.  I did not suggest or develop this challenge, but I did agree to judge submission completeness.  The challenge prompting this proposal read:

Category: Project Vic
Title: Shape_The_Future
Create and submit a change proposal to the Unified Cyber Ontology project on Github that presents a new or updated concept related to crimes against children investigations. Submit link to the change proposal in Github as the flag.
Link to the Unified Cyber Ontology: https://github.com/ucoProject/UCO/tree/master/ontology/uco
Link to the project's Change Request template: https://github.com/ucoProject/UCO/issues/new?assignees=&labels=change+request&projects=&template=change-request.md&title=
You will need a GitHub account to login and submit the change proposal.
To get credit for the flag, the change proposal form needs to be completely filled out.

Hi Alex,
Great to hear from you! I loved your participation in the Formal Methods
panel at DFRWS + the rodeo (that Flags in the air challenge was a serious
whirlwind! Loved it! 🤣)
Yes, I would love to participate on the August 20 call. My change
request was submitted in a big hurry right before the Rodeo ended, so it's
not as thorough as I would like it to be. When I get the chance, I am going
to go in and edit it to more properly shape it.
Thanks again for reaching out! Please let me know how I can get involved in
the call next month :)
Best,
Kaitlyn J. Smith
On Mon, Jul 15, 2024 at 9:45 AM Alex Nelson @.***>
wrote:

Hello @smite-dev https://github.com/smite-dev ,
Thank you for posting this proposal.
It is too close in our review cycle for discussion in tomorrow's CDO
Ontology Committees call, but I will try to review the proposal later this
week for discussion in the August 20th call
https://cyberontology.atlassian.net/wiki/spaces/CDOC/pages/2248212489/2024-08-20+CDO+Ontology+Committees.
Please send me an email if you'd like to participate on that call.
--Alex
—
Reply to this email directly, view it on GitHub
https://github.com/ucoProject/UCO/issues/616#issuecomment-2228544139,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AK7RIHYQGYCRUPKFFTAD57DZMPG7BAVCNFSM6AAAAABKYDERM2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRYGU2DIMJTHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

Noted! I will have the edits done by Wednesday, in that case. Thanks for letting me know!

I think this CP calls out a need for us to better explain how Victim works as a Role in relationship to a particular Identity (either a Person or an Organization).
Reviewing the current UCO ontology when reviewing the CP did reveal a bug that I had not noticed and has likely been present for a long time.
VictimTargeting is not supposed to be a subClassOf Victim. VictimTargeting is not a Role.
Victimtargeting is intended to be an abstraction for an Identity that could specify particular Identity characteristics of people and/or organizations that were targeted in some malicious action.
Rather than having a Person object with name="SeanBarnum", gender="male", age="55", and hairColor="Brown", you could specify that a particular malicious action was targeting people who have gender="male" and hairColor="Brown". Obviously, Sean Barnum would fit the targeted profile but so would many others.
This VictimTargeting could also be related to objects other than a specific action. They could be related to a Person having a Subject Role to specify their particular victim targeting profile (e.g., girls, age=12-15, blond hair, etc). Many other such relationships are also possible and relevant.
We need to fix this bug and change the subclassing of VictimTargeting from Victim to be Identity.

Yes, this is true!
My proposal was calling for the Victim ontology to have further detailed classifications of a victim: HOW a victim was targeted (e.g. homicide, accident) + the identity of a victim (e.g. race, sex, age).

I think there are two course-revisions in this proposal:
@sbarnum noted the bugfix for VictimTargeting.  At the moment, I think that should be handled in a separate proposal. It also is sounding a bit to me like a meta-class - I know how to spell what Sean described with owl:Restrictions, so I'm not seeing a lot for UCO to invent there, rather than just get well-demonstrated.
The victim-categorizing notes I think more generically apply to people, rather than just victims, when describing physical characteristics.  (Note for Sean coming in a moment.)  There are some role-based classes that also apply, like targets within organizational positions (spear phishing IT administrators), but I think those are going to fold into the VictimTargeting fix topic.
The crime-categorizing notes look like they veer a bit into general event descriptions, e.g., accidents aren't necessarily crimes.  We have the core:eventType informal-typing property for when data needs to be encoded faster than an OWL subclass of Event can be encoded, implemented, and released in an ontology version (whether UCO or an adopter).
@sbarnum - A while ago (a few years?), I recall there were notes in identity.ttl to look over NIEM.  I think when last we looked NIEM was an XML Schema, but not RDF.  They seem to have some JSON-LD or RDF support now, at least glancing at 5.0.  Should we look to that again for some of the person-characteristics in this proposal?  (I'm having a little trouble finding their RDF encoding - the namespace returns an XML Schema document.)

Here’s a starting point on the relatively recent efforts to advance NIEM:  http://niem.github.io/json/
Patrick Maroney | Principal – Cybersecurity | AT&T Services, Inc.
Chief Security Office
Threat Analytics
e<EMAIL_ADDRESS>| p:<PHONE_NUMBER>

From: Alex Nelson @.>
Sent: Thursday, July 18, 2024 5:39:58 PM
To: ucoProject/UCO @.>
Cc: Subscribed @.***>
Subject: Re: [ucoProject/UCO] New subclass of victim (Issue #616)
I think there are two course-revisions in this proposal: @sbarnum noted the bugfix for VictimTargeting. At the moment, I think that should be handled in a separate proposal. It also is sounding a bit to me like a meta-class - I know how to
I think there are two course-revisions in this proposal:
@sbarnumhttps://urldefense.com/v3/__https://github.com/sbarnum__;!!BhdT!mu4liFMT63RFEZpV7vG82AwBilJUxPRlN-fo_CV-MVr_6GVv6tpIoKQCWjVSnW0PwABHXHt5cTPWDrP6p5oio371P5Q$ noted the bugfix for VictimTargeting. At the moment, I think that should be handled in a separate proposal. It also is sounding a bit to me like a meta-class - I know how to spell what Sean described with owl:Restrictions, so I'm not seeing a lot for UCO to invent there, rather than just get well-demonstrated.
The victim-categorizing notes I think more generically apply to people, rather than just victims, when describing physical characteristics. (Note for Sean coming in a moment.) There are some role-based classes that also apply, like targets within organizational positions (spear phishing IT administrators), but I think those are going to fold into the VictimTargeting fix topic.
The crime-categorizing notes look like they veer a bit into general event descriptions, e.g., accidents aren't necessarily crimes. We have the core:eventTypehttps://urldefense.com/v3/__https://ontology.unifiedcyberontology.org/documentation/prop-coreeventtype.html__;!!BhdT!mu4liFMT63RFEZpV7vG82AwBilJUxPRlN-fo_CV-MVr_6GVv6tpIoKQCWjVSnW0PwABHXHt5cTPWDrP6p5oit7YxeU0$ informal-typing property for when data needs to be encoded faster than an OWL subclass of Event can be encoded, implemented, and released in an ontology version (whether UCO or an adopter).
@sbarnumhttps://urldefense.com/v3/__https://github.com/sbarnum__;!!BhdT!mu4liFMT63RFEZpV7vG82AwBilJUxPRlN-fo_CV-MVr_6GVv6tpIoKQCWjVSnW0PwABHXHt5cTPWDrP6p5oio371P5Q$ - A while ago (a few years?), I recall there were notes in identity.ttl to look over NIEM. I think when last we looked NIEM was an XML Schema, but not RDF. They seem to have some JSON-LD or RDF support now, at least glancing at 5.0https://urldefense.com/v3/__https://niem.github.io/NIEM-JSON-Spec/v5.0/niem-json-spec.html__;!!BhdT!mu4liFMT63RFEZpV7vG82AwBilJUxPRlN-fo_CV-MVr_6GVv6tpIoKQCWjVSnW0PwABHXHt5cTPWDrP6p5oiGsSYtD4$. Should we look to that again for some of the person-characteristics in this proposal? (I'm having a little trouble finding their RDF encoding - the namespace returns an XML Schema document.)
—
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https://github.com/ucoProject/UCO/issues/616*issuecomment-2237668613__;Iw!!BhdT!mu4liFMT63RFEZpV7vG82AwBilJUxPRlN-fo_CV-MVr_6GVv6tpIoKQCWjVSnW0PwABHXHt5cTPWDrP6p5oi7umIHXk$, or unsubscribehttps://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AAYSFYO7CHKGEGMAQIOKSOLZNAY25AVCNFSM6AAAAABKYDERM2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMZXGY3DQNRRGM__;!!BhdT!mu4liFMT63RFEZpV7vG82AwBilJUxPRlN-fo_CV-MVr_6GVv6tpIoKQCWjVSnW0PwABHXHt5cTPWDrP6p5oil4dyIco$.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Re:

I think this CP calls out a need for us to better explain how Victim works as a Role in relationship to a particular Identity (either a Person or an Organization).
Reviewing the current UCO ontology when reviewing the CP did reveal a bug that I had not noticed and has likely been present for a long time.
VictimTargeting is not supposed to be a subClassOf Victim. VictimTargeting is not a Role.
Victimtargeting is intended to be an abstraction for an Identity that could specify particular Identity characteristics of people and/or organizations that were targeted in some malicious action.
Rather than having a Person object with name="SeanBarnum", gender="male", age="55", and hairColor="Brown", you could specify that a particular malicious action was targeting people who have gender="male" and hairColor="Brown". Obviously, Sean Barnum would fit the targeted profile but so would many others.
This VictimTargeting could also be related to objects other than a specific action. They could be related to a Person having a Subject Role to specify their particular victim targeting profile (e.g., girls, age=12-15, blond hair, etc). Many other such relationships are also possible and relevant.
We need to fix this bug and change the subclassing of VictimTargeting from Victim to be Identity.

@sbarnum , thanks for the description and example.  Your last line seems to be suggesting this change:
 uco-victim:VictimTargeting
- 	rdfs:subClassOf uco-victim:Victim ;
+ 	rdfs:subClassOf uco-identity:Identity ;
 	.

After trying this out on the example you provided modeling yourself, and @smite-dev 's competency illustration, I think I disagree.
This comment has a decent amount of Turtle in it to discuss meta-classes and using OWL reasoning to realize that a subset of people fit some classes of victim-targets.  The Turtle and working code is in this Gist, and the Turtle there has some further inlined comments.
Here is the Sean-in-RDF example, adding some properties that UCO doesn't have yet.  (I'm not sure how they would be implemented from NIEM.  I don't understand the model well enough; nc:PersonAgeMeasure and j:PersonHairColorCode seem applicable from this page, but I don't yet grok the linking.)
@prefix ex: <http://example.org/ontology/> .
@prefix uco-core: <https://ontology.unifiedcyberontology.org/uco/core/> .
@prefix uco-identity: <https://ontology.unifiedcyberontology.org/uco/identity/> .

ex:age
	a owl:DatatypeProperty ;
	rdfs:comment "A person's age."@en ;
	rdfs:seeAlso <https://niem.github.io/model/5.0/nc/PersonAgeMeasure> ;
	rdfs:range xsd:integer ;
	.

ex:hairColor
	a owl:DatatypeProperty ;
	rdfs:comment "A person's hair color."@en ;
	rdfs:seeAlso <http://release.niem.gov/niem/domains/jxdm/6.0/#PersonHairColorCode> ;
	rdfs:range xsd:string ;
	.

kb:Person-64d47905-ac42-42ee-aaf2-cf52a4648c00
	a uco-identity:Person ;
	ex:age 55 ;
	ex:hairColor "BRO" ;
	uco-core:name "Sean Barnum" ;
	uco-core:hasFacet kb:SimpleNameFacet-d7934591-b4b1-4934-aa93-828340aa82b6 ;
	.
kb:SimpleNameFacet-d7934591-b4b1-4934-aa93-828340aa82b6
	a uco-identity:SimpleNameFacet ;
	uco-identity:familyName "Barnum" ;
	uco-identity:givenName "Sean" ;
	.

I intentionally put ex:age and ex:hairColor onto the uco-identity:Person node rather than a Facet for the sake of demonstrating some OWL, though this isn't UCO's typical design guidance.  I think they would go onto a uco-identity:PhysicalInfoFacet, but which Facet they would go onto feels a bit out of scope of this discussion.  A Facet-based demonstration is also in the Gist.
Let's derive a "targeting" class that that characterization of Sean fits into: Some disgruntled individual chooses to target people who are over 40 with brown hair.  In OWL, using those two ex: properties on the Person node, that targeted class of people looks like this:
# Necessary and sufficient conditions to be of this PersonType:
# * Be a Person.
# * Have brown hair.
# * Be over 40.
kb:PersonType-0ade6e45-1327-4826-8103-9cd331c655bd
	a owl:Class ;
	rdfs:comment "Class of people over 40 with brown hair.  Derived from investigation details."@en ;
	owl:equivalentClass [
		a owl:Class ;
		owl:intersectionOf (
			uco-identity:Person
			[
				a owl:Restriction ;
				owl:onProperty ex:hairColor ;
				owl:hasValue "BRO" ;
			]
			[
				a owl:Restriction ;
				owl:onProperty ex:age ;
				owl:allValuesFrom [
					a rdfs:Datatype ;
					owl:onDatatype xsd:integer ;
					owl:withRestrictions (
						[
							xsd:minExclusive 40 ;
						]
					) ;
				] ;
			]
		) ;
	] ;
	.

An OWL reasoner would then look at the graph with the Sean node, and infer this:
kb:Person-64d47905-ac42-42ee-aaf2-cf52a4648c00
	a kb:PersonType-0ade6e45-1327-4826-8103-9cd331c655bd ;
	.

(The Gist covers the class of people with the last name Barnum, using the SimpleNameFacet.)
This shows a few complexities in ontological practice, but I think they would come up as investigations evolve.  As an OWL class, this would typically go into the "TBox" side of the graph, where classes and properties are defined.  However, the class may more naturally arise from the "ABox" side where (graph-)individuals are defined.  For instance, this class could be defined after stumbling upon social media posts where the suspect (allegedly) posted a seething text about middle-aged men who aren't gray, with a specific envy for still having brown hue.  This could comfortably go into a "TBox" ontology portion that is localized to just the current investigation.  Or, like I did in my sketch, it could be part of the knowledge base in the "ABox" side.
Sean suggested VictimTargeting be a specialization of Identity.  I think that that class, kb:PersonType-0ade6e45-..., relates to VictimTargeting, but I'm not entirely convinced this would be the correct thing to also infer:
kb:Person-64d47905-ac42-42ee-aaf2-cf52a4648c00
	a
		kb:PersonType-0ade6e45-1327-4826-8103-9cd331c655bd ,
		uco-victim:VictimTargeting
		;
	.

Is the Sean node supposed to be an instance of the VictimTargeting class?  Or, is the class kb:PersonType-0ade6e45-... supposed to be an instance of the VictimTargeting class?  (That is, should VictimTargeting be a class whose members are classes, a.k.a., a metaclass.)
# A
kb:Person-64d47905-ac42-42ee-aaf2-cf52a4648c00
	a uco-identity:Person ;
	a uco-victim:VictimTargeting ;
	.

# Or:

# B
kb:PersonType-0ade6e45-1327-4826-8103-9cd331c655bd
	a owl:Class ;
	a uco-victim:VictimTargeting ;
	.

(For what it's worth, the Gist was fairly unaffected by adding VictimTargeting as a metaclass.)
@sbarnum: A, or B?  If A, how did you plan on setting up the encoding of why the victim was targeted?  Did you have an alternative to the OWL mechanisms already available to us?
Having gone through writing the Gist, I'm thinking this Issue (616) could morph into just aligning VictimTargeting.  I do agree, that class shouldn't be tied by subclassing to Role.  I'm not sure what else would go into specifically the Victim ontology, and @smite-dev 's competency seems illustrable with core:eventType (should the homicide-during-robbery event be data-illustrated) and owl:Restrictions in search-oriented classes.

@plbt5 helped me realize another option between A or B at the end of my last comment:
# C (which entails A)
uco-victim:VictimTargeting
	rdfs:subClassOf uco-identity:Identity;
	.
kb:PersonType-0ade6e45-1327-4826-8103-9cd331c655bd
	a owl:Class ;
	rdfs:subClassOf uco-victim:VictimTargeting ;
	.

I think today's English definition of VictimTargeting today would lean more towards option B (metaclass)...

A victim targeting is a grouping of characteristics unique to people or organizations that are the target of some malicious activity.

...except, on reviewing all of the classes entailed by just being a identity:Person, the Sean graph-node is all of these:

identity:Person: "A person is a grouping of identifying characteristics unique to a human being regarded as an individual."
identity:Identity: "An identity is a grouping of identifying characteristics unique to an individual or organization."
core:IdentityAbstraction: "An identity abstraction is a grouping of identifying characteristics unique to an individual or organization. This class is an ontological structural abstraction for this concept. Implementations of this concept should utilize the identity:Identity class."
core:UcoObject: "A UCO object is a representation of a fundamental concept either directly inherent to the cyber domain or indirectly related to the cyber domain and necessary for contextually characterizing cyber domain concepts and relationships. Within the Unified Cyber Ontology (UCO) structure this is the base class acting as a consistent, unifying and interoperable foundation for all explicit and inter-relatable content objects."
core:UcoThing: "UcoThing is the top-level class within UCO."

And, the example targeting class I sketched has this definition string, which is similarly more descriptive of the set than of the individuals in the set:  "A set of people allegedly being targeted by an investigation subject.  Descriptions drawn from linked social media posts.  To date, the qualifications are known to be brown-haired and over 40 years of age."
In contrast, other ontologies and RDF models describe classes by their individuals.

foaf:Person: "A person."
prov:Person: "Person agents are people."

prov:Agent: "An agent is something that bears some form of responsibility for an activity taking place, for the existence of an entity, or for another agent's activity."

schema:Person: "A person (alive, dead, undead, or fictional)."

If UCO were using the definition style of these other ontologies, today's wording of VictimTargeting would firmly suggest it is a metaclass.  But, given the wording style of current classes where most everything in UCO is "a grouping of characteristics about a thing X," rather than "an X," victim:VictimTargeting seems to verbally fit under identity:Identity as a subclass.
@sbarnum , your input on B vs C would still be appreciated.  But, it seems current design suggests option C.

@sbarnum : In the example graph, let's say you're actually victimized, and not just a member of the VictimTargeting subclass kb:PersonType-0ade6e45-....
What is the victim:Victim object?

I think there are two course-revisions in this proposal:
@sbarnum noted the bugfix for VictimTargeting. At the moment, I think that should be handled in a separate proposal. It also is sounding a bit to me like a meta-class - I know how to spell what Sean described with owl:Restrictions, so I'm not seeing a lot for UCO to invent there, rather than just get well-demonstrated.
The victim-categorizing notes I think more generically apply to people, rather than just victims, when describing physical characteristics. (Note for Sean coming in a moment.) There are some role-based classes that also apply, like targets within organizational positions (spear phishing IT administrators), but I think those are going to fold into the VictimTargeting fix topic.
The crime-categorizing notes look like they veer a bit into general event descriptions, e.g., accidents aren't necessarily crimes. We have the core:eventType informal-typing property for when data needs to be encoded faster than an OWL subclass of Event can be encoded, implemented, and released in an ontology version (whether UCO or an adopter).
@sbarnum - A while ago (a few years?), I recall there were notes in identity.ttl to look over NIEM. I think when last we looked NIEM was an XML Schema, but not RDF. They seem to have some JSON-LD or RDF support now, at least glancing at 5.0. Should we look to that again for some of the person-characteristics in this proposal? (I'm having a little trouble finding their RDF encoding - the namespace returns an XML Schema document.)

The notes on fleshing out various Facets for Identity were referencing OASIS CIQ rather than NIEM. It is still the most comprehensive and fleshed out identity model out there to the best of my knowledge.

this Gist

It is neither A nor B though A is closer to reality.
The first big issue is that while the OWL approach you present above could be valid to predefine a filter for any Person individuals in the future it kind of misses the point. Only an ontologist (an tiny tiny portion of the user community) could ever hope to write that correctly. The intent of VictimTargeting is to enable laymen practitioners to be able to describe characteristics of the victims targeted in some malicious activity. Individual victim targeting descriptions need to be able to be defined as individual UcoObject (Identities to be more specific) using the properties defined in CDO ontologies that apply to Identity objects and their subclasses (Person, Organization, etc.).
The class tree would look like this:

UcoObject

IdentityAbstraction

Identity

Person
Organization
VictimTargeting

So, using your example scenario above, you could have a kb:PersonType-0ade6e45-1327-4826-8103-9cd331c655bd (characteristic details of some victim targeting) individual object that is a member of the VictimTargeting class but defines its characteristics like an Identity object would (with IdentityFacets containing properties) which is natural and straightforward for any user.
It could look something more like the following:
(A brief note here that there is already a defined identity:BirthInfoFacet with an identity:birthdate property. This example has highlighted that we probably should add two more properties (identity:birthdateRangeStart and identity:birthdateRangeEnd to identity:BirthInfoFacet where both are disjoint from identity:birthdate.)
kb:PersonType-0ade6e45-1327-4826-8103-9cd331c655bd 	a identity:VictimTargeting ; 	rdfs:comment "People over 40 with brown hair.  Derived from investigation details."@en ;         hasFacet: [              {                     @id: kb:birth-info-facet-fa1faab5-f212-4ab5-ae09-6937ca06e847,                     @type: identity:BirthInfoFacet,                     identity:birthdateRangeEnd "1984-08-20T00:00:0.0Z",              },             {                     @id: kb:physical-info-facet-4449a465-f561-4e32-9716-4853757985ea,                     @type: identity:PhysicalInfoFacet,                     identity:hairColor "Brown"         ].
If you wanted to convey that an Person object for Sean fit the victim targeting profile (at a given time) you would simply define a Relationship object where kindOfRelationship="fitsVictimTargeting", source=, target=kb:PersonType-0ade6e45-1327-4826-8103-9cd331c655bd, and startTime=<the time I fit the targeting pattern (remember, I could die my hair blond in 3 months ;-) ).
If investigators/analysts at some point wanted to check the victims of unsolved crimes against a given victim targeting pattern they could either specify and appropriate SPARQL query or they could codify the VictimTargeting Individual as a separate OWL restrictions-based object as you did above and use either to potentially find matches.
It should be noted that the intended concept and use of VictimTargeting has nothing to do with either of the Competencies in the CP.
The first competency in the CP has to do with characterizing a specific person.
This should absolutely be done using an Individual object of the Person class.
I just realized there is an even bigger problem/error with Victim that I can't believe I did not catch earlier. Victim should not be a subclass of NeutralRole. Victim should be an Individual of the NeutralRole class. It IS a specific role not just a type of role. I could see how this oversight could be the cause of a lot of the confusion around this. I apologize for not noticing sooner.
To characterize that this person John Doe was the victim of some malicious activity you would simply specify a Relationship object where kindOfRelationship="hasRole", source=, target=Victim (the predefined role Individual), and startTime=.
The second competency in the CP has to do with what kind of victim he was. This does not have anything to do with VictimTargeting unless you wanted to characterize what sort of people the robber typically targeted .
I agree with Alex that the "how" he was a victim is best characterized in an Event (something like "Death during robbery at Company X, Office Y on date Z") object using eventType (something like "Death"). That Event could reference a specific Action (something like "Kill" (I would recommend against presuming "Murder" as the killing could be murder, manslaughter, or an accident)) for the killing in the eventContext property which would specifically link to the Identity object of the victim using the 'object' property; and a specific Action (something like "Rob") for the robbery. Both the Kill and Rob Actions could reference the location.
It is important not to conflate things like the identity of the victim, the fact he was a victim, the events and actions that occurred, where they occurred, what sort of victim targeting may have occurred.

I think today's English definition of VictimTargeting today would lean more towards option B (metaclass)...

A victim targeting is a grouping of characteristics unique to people or organizations that are the target of some malicious activity.

...except, on reviewing all of the classes entailed by just being a identity:Person, the Sean graph-node is all of these:

identity:Person: "A person is a grouping of identifying characteristics unique to a human being regarded as an individual."
identity:Identity: "An identity is a grouping of identifying characteristics unique to an individual or organization."
core:IdentityAbstraction: "An identity abstraction is a grouping of identifying characteristics unique to an individual or organization. This class is an ontological structural abstraction for this concept. Implementations of this concept should utilize the identity:Identity class."
core:UcoObject: "A UCO object is a representation of a fundamental concept either directly inherent to the cyber domain or indirectly related to the cyber domain and necessary for contextually characterizing cyber domain concepts and relationships. Within the Unified Cyber Ontology (UCO) structure this is the base class acting as a consistent, unifying and interoperable foundation for all explicit and inter-relatable content objects."
core:UcoThing: "UcoThing is the top-level class within UCO."

And, the example targeting class I sketched has this definition string, which is similarly more descriptive of the set than of the individuals in the set: "A set of people allegedly being targeted by an investigation subject. Descriptions drawn from linked social media posts. To date, the qualifications are known to be brown-haired and over 40 years of age."
In contrast, other ontologies and RDF models describe classes by their individuals.

foaf:Person: "A person."

prov:Person: "Person agents are people."

prov:Agent: "An agent is something that bears some form of responsibility for an activity taking place, for the existence of an entity, or for another agent's activity."

schema:Person: "A person (alive, dead, undead, or fictional)."

If UCO were using the definition style of these other ontologies, today's wording of VictimTargeting would firmly suggest it is a metaclass. But, given the wording style of current classes where most everything in UCO is "a grouping of characteristics about a thing X," rather than "an X," victim:VictimTargeting seems to verbally fit under identity:Identity as a subclass.
@sbarnum , your input on B vs C would still be appreciated. But, it seems current design suggests option C.

I will assert fairly strongly that it is not A, B, or C.
A specific victim targeting characterization must be an Individual and not a class (subclass) as the pattern fit between a given Identity and the victim targeting pattern is not permanent across the lifespan of the Identity or of the victim targeting pattern. Characteristics of the Identity may change over time leading to a fit at some times and not at others. The same could be said of the victim targeting pattern as it may be adjusted by investigators as they learn more over time or the subject changes their MO. The even bigger issue as I explained above is that non-ontologist users need to be able to specify VictimTargeting patterns and defining them as classes is not practical.
Hopefully, the characterization in my above comment is clear. It should fully support all of the capabilities and aspects I have seen here.

@sbarnum : In the example graph, let's say you're actually victimized, and not just a member of the VictimTargeting subclass kb:PersonType-0ade6e45-....
What is the victim:Victim object?

I think my explanation regarding the Competencies in the CP should explain this but here is an attempt at a short summary.
The Victim object is an predefined (in the ontology) Individual of the class NeutralRole. It IS a role, not a class of roles.

If an person was a victim but did not fit any victim targeting characterization then you could define the Person object for them and then assert a "hasRole" Relationship from the Person object to the Victim object.
If a person fits a victim targeting pattern but is not actually victimized then you could define the Person object for them, define an Individual (user-defined) VictimTargeting object for the targeting pattern, and then assert a "fitsVictimTargeting" Relationship from the Person object to the Individual (user-defined) VictimTargeting object.
If the person fits a victim targeting pattern AND was a victim then you could combine number 1 and number 2.


Change payment currency: CVV field errors

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: v9.0.5-10
Reproducible in staging?: Staging
Reproducible in production?:
If this was caught during regression testing, add the test name, ID and link from TestRail: NA
Email or phone of affected tester (no customers):
Logs: NA
Expensify/Expensify Issue URL: NA
Issue reported by<EMAIL_ADDRESS>Slack conversation: Internal: https://expensify.slack.com/archives/C036QM0SLJK/p1720560965872139?thread_ts=1720544914.651789&cid=C036QM0SLJK
Action Performed:

Open new.expensify.com/settings/subscription
Add a payment card
Click the 3 dot menu
Click "Change payment currency"
Enter a 4 digit CVV number or the wrong CVV of the card on file
Hit save

Expected Result:
You should see a form error for 4 digits or any letter input: "Please enter a valid security code."
Note: We should have the same CVV field behavior across "add payment card" and "change payment currency"
Actual Result:
No immediate form errors for any letter input or 4 digits
Workaround:
Ignore
Platforms:

Which of our officially supported platforms is this issue occurring on?

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

Screenshots/Videos
https://github.com/Expensify/App/assets/36425901/4469aca6-0916-4c69-acf0-4f79d559bff7

View all open jobs on GitHub

I am Michał from Callstack - expert contributor group. I’d like to work on this job.

As discussed here, we can close this. 4 digit CVVs are valid.


Downloading Web Application config creates both application and application-web folder

Describe the bug
When I use the download functionality to get Web Application configuration from Dynatrace, it creates both an application and application-web folder with the same contents
How to reproduce
Steps to reproduce the behavior:
execute a download against an environment that has a web application defined
Expected behavior
It should only create the application-web folder

Just to add more information to this bug, currently there is no way to identify inside monaco what configs would be deprecated, or which ones should belong to an specific version of monaco. We can have this be a special case and hardcode something against "application" or we might have to create an additional property to identify apis to be deprecated

This will be solved with monaco 2.0 as then we are going to deprecate application config.


Add package-based soroban-rpc Dockerfile

What
This PR adds new soroban-rpc Dockerfile that uses official SDF deb packages as source of stellar-soroban-rpc and stellar-core
Why
This Dockerfile will allow us to reuse release packages. It will also allow us to run more lighweight soroban-rpc deployments than those using the stellar/quickstart image

It will also allow us to run more lighweight soroban-rpc deployments than those using the stellar/quickstart image

It's possible for us to create a docker container that isn't quickstart, without introducing .deb installers into the mix. There have been some challenges with building our docker contains this way (how horizon's was built):

There's no support for arm64.
We can't ship docker images on PRs, because of the needed coordination with deb building on Jenkins.

Do we need the debs, or do we just need a docker image?

I agree with @leighmcculloch 's point here. The fact that we're tying our docker image generation here to a prebuilt debian release ( from jenkins ) is a serious limitation. When building from source, we need always build from... source.

I agree with @leighmcculloch 's point here. The fact that we're tying our docker image generation here to a prebuilt debian release ( from jenkins ) is a serious limitation. When building from source, we need always build from... source.

yes, 'build from source' has become an approach used in other places to enable multi-arch situations, quickstart does it and system-test followed suit, but it has introduced an unintended side effect, it requires compute resources and time to compile core from source. one other idea getting some discussion was pre-built multi-arch docker images for core, which has caveats also, like which repos can push them and which are most common permutation of build flags to build images on, but, if that existed, then docker's like this rpc one can safely copy the core bin from that image as a build stage.

Do we need the debs, or do we just need a docker image?

We wanted to build images that use supported, tested version of core for production use. Currently we only test and validate amd64 builds of core. amd64 debs are also the only builds that can be cryptographically verified to be coming from SDF. This is a well established release process that we've been using for many years so moving to custom compiled core binaries for soroban-rpc images is a fairly big deal IMO.
I appreciate that the build process is more limited but that's, unfortunately, the price of having higher security guarantees and thorough testing that those builds go through. Maybe there will be ways to integrate things more for easier testing in GHA?
Having said that it looks like we really need to bump priority of arm64 support. It likely won't matter much for production use cases, where most systems run amd64, but being able to run the images on arm laptops would benefit developers. This can be a significant project of course, depends on how much testing infrastructure we need to duplicate on arm64 architecture.


feat(@schematics/angular): Schematic to migrate invalid interpolations

This commit adds a migration schematic to fix interpolation-like markup
now invalidated by #39107. Previously, the angular parser would not
match markup like {{ 1 + 2 } or {{ 1 + 2 }<!-- -->} to be partial
(but malformed) interpolations, an implementation detail that some
developers may have relied on to treat interpolation-like markup as
text. #39107 changes the parser implementation to know emit errors in
such cases, because the markup looks like an interpolation but is not
well-formed. In such cases it is preferred to use an interpolation
directly or escape interpolation delimiters (e.g. {{ '{{' }} 1 + 2 {{ '}}' }}). This commit provides fixes for malformed cases so as to
ease migration for applications relying on the previous implementation.

@ayazhafiz, this looks like it should be a migration in @angular/core and not @angular/cli

That makes sense, thanks!

Something else to consider is that these cases could be legitimate application errors that were never caught.  An alternative could be to allow the user to selectively fix the errors rather than to propagate the errors in a new form.  Maybe a language service quick fix that performs the conversion upon user request per instance?


NS-77: Update CAPI/CAPO

Okay, from the release notes: https://github.com/kubernetes-sigs/cluster-api-provider-openstack/releases/tag/v0.10.0

v1alpha6 and v1alpha7 objects will be automatically converted to v1beta during use. This is well tested. We don’t anticipate problems with these conversions.

This will create problems in that the cluster-api-cluster-openstack chart will create resources for v1alpha7, CAPO will convert them to v1beta1, then ArgoCD will revert them back to v1alpha7, and so on forever.  You should actually see this happening in the  ArgoCD UI.
Fix here should be easy enough, find charts/cluster-api-cluster-openstack -type f -name -exec -i sed 's/v1alpha7/v1beta1/g' {} \;
However, it gets more complicated in that this shit is broken, so we need some hacks to manually remove things because CAPO blocks Argo from doing so, and Argo haven't accepted any of our patches yet 🙄  I appear to have even missed this last time around too https://github.com/unikorn-cloud/unikorn/blob/main/pkg/provisioners/helmapplications/clusteropenstack/hack.go#L108 (the shame!), but it will break eventually when the version disappears.
Testing should look like:

Can I create a cluster?
** Does Argo constantly flip flop?  If so fix it
Can I remove a workload pool and create a new one with a different name (test the hack code)?
Can I delete the cluster?

Closing in favour of #4


Support mask in text/crf

Describe the feature and the current behavior/state.
support mask in  text/crf
Relevant information

Are you willing to contribute it (yes/no): yes

Are you willing to maintain it going forward? (yes/no): yes

Is there a relevant academic paper? (if so, where): no

Is there already an implementation in another framework? (if so, where):
https://github.com/allenai/allennlp/blob/1a8a12cd1b065d74fec3d2e80105a684736ff709/allennlp/modules/conditional_random_field.py#L318

Was it part of tf.contrib? (if so, where): no

Which API type would this fall under (layer, metric, optimizer, etc.)
text
Who will benefit with this feature?
CRF layer and its users
Any other info.

Closing as this is duplicated in https://github.com/tensorflow/addons/issues/1089 which had a bit more info


Update header.html

the url has been updated, so I changed it.

Though the http url will be redirected to the https url, it's great to modify it in the doc.
/lgtm
Thanks!


Hitting Esc on a dialog box should perform the most conservative option

For instance, on Cmd-Q, a dialog box comes up, and I hit Esc because I hit the keybinding by mistake in the first place. No changes are saved and my editor quits!

@atom/feedback I don't remember this happening before the Electron upgrade - this might be a regression?

I can repro. For me esc does press cancel, but cancel doesnt do the right thing. Even pressing cancel on the cmd-q dialog will still quit the app.

Definitely seems like a regression.

I cannot reproduce the issue, it seems okay on my setup.
With unsaved document, pressing Esc with Cmd-Q dialog press cancel, and returns to the editor. (Expected behavior)
OS Version: Yosemite 10.10.4
Atom Version: 1.0.19

Sorry, I forgot to mention: you need the git HEAD to reproduce this issue.
On Fri, Sep 25, 2015 at 8:24 PM, David Lin<EMAIL_ADDRESS>wrote:

I cannot reproduce the issue, it seems okay on my setup.
With unsaved document, pressing Esc with Cmd-Q dialog press cancel, and
returns to the editor. (Expected behavior)
OS Version: Yosemite 10.10.4
Atom Version: 1.0.19
—
Reply to this email directly or view it on GitHub
https://github.com/atom/atom/issues/8947#issuecomment-143382361.

Did some git bisecting and this looks like it may have regressed in https://github.com/atom/atom/pull/8680


docs(www): update code highlight in Form component document

Fix incorrect code highlight lines
Add missing useForm import

The problem this PR is trying to solve was fixed in #1958


create a STIX wrapper type for use in Envelop for proper naming of STIX return type expectation

currently just shows a Map<String, Any>

Fixed


epson-workforce-635-nx625-series: init at 1.0.1

Things done

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

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

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

More
Tested with my Epson Stylus Office BX525WD wireless inkjet printer with success.

From GrahamcOfBorg-eval log:

access to URI 'https://download.ebz.epson.net/dsc/op/stable/SRPMS/epson-inkjet-printer-workforce-635-nx625-series-1.0.1-1lsb3.2.src.rpm' is forbidden in restricted mode

I have no idea what to do about this.

@GrahamcOfBorg build epson-workforce-635-nx625-series

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: epson-workforce-635-nx625-series
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

No attempt on x86_64-linux (full log)
The following builds were skipped because they don't evaluate on x86_64-linux: epson-workforce-635-nx625-series
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: epson-workforce-635-nx625-series
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

Is there any problem why this doesn't get merged? After all, this is without any comments or failed tests since Oct 22.


fixed the email update displaying wrong information

Resolves #265

DO NOT MERGE THIS YET THERE SEEMS TO BE A PROBLEM WITH THE POPUP FROM THE EMAIL BUTTON NOT BEING DISPLAYED PROPERLY ANYMORE


OPCUASetting of ProtocolSettings error

https://shifu.run/zh-Hans/docs/references/api/edgedevice/

Thanks for the issue!

@111fanyj what's the status of this?

@geffzhang  Fixed, thanks for the issue
closing this issue now