Update main benchmark script

Makes the following changes to the script that runs the main Qibo benchmarks (QFT, variational circuit, etc.):

Disable the possibility to pass nqubits lists. Now each run for different nqubits has to be executed seperately. This is clearer in terms of memory usage.
Improve logging by using simple dicts that are dumped to text files using json. It is also possible to update an existing text file of logs with new logs.
Update docs and example tests accordingly.

I think this script is sufficient to run QFT and variational circuit benchmarks using single device or multi-GPU configurations. We may want to extend the list of available benchmark circuits with more options.
Example bash script for CPU and GPU benchmarks:
FILENAME="logs.dat"
export CUDA_VISIBLE_DEVICES="0"
for NQUBITS in 25 26 27 28 29 30
do
  python main.py --type qft --nqubits $NQUBITS --filename $FILENAME
  python main.py --type variational --nqubits $NQUBITS --filename $FILENAME
done
export CUDA_VISIBLE_DEVICES=""
for NQUBITS in 25 26 27 28 29 30
do
  python main.py --type qft --nqubits $NQUBITS --filename $FILENAME
  python main.py --type variational --nqubits $NQUBITS --filename $FILENAME
done

Example bash script for multi-GPU configurations:
FILENAME="logs.dat"
export CUDA_VISIBLE_DEVICES="0,1,2,3"
python main.py --type qft --filename $FILENAME --nqubits 31 --device /CPU:0 --accelerators 1/GPU:0,1/GPU:1
python main.py --type qft --filename $FILENAME --nqubits 32 --device /CPU:0 --accelerators 1/GPU:0,1/GPU:1,1/GPU:2,1/GPU:3
python main.py --type qft --filename $FILENAME --nqubits 33 --device /CPU:0 --accelerators 2/GPU:0,2/GPU:1,2/GPU:2,2/GPU:3

Optimal accelerator configurations for each nqubits depend on the GPU memory. It is also possible to switch to single precision using --precision single.
I will try to add an additional benchmark script based on pytest-benchmarks to check if the code is simpler and easier to use.

Let me know if pytest-benchmarks works for you, if so, we can write the "script" directly there, otherwise we can push a bash script with some basic setup for the dgx.

Thanks for the review. I fixed the documentation point and pushed an example bash script with the DGX specs in mind. The script contains benchmarks for CPU, GPU and multi-GPU for QFT and variational circuit in single and double precision but different configurations can be tested by adding/removing the corresponding lines.
I am checking pytest-benchmark. I like that it has a default mechanism that logs everything (even machine specs) and that if I understand correctly it executes repeated benchmarks and averages to get the final time, so it should be a bit more accurate. I am just not sure if it can have the flexibility of measuring circuit creation, execution and measurement time seperately like I do in the main.py script. Regardless, I will try to add some pytest benchmarks in a different PR so that both options are available.


New Sample Data

Can someone tell me how to get new sample data to test or upload a new spreadsheet file

yeah


EnDomain–Error 13

When i open the App i get this error

Technical details

iOS Version: 13.5.1
Device: iphone Xr

The next update will provide a more meaningful message for this issue.


feat(webpack-dev-server) Add webpack-dev-server and hot reloading for…

… development

Looks like the Travis build is failing, can we switch the node version inside travis.yml to match cornerstone and cornerstoneTools?


docs: fix typo

Information

Type
Breaking change

Feature/Fix/Doc/Chore
Yes/No

Todos

[ ] Tests
[ ] Coverage
[ ] Example
[ ] Documentation

:tada: This PR is included in version 7.29.0 :tada:
The release is available on:

v7.29.0
GitHub release

Your semantic-release bot :package::rocket:


Indent only content

This ensures that if the first line is empty (or if the source is completely empty) that an indentation is not added to the beginning of the file.

Good catch, thanks


Resizing window leads to threading issue

I have the following test code to demonstrate the issue. Running on macOS 10.14.6 with compose 0.3.0 / kotlin 1.4.30
@ExperimentalTime
fun launchTimer(period: Duration, block: suspend CoroutineScope.() -> Unit): Job {
    return GlobalScope.launch(Dispatchers.Main) {
        while (isActive) {
            delay(period)
            if (isActive)
                block(this)
        }
    }
}

var displayTimer: Job? = null
var start: Long = System.currentTimeMillis()

@ExperimentalTime
@Composable
fun TestResize() {

    val started = remember { mutableStateOf(false) }
    val duration = remember { mutableStateOf("N/A")}

    Column {
        if (!started.value) {
            Button(onClick = {
                started.value = true
                start = System.currentTimeMillis()
                displayTimer = launchTimer(250.milliseconds) {
                    val now = System.currentTimeMillis()
                    duration.value = "${now - start}"
                }
            }) {
                Text("Click to start")
            }
        }
        else
        {
            Text(duration.value)
            Button(onClick = {}) { Text("Test button...")}
        }
    }
}

This small test displays a button to start a timer. After the timer is started, it simply displays the time elapsed since timer was started (in ms) and a dummy button that further demonstrates the issue.
If you resize the window (the number of time the window needs to be resized to trigger the issue is random which seems to point to a race condition sort of bug), then the main UI thread stops refreshing entirely.
This screenshot even captures the button animation stopped in its tracks... The UI is not refreshing anymore

Although a random issue, it is actually very easy to reproduce...

Working on another project, I recorded the behavior in action. Clicking on the button does nothing and it requires resizing the window to make anything happen. You can see the animation running as the window is resized...

We encountered this problem before and thought that we had fixed it.
I was able to reproduce this error again on this example (but only in 2 of 60 runs :) ).
Our OpenGL renderer have some issues which we should fix when we implement Metal renderer.
We are already implementing it and it looks very promising. This issue will most likely be resolved.

@igordmn is it feasible to fix in OpenGL renderer as well?

@igordmn is it feasible to fix in OpenGL renderer as well?

I think it is hard, because OpenGL implementation on macOs has many issues.
OpenGL on macOs is deprecated, maybe we will keep it only for debug purposes?

FWIW: I was able to reproduce a nearly identical behavior (completely different code) on Linux.  This happened after an exception was thrown while DesktopOwners.onFrame was on the stack.  I might speculate that the exception caused the thread/coroutine which was driving the fames to be killed, and then subsequent updates only occur when the window is resized which triggers a repaint as driven from a different source.

I might speculate that the exception caused the thread/coroutine which was driving the fames to be killed

I think you are right, it is because of that.

User can close the window though and open it again.

I do not have any indication that an exception is raised and this is what triggers the problem in my case. If there is an exception, it is definitely not in my code. Is there something I can add to display when such an event occurs? Or a breakpoint I can put in the code somewhere (in the compose code)?

Is the issue fixed in 0.4.0-build175? We switched to Metal renderer in this version.

I just wanted to note that with M4 this problem still exists.

Hmm, what value will be printed in this snippet?
import androidx.compose.desktop.LocalAppWindow
import androidx.compose.desktop.Window

fun main() {
    Window {
        println(LocalAppWindow.current.window.renderApi)
    }
}

If it is Metal then somewhere we have a different bug.

It says "METAL" if I copy/paste your code
That being said:
a) I am using the new experimental Window API (androidx.compose.ui.window.Window)
b) it is definitely less frequent and harder to reproduce, but I saw it several times this morning while working on some new features

Are there any errors in the console when rendering stops?
We have another issue regarding that

No there are none unfortunately. I was really hoping to see something too...

Still the first reproducer should trigger the issue, or the is a new one?

It's a new app I am working on and does not use GlobalScope.

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


wav2vec-u, prepare_audio.sh, wav2vec_extract_features.py, crash when using wav2vec_big_960h.pt

🐛 Bug
When ordered to load https://dl.fbaipublicfiles.com/fairseq/wav2vec/wav2vec_big_960h.pt, https://github.com/pytorch/fairseq/blob/master/examples/wav2vec/unsupervised/scripts/wav2vec_extract_features.py attempts to load a specific file, and crashes: /checkpoint/abaevski/data/speech/libri/960h/wav2vec/raw/dict.ltr.txt
However, when given https://dl.fbaipublicfiles.com/fairseq/wav2vec/xlsr_53_56k.pt, the program does not crash.
Testing indicates that the configuration dictionary in wav2vec_big_960h.pt contains a "labels: 'ltr'" field which, when it gets to checkpoint_utils.load_model_ensemble_and_task() and later audio_pretraining.load_target_dictionary(), may be the cause.
To Reproduce
Given that the steps for setting up the environment for wav2vec-u is its own complicated separate issue (see https://github.com/pytorch/fairseq/issues/3591#), I will simply say that if you have gotten to the point where you can run prepare_audio.sh, you can reproduce this. You can either use the command I did, or run wav2vec_extract_features.py alone (see below)
Command I used: zsh $FAIRSEQ_ROOT/examples/wav2vec/unsupervised/scripts/prepare_audio.sh "$WITHOUT_SILENCES/updated_tsv_for_silences/" $PREPARED_AUDIO_OUT $PRETRAINED_MODEL 512 14
where

FAIRSEQ_ROOT points to a cloned copy of fairseq, commit cdc1a553eb2af4fac720880aff4ee2566a28ad21
WITHOUT_SILENCES is the folder with .tsv and "clips" subfolder containing .wav files.
PREPARED_AUDIO_OUT is the folder I'm outputting to,
PRETRAINED_MODEL points to wav2vec_big_960h.pt

I did manage to get the same error by running wav2vec_extract_features.py directly thus:
python $FAIRSEQ_ROOT/examples/wav2vec/unsupervised/scripts/wav2vec_extract_features.py $WITHOUT_SILENCES --split train --save-dir $PREPARED_AUDIO_OUT --checkpoint $PRETRAINED_MODEL --layer 14

Result in either case:
Traceback (most recent call last):
  File "/home/jovyan/fairseq/examples/wav2vec/unsupervised/scripts/wav2vec_extract_features.py", line 121, in <module>
    main()
  File "/home/jovyan/fairseq/examples/wav2vec/unsupervised/scripts/wav2vec_extract_features.py", line 109, in main
    generator, num = get_iterator(args)
  File "/home/jovyan/fairseq/examples/wav2vec/unsupervised/scripts/wav2vec_extract_features.py", line 78, in get_iterator
    reader = Wav2VecFeatureReader(args.checkpoint, args.layer)
  File "/home/jovyan/fairseq/examples/wav2vec/unsupervised/scripts/wav2vec_extract_features.py", line 40, in __init__
    [cp_file]
  File "/home/jovyan/fairseq/fairseq/checkpoint_utils.py", line 486, in load_model_ensemble_and_task
    model = task.build_model(cfg.model)
  File "/home/jovyan/fairseq/fairseq/tasks/audio_pretraining.py", line 297, in build_model
    model = super().build_model(model_cfg)
  File "/home/jovyan/fairseq/fairseq/tasks/fairseq_task.py", line 324, in build_model
    model = models.build_model(cfg, self)
  File "/home/jovyan/fairseq/fairseq/models/__init__.py", line 96, in build_model
    return model.build_model(cfg, task)
  File "/home/jovyan/fairseq/fairseq/models/wav2vec/wav2vec2_asr.py", line 178, in build_model
    w2v_encoder = Wav2VecEncoder(cfg, len(task.target_dictionary))
  File "/home/jovyan/fairseq/fairseq/tasks/audio_pretraining.py", line 270, in target_dictionary
    return self.state.target_dictionary
  File "/home/jovyan/fairseq/fairseq/tasks/fairseq_task.py", line 41, in __getattr__
    self._state[name] = self._factories[name]()
  File "/home/jovyan/fairseq/fairseq/tasks/audio_pretraining.py", line 181, in load_target_dictionary
    return Dictionary.load(dict_path)
  File "/home/jovyan/fairseq/fairseq/data/dictionary.py", line 225, in load
    d.add_from_file(f)
  File "/home/jovyan/fairseq/fairseq/data/dictionary.py", line 239, in add_from_file
    raise fnfe
  File "/home/jovyan/fairseq/fairseq/data/dictionary.py", line 236, in add_from_file
    with open(PathManager.get_local_path(f), "r", encoding="utf-8") as fd:
FileNotFoundError: [Errno 2] No such file or directory: '/checkpoint/abaevski/data/speech/libri/960h/wav2vec/raw/dict.ltr.txt'

Environment

fairseq, installed with pip install editable from commit cdc1a553eb2af4fac720880aff4ee2566a28ad21
Ubuntu 20.04.2 LTS

conda list output:
# packages in environment at /opt/conda/envs/wav2vecu:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       1_gnu    conda-forge
antlr4-python3-runtime    4.8                      pypi_0    pypi
ca-certificates           2021.5.30            ha878542_0    conda-forge
certifi                   2021.5.30        py37h89c1867_0    conda-forge
cffi                      1.14.5                   pypi_0    pypi
cudatoolkit               11.2.2               he111cf0_8    conda-forge
cython                    0.29.23                  pypi_0    pypi
fairseq                   1.0.0a0+cdc1a55           dev_0    <develop>
faiss                     1.7.0           py37cuda112h7ce9dcd_8_cuda    conda-forge
faiss-gpu                 1.7.0                h788eb59_8    conda-forge
hydra-core                1.0.6                    pypi_0    pypi
importlib-resources       5.2.0                    pypi_0    pypi
ld_impl_linux-64          2.36.1               hea4e1c9_0    conda-forge
libblas                   3.9.0                9_openblas    conda-forge
libcblas                  3.9.0                9_openblas    conda-forge
libfaiss                  1.7.0           cuda112h5bea7ad_8_cuda    conda-forge
libfaiss-avx2             1.7.0           cuda112h1234567_8_cuda    conda-forge
libffi                    3.3                  h58526e2_2    conda-forge
libgcc-ng                 9.3.0               h2828fa1_19    conda-forge
libgfortran-ng            9.3.0               hff62375_19    conda-forge
libgfortran5              9.3.0               hff62375_19    conda-forge
libgomp                   9.3.0               h2828fa1_19    conda-forge
liblapack                 3.9.0                9_openblas    conda-forge
libopenblas               0.3.15          pthreads_h8fe5266_1    conda-forge
libstdcxx-ng              9.3.0               h6de172a_19    conda-forge
ncurses                   6.2                  h58526e2_4    conda-forge
npy-append-array          0.9.6                    pypi_0    pypi
numpy                     1.21.0           py37h038b26d_0    conda-forge
omegaconf                 2.0.6                    pypi_0    pypi
openblas                  0.3.15          pthreads_h4748800_1    conda-forge
openssl                   1.1.1k               h7f98852_0    conda-forge
pip                       21.1.3             pyhd8ed1ab_0    conda-forge
portalocker               2.0.0                    pypi_0    pypi
pycparser                 2.20                     pypi_0    pypi
pykaldi                   0.1.3            py37h14c3975_1    pykaldi
python                    3.7.10          hffdb5ce_100_cpython    conda-forge
python_abi                3.7                     2_cp37m    conda-forge
pyyaml                    5.4.1                    pypi_0    pypi
readline                  8.1                  h46c0cb4_0    conda-forge
regex                     2021.4.4                 pypi_0    pypi
sacrebleu                 1.5.1                    pypi_0    pypi
scipy                     1.7.0                    pypi_0    pypi
setuptools                49.6.0           py37h89c1867_3    conda-forge
soundfile                 0.10.3.post1             pypi_0    pypi
sqlite                    3.36.0               h9cd32fc_0    conda-forge
tk                        8.6.10               h21135ba_1    conda-forge
torch                     1.9.0                    pypi_0    pypi
torchaudio                0.9.0                    pypi_0    pypi
tqdm                      4.61.1                   pypi_0    pypi
typing-extensions         <IP_ADDRESS>                 pypi_0    pypi
wheel                     0.36.2             pyhd3deb0d_0    conda-forge
xz                        5.2.5                h516909a_1    conda-forge
zipp                      3.4.1                    pypi_0    pypi
zlib                      1.2.11            h516909a_1010    conda-forge

Additional context
960h .pt file has labels: 'ltr'
After a while of going back and forth between the two .pt files, I went to https://github.com/pytorch/fairseq/blob/master/fairseq/checkpoint_utils.py#L270, and added some print statements to see what's in there, right before the return statement.

When I load the XLSR 53 pretrained model and look at state["cfg"]["task"] I see that the XLSR one has 'data': '/private/home/aconneau/projects/XLSR/MLS/53bis/', 'labels': None in it.
When I look at the 960h one, I see that it has 'data': '/checkpoint/abaevski/data/speech/libri/960h/wav2vec/raw/', 'labels': 'ltr' in it.

audio_pretraining.py line 176 is where the nonexistent filepath is built
I also note that https://github.com/pytorch/fairseq/blob/cdc1a553eb2af4fac720880aff4ee2566a28ad21/fairseq/tasks/audio_pretraining.py#L176 checks whether labels are None
Also, this is where the actual filepath from the FileNotFoundError originates.
in checkpoint_utils, cfg is set in different ways: state["args"] for the 960h one
Via print debugging, I determined that the 960h one triggers this: https://github.com/pytorch/fairseq/blob/cdc1a553eb2af4fac720880aff4ee2566a28ad21/fairseq/checkpoint_utils.py#L412
whereas the xlsr one triggers this one using state["cfg"] https://github.com/pytorch/fairseq/blob/cdc1a553eb2af4fac720880aff4ee2566a28ad21/fairseq/checkpoint_utils.py#L414

Hello, thanks for sharing, I hava a problem partially linked with yours, its about loading
pretrained russian wav2vec2.0 pt file, from huggingface https://huggingface.co/jonatasgrosman/wav2vec2-large-xlsr-53-russian
My crash log looks like this:
LOG:
File "/home/s.murzakhmetov/bee/fair/fairseq/examples/wav2vec/unsupervised/scripts/wav2vec_extract_features.py", line 119, in <module>
    main()
  File "/home/s.murzakhmetov/bee/fair/fairseq/examples/wav2vec/unsupervised/scripts/wav2vec_extract_features.py", line 107, in main
    generator, num = get_iterator(args)
  File "/home/s.murzakhmetov/bee/fair/fairseq/examples/wav2vec/unsupervised/scripts/wav2vec_extract_features.py", line 76, in get_iterator
    reader = Wav2VecFeatureReader(args.checkpoint, args.layer)
  File "/home/s.murzakhmetov/bee/fair/fairseq/examples/wav2vec/unsupervised/scripts/wav2vec_extract_features.py", line 39, in __init__
    [cp_file]
  File "/home/s.murzakhmetov/bee/fair/fairseq/fairseq/checkpoint_utils.py", line 410, in load_model_ensemble_and_task
    state = load_checkpoint_to_cpu(filename, arg_overrides)
  File "/home/s.murzakhmetov/bee/fair/fairseq/fairseq/checkpoint_utils.py", line 328, in load_checkpoint_to_cpu
    state = _upgrade_state_dict(state)
  File "/home/s.murzakhmetov/bee/fair/fairseq/fairseq/checkpoint_utils.py", line 519, in _upgrade_state_dict
    {"criterion_name": "CrossEntropyCriterion", "best_loss": state["best_loss"]}
KeyError: 'best_loss'

I found (from this  link ) that it happens because of upgrading state dict in fairseq/fairseq/checkpoint_utils.py,  and in my state_dict there are no any meta information about training process, but their advices didnt help me. Should i skip this process?


Ensure that new editors get unique ids

This restores the behavior from when TextEditor was written in Coffeescript and extended the Model class.
Description of the Change
With this change, editors opened after restoring the window state will get assigned IDs starting from max(editor IDs) + 1.
Alternate Designs
An alternative could be to select the lowest available unique ID. This would require a more complicated ID generator, but is certainly possible if a more dense ID space is desirable.
Why Should This Be In Core?
Assuming that editor IDs are supposed to be unique, this is a bug in core.
Benefits
Packages that look up editor instances by ID will be able to resolve to the correct editor.
Possible Drawbacks
I'm not aware of any drawbacks.
Applicable Issues
Fixes #16454.

Thanks for fixing this. Could you add a test?

I'm not very familiar with writing jasmine tests, but I gave it a shot. If someone more experienced could provide guidance, I'd be happy to expand this a bit. I would personally prefer a test that actually checks for uniqueness of all IDs after initializing the workspace with a mixture of deserialized and "fresh" editors. The test I wrote is more a test of the exact bug this PR fixes, than protection against future regressions. I confirmed that it fails before this fix and passes after, at least...

The test looks fine to me. I'll merge this if CI passes.

@fordhurley It looks like your new test if failing on our CI.

Yup, it passed only when run in isolation (atom --test spec/text-editor-spec.js). I just took another stab at it.

Thanks @fordhurley!


APN error on Android devices.

Description
Hi Team,
My app is getting stuck on the Samsung S22 ultra emulator and getting ANR crash reports from bugsnag.
I am running the app on the Samsung S22 emulator API 33 and android version 13.
Thanks,
Version
React-native version :0.63.3,0.68.2
Output of npx react-native info
System:
OS: macOS 12.5.1
CPU: (12) x64 Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
Memory: 404.14 MB / 16.00 GB
Shell: 5.8.1 - /bin/zsh
Binaries:
Node: 17.9.0 - /usr/local/bin/node
Yarn: Not Found
npm: 6.14.9 - ~/Documents/Projects/KhamSoft/Mobile/khameleonApp/node_modules/.bin/npm
Watchman: 2<IP_ADDRESS> - /usr/local/bin/watchman
Managers:
CocoaPods: 1.11.3 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 21.4, iOS 15.5, macOS 12.3, tvOS 15.4, watchOS 8.5
Android SDK:
API Levels: 23, 24, 25, 26, 27, 28, 29, 30, 31, 32
Build Tools: 28.0.3, 29.0.2, 30.0.2, 30.0.3, 31.0.0, 32.0.0, 32.1.0, 33.0.0
System Images: android-30 | Google APIs Intel x86 Atom, android-32 | Google APIs Intel x86 Atom_64, android-32 | Google Play Intel x86 Atom_64, android-33 | Google APIs Intel x86 Atom_64, android-33 | Google Play Intel x86 Atom_64
Android NDK: Not Found
IDEs:
Android Studio: 2021.2 AI-212.5712.43.2112.8609683
Xcode: 13.4.1/13F100 - /usr/bin/xcodebuild
Languages:
Java: 11.0.15 - /usr/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: 17.0.2 => 17.0.2
react-native: 0.68.2 => 0.68.2
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found
Steps to reproduce

When I open the app on the emulator the app is struck and gets an ANR error.

Snack, code example, screenshot, or link to a repository

Can you provide a reproducer? Also there is no trace of React Native in the stacktrace

Hi,
I have tested the textinput component on the Pixel 4(Android 13)API 33 emulator and Samsung S22 ultra(Android 13) remote emulator. The keyboard is freezing and showing app is not responding pop-up on the Samsung S22 ultra emulator while typing. There are no keyboard typing issues with the Pixel 4 emulator. I have attached both scenarios videos for your reference.
Thanks,
https://user-images.githubusercontent.com/90603484/203711912-ae1aa4a1-fd5e-4cc5-8614-a5ba679728e1.mp4
https://user-images.githubusercontent.com/90603484/203712417-4968b82e-9659-42cb-92d0-ed983cf8f104.mp4

related/duplicate of https://github.com/facebook/react-native/issues/35155


Persistant Scene Object References over multiple scenes

I know you're working on a new system to reference scene object in the processes, so I want to describe my case for you to fix it in the refactoring:
Two scenes, one with a process scene object and the other one with a process configuration and a process controller
Referencing the process scene object in the process of the other scene works and the references are kept during runtime as long as both scenes are open (and loaded in the correct order) but as soon as I unload the first scene, all references of the process scene object are deleted and the process is stored without me having control over this.
I want the reference of the process scene object to be kept and restored when reloading the other scene to make scene-overarching processes possible.

Noted, thanks!

What is the reason for this? e.g.:

Do you want to be able switch out the scene with the process scene objects "subscene" with another version of a subscene in Editor mode? So should this only work in Editor mode.
Do you want be be able to load remove subscenes additive while a application is running?

We have documented this use case internally and will keep it in mind.


Create the project tasks for the project

Hello everyone, can we create a project board here to map everything we need to develop and fix?

@asos-craigmorten

Hey @jvmazagao :wave:
Sure, why not! I’ll try and put one together 😄

See https://github.com/asos-craigmorten/opine/projects/1 for the beginnings of the v1 project. I will try to add some more tickets to the project to flesh it out later.
Let me know if this isn’t what you meant!

This is what I meant,  now we can track better the issues, I will take a look in the board.

Project has been fully populated now afaik for what's needed for v1 release 😄
If there is anything you fancy working on then I really appreciate the help! 🚀

@asos-craigmorten  can you give me permission to manage the board? I like to help with the documentation because I'm not very good with deno yet.


我想 - 余盾的博客 | YD Blog

https://devilyd.github.io/2019/10/05/我想/
Every failure is leading towards success.

写的好


Improve Performance of Hidden Entities

We currently have 2 options to "hide" entities (stop them from rendering - i.e. if off-screen/out of camera field of view):

set is_visible field in the Draw component to false
remove Draw component from the entity

I did some testing with a system to check if the entity was within my camera's view (2D camera with center origin):
pub fn camera_view_check(
    mut commands: Commands,
    time: Res<Time>,
    mut camera_query: Query<(&Camera, &Transform, &OrthographicProjection)>,
    mut draw_query: Query<(Entity, &mut Draw)>,
    draw_transform_query: Query<(&Draw, &Transform)>,
) {
    for (camera, camera_transform, ortho_proj) in &mut camera_query.iter() {
        if time.seconds_since_startup > 2.0 {
            for (entity, mut draw) in &mut draw_query.iter() {
                if let Ok(transform) = draw_transform_query.get::<Transform>(entity) {
                    let visual_check = camera.projection_matrix.transform_point3(Vec3::from(
                        camera_transform.value.w_axis().truncate()
                            - transform.value.w_axis().truncate(),
                    ));
                    match ortho_proj.window_origin {
                        WindowOrigin::Center => {
                            if visual_check[0].abs() > 1.0 || visual_check[1].abs() > 1.0 {
                                // commands.remove_one::<Draw>(entity);
                                // draw.is_visible = false;
                            }
                        }
                        WindowOrigin::BottomLeft => {}
                    }
                }
            }
        }
    }
}

I had to add a time check because the program panics if you delete Draw too early (it's a failed assert within wgpu related to removing abandoned assets).
My Tests

Spawn 5000 entities with SpriteComponents
Default values, other than adding a material and setting translation x and y values to random numbers so that entities spread out beyond camera view
Default plugins + FrameTimeDiagnosticsPlugin and PrintDiagnosticsPlugin

Baseline: Rendering Everything
Running the system with those two lines commented out (exactly as shown above):
Diagnostics:
---------------------------------------------------------------------------------------------
fps                                                              : 11.652735   (avg 11.539860)

frame_time                                                       : 0.077002    (avg 0.085608)

Test 1: Set is_visible to false
Running the system with the draw.is_visible = false; line active
Diagnostics:
---------------------------------------------------------------------------------------------
fps                                                              : 17.670094   (avg 17.110662)

frame_time                                                       : 0.057192    (avg 0.060759)

Setting is_visible to false upon creation provides the same results
Test 2: Remove Draw component entirely
Running the system with the commands.remove_one::<Draw>(entity); line active
Diagnostics:
---------------------------------------------------------------------------------------------
fps                                                              : 51.589498   (avg 52.723448)

frame_time                                                       : 0.018147    (avg 0.019235)

Removing other render-related components did not appear to change the fps at all.

Yeah theres definitely a lot of work to do on the performance front. I think Transform gpu buffer construction also plays a role in this.
Off the top of my head, the clear improvements to be made are:

Make "is_visible: false" perf as close as possible to fully removing the Draw component. I'm not quite sure what the core issue is here, but that should be pretty easy to nail down.
Implement instancing: #89
Implement batching
Cut down on redundant work using the new Changed api: #63
Optimize hash functions used: #157
Reduce the amount of hashing in general
Cull objects not visible by the camera (as you're doing in your example above)

I think it makes sense to scope this issue to (1).

I added a PR to resolve item 1 on @cart's list.  A couple checks for is_visible in the render crate improved performance to be on par with removing the Draw component:
Diagnostics:
---------------------------------------------------------------------------------------------
fps                                                              : 54.102264   (avg 53.840505)

frame_time                                                       : 0.018435    (avg 0.018541)

However, there does appear to be a larger issue to resolve here - on a whim, I despawned the entities instead of setting is_visible to false and still got the same fps as above, even though I only had 2 entities remaining.  I know there is already an issue with despawning entities #135, but I didn't get a panic, just removed 4998 entities (printed entity counts to be sure, and they are actually gone) and kept 2 at 53/54 fps.
This is the same as what occurs when you remove the Draw component, and is significantly slower than what you can get just using the ECS features without rendering - I was able to do mutating Transform/Translation/Scale/Rotation on 1 million entities without dropping below 60 fps on my machine.  I think there might be something sticking around when components/entities are removed, which could be causing this performance hit.
Will keep looking into this to see if I can find the root cause, but I'm not totally confident in my ability to do so ;)  Any tips or assistance welcome!

Fantastic! The remaining perf drop is almost certainly the GPU buffers not resizing when entities are removed.

We dont want to resize them every time an entity is removed as that would be expensive. So we should probably use array management techniques similar to Vec implementations.

You don't necessarily need to resize the buffers unless you're short of GPU memory, can just make sure next time you upload data you only upload as much data as you have entities for, should definitely work out the problem, though I imagine this is what you're planning already probably?

A user ran into this issue again today while testing hiding entities to perform tile map chunking: https://discord.com/channels/691052431525675048/743664267856838736/799944389023629322
Spawning and despawning the entities completely resulted in a 3x performance gain over toggling their visibility, which was very surprising to me, but brought along other less desirable side effects.

A user ran into this issue again today while testing hiding entities to perform tile map chunking: https://discord.com/channels/691052431525675048/743664267856838736/799944389023629322
Spawning and despawning the entities completely resulted in a 3x performance gain over toggling their visibility, which was very surprising to me, but brought along other less desirable side effects.

This should be greatly improved by #1492 and related PRs.

Closing as frustum culling is now merged.


9.0.0.rc.3 Cannot upgrade via ng update: Error: The ngcc compiler has changed since the last ngcc build.

🐞 Bug report
Command (mark with an x)

[ ] new
[ ] build
[ ] serve
[ ] test
[ ] e2e
[ ] generate
[ ] add
[x] update
[ ] lint
[ ] xi18n
[ ] run
[ ] config
[ ] help
[ ] version
[ ] doc

Is this a regression?
No.
Description
Cannot upgrade to 9.0.0.rc.3 due circular requirements.
When I run ng update I get an error:
Error: The ngcc compiler has changed since the last ngcc build.
Please remove "/home/harry/Projects/.../users-app/node_modules" and try again.

Now I delete node_modules and try again, I get the following error:
Package '@angular/cli' is not a dependency.

If I run npm i  and run ng update again, I get the same error again:
Error: The ngcc compiler has changed since the last ngcc build.
Please remove "/home/harry/Projects/.../users-app/node_modules" and try again.

I haven't found a way for workaround for this circular requirements.
🔬 Minimal Reproduction
I tried many different variations, but none worked. This is one example:
rm -rf node_modules
npm i
ng update --force @angular/cli@next @angular/core@next

🔥 Exception or Error
UPDATE package.json (2010 bytes)
⠧ Installing packages...
><EMAIL_ADDRESS>postinstall /home/harry/Projects/.../users-app/node_modules/@angular/cli
> node ./bin/postinstall/script.js

><EMAIL_ADDRESS>postinstall /home/harry/Projects/.../users-app
> ngcc --properties es2015 browser module main --first-only --create-ivy-entry-points

Error: The ngcc compiler has changed since the last ngcc build.
Please remove "/home/harry/Projects/.../users-app/node_modules" and try again.
    at Object.hasBeenProcessed (/home/harry/Projects/.../users-app/node_modules/@angular/compiler-cli/ngcc/src/packages/build_marker.js:44:19)
    at analyzeEntryPoints (/home/harry/Projects/.../users-app/node_modules/@angular/compiler-cli/ngcc/src/main.js:86:62)
    at new ClusterMaster (/home/harry/Projects/.../users-app/node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/master.js:40:30)
    at ClusterExecutor.<anonymous> (/home/harry/Projects/.../users-app/node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/executor.js:40:34)
    at step (/home/harry/Projects/.../users-app/node_modules/tslib/tslib.js:136:27)
    at Object.next (/home/harry/Projects/.../users-app/node_modules/tslib/tslib.js:117:57)
    at /home/harry/Projects/.../users-app/node_modules/tslib/tslib.js:110:75
    at new Promise (<anonymous>)
    at Object.__awaiter (/home/harry/Projects/.../users-app/node_modules/tslib/tslib.js:106:16)
    at ClusterExecutor.execute (/home/harry/Projects/.../users-app/node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/executor.js:35:28)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>postinstall: `ngcc --properties es2015 browser module main --first-only --create-ivy-entry-points`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script.
npm ERR! This is probably not a problem with npm.

Package                      Version
------------------------------------------------------
@angular-devkit/architect    0.900.0-rc.2
@angular-devkit/core         9.0.0-rc.2
@angular-devkit/schematics   9.0.0-rc.2
@schematics/angular          9.0.0-rc.2
@schematics/update           0.900.0-rc.2
rxjs                         6.5.3

Anything else relevant?
I think ngcc should automatically overwrite dynamically generated content (presumably created by an earlier version of ngcc itself) during upgrade instead of failing out and asking the user to come up with a workaround.

Hi, can you try to remove the postinsall script for ngcc in your package.json?

Maybe the postinstall script could be removed during the update? Had the same issue, really confusing problem.

yes, removing postinstall allowed me to install 9.0.0-rc3. thanks.

We've opted to not use this postinstall anymore. We added it in the early next/rc versions of Angular 9, but now removed it. Apologies for the churn, you can just remove it now.

I realize this has been closed, but I hesitate to open a new bug until I research more. I'm seeing this same error with rc.7, but rc.6 works fine. Anyone else seeing this issue re-surface in the newest RC?
ERROR in The ngcc compiler has changed since the last ngcc build.
Please remove "/Users/.../node_modules" and try again.

@arobinson upgrading from rc.4 to rc.7 gave me the same error


Replace MouseButton1Click with Activated

Changes
Replaces MouseButton1Click with Activated. Also removes unneeded WaitForChild calls.
Checks
By submitting your pull request for review, you agree to the following:

[x] This contribution was created in whole or in part by me, and I have the right to submit it under the terms of this repository's open source licenses.
[x] I understand and agree that this contribution and a record of it are public, maintained indefinitely, and may be redistributed under the terms of this repository's open source licenses.
[x] To the best of my knowledge, all proposed changes are accurate.

Any update on this?


Debugger should show unescaped strings

Environment data
dotnet --info output:
.NET Command Line Tools (1.0.0-preview2-1-003177)
Product Information:
Version:            1.0.0-preview2-1-003177
Commit SHA-1 hash:  a2df9c2576
Runtime Environment:
OS Name:     ubuntu
OS Version:  16.04
OS Platform: Linux
RID:         ubuntu.16.04-x64
VS Code version: 1.9.0
C# Extension version: 1.6.2
Steps to reproduce

Create a new .net core project with dotnet new
Specify the following main function:

        public static void Main(string[] args)
        {
            var test = @"{""Test"": 123}";
            Console.WriteLine(test);
        }

Put a break point on the last ending brace of the function
Debug

Expected  behavior
It should show the unescaped value of {"Test": 123}. (unescaped)
Actual behavior
Observe the variables and watch window shows the value of the string as "{\"Test\": 123}"
This is important because I"m in the process of writing an application to read and write structured (json) logs and trying to verify some things with the debugger, and it's adding extra steps to verifying the json being output (since I have to manually unescape it in order to pretty print it for verification)
Was told this was an Omnisharp-vscode plugin issue in https://github.com/Microsoft/vscode/issues/20048

@KallDrexx the C# expression evaluator is working as it was designed here -- the evaluator tries to show valid C#. However, you can use the ,nq format specifier if you don't want C#. See https://msdn.microsoft.com/en-us/library/e514eeby.aspx for more information.

Neat, never knew about that thanks.


Not able to make StreamField as blank

I want to keep the streamfield as blank, I have given blank and null as true but then also in admin panel it shows as a mandatory field. What is the way to keep it as non-mandatory field?

Python version: 3.6
Django version: 2.0
Wagtail version: 2.2.2

This was fixed in 2.13: https://docs.wagtail.io/en/stable/releases/2.13.html#updated-handling-of-non-required-streamfields


[Book] Add reference to models repo

We're starting to have more and more models available for our users so it would be nice to add a small paragraph in the book with a link to the models repo.

Probably worth a mention on the website too for those who land there?
I noticed the benchmarks (in this repo, and the separate benchmarks repo) lack any contributed results. It'd be nice if someone could provide one for users to get an impression upfront?

Good idea! We should probably add the models to the README as well, following the examples (which should probably be better enumerated).


Need tag for CDN

Hi,
I would like to add Effeckt.css to the free, open-source, ssl-enabled, super-fast CDN: CDNjs. It is hosted on the Cloudflare Servers and has a GitHub repo here: cdnjs/cdnjs.
I was going to add Effect.css to CDNjs, but I saw that there are no tags. CDNjs requires a tag (e.g. "v1.0" or "1.0") for each library so that when a new library or update come out, the library can be re-uploaded without disturbing the older version which people might prefer or still use. Think of Google's CDN and how it incorporates version numbers into the jQuery URLs.
Would it be possible for a tag to be created? I know this isn't official yet, but I think "1.0.0" would do, and for every small release in the future could be "1.0.1", bigger releases would be "1.1.0", and a massive overhaul would be "2.0.0", etc. A basic version system. Of course, for beta and alpha stages, it could be "0.1.0", etc.
I know it might be a pain to keep up with, but I would be glad to help.
Thanks,
DaAwesomeP

Shouldn't we close this for the time being? This kind of things are more topic to discuss if we ever reach a 1.0.

Didn't hear any complaints so closing for the time being. Feel free to re-open when it makes sense.


Proposal: opt-in opinionated mode

jschon includes three sensible but technically non-compliant checks:

restricting $dynamicRef to plain name fragments (issue #64)
forbidding unnormalized $id values (issue #69)
forbidding even empty fragments in $id in 2019-09 and 2020-12 (also issue #69)

PR #66 simply removes the $dynamicRef check, but the check is only non-compliant if it is on by default.  An alternative could be to offer an opt-in "opinionated mode" that can be configured on the Catalog instance.
I'm suggesting "opinionated mode" rather than "strict mode" because AJV's "strict mode" is problematic and confusing, and I'd advise against anything that sounds like it.  Although I'm not particularly attached to "opinionated mode", it just feels like truth in advertising :-)
I considered referring to this as linting, but because of how references are resolved and loaded, it's difficult to check everything up front as one would expect from a linter.  A mode that raises runtime errors for things that are compliant but viewed by jschon (a.k.a. @marksparkza 😉) as worth excluding would fit the current architecture quite easily.
I don't feel at all strongly about this, it just occurred to me as an alternative to simply removing the checks that the spec technically forbids.

Any global switch for non-compliant behaviour is potentially problematic, because (a) it requires digging into code or documentation to find out exactly what an enabled switch entails, (b) what it entails can change from one release to the next, and (c) it forces non-compliance across multiple spec requirements even if only one such adaptation is needed.
I think any point of divergence between spec and implementation should be addressed on its own merits. In cases where non-compliant behaviour makes sense, this could be enabled with a specific switch (probably a kwarg to create_catalog). This way, application code is explicit about enabling any non-compliant behaviour, and that behaviour can be clearly documented along with the switch that enables it.
We can look at specific switches as part of the above issues/PRs.

@marksparkza sounds good to me - I'd actually prefer not to have such switches for exactly this reason:

Any global switch for non-compliant behaviour is potentially problematic, because (a) it requires digging into code or documentation to find out exactly what an enabled switch entails, (b) what it entails can change from one release to the next, and (c) it forces non-compliance across multiple spec requirements even if only one such adaptation is needed.

I was just sympathetic with some of the technically non-compliant choices and exploring options.  I'm plenty happy to not do anything about it!


Added method to factorize using sieve of eratosthenes

Added another method to factor a number, using sieve of eratosthenes with a little trick i learned here http://codeforces.com/blog/entry/7262.

The variable names need more information, instead of v put what it really does.

I have updated the variable names
This method is based on sieve of eratosthenes, which uses array indexing to mark all the non-primes thus a BigInteger Implementation would be redundant since the maximum size of an array possible(heap size) is around 10^7. The benefit of this algo is its exceptionally small time complexity.

any other changes you want to highlight ?

Thanks, Merged!


Fix vis block

What changes do you make in this PR?
Remove the destroy() in __del__ function. It is not allowed to use destroy in __del__ in the future!
Checklist

[ ] I have merged the latest main branch into current branch.
[ ] I have run bash scripts/format.sh before merging.
Please use "squash and merge" mode.

Oh sh! I merge a similar PR to this one?? #529

OK All fixed

Shall I merge this PR?


Running long queued jobs from dashboard fails due to growing post data.

When a queued job runs from the dashboard, each step creates a duplication of the 'process:1' parameter in the ajax post data. Thus each step of the job passes an additional parameter. If the job has a lot of steps, this duplication of post data starts to become a significant overhead and can even grow to the point of exceeding maximum post size, causing the job to break.
To reproduce:
Go to the dashboard jobs page.
Open the browser developer console, network tab.
Run the "Index Search Engine - All" job.
Watch the XHR requests. Each request adds an additional  'process:1'  to the post data.

I am in the process of a significant rework of the queueing system under the hood, that will likely impact how we do some of these queueing requests on the front-end. When we start worrying about the updates to the front-end we can fix this so that they don't get tacked onto the end.


Convert jasmine tests to test262?

We introduced Proxies and WeakMaps to JavaScript primarily to enable membranes that are both transparent and secure. It is too easy for a flaw to compromise these goals and not be caught by separate unit tests. It would be great to have an entire membrane with its tests in test262 as an integration test, to catch earlier any problems revealed by such integration.
The main bottleneck is probably the work to convert your jasmine tests to test262.

Looking over https://github.com/tc39/test262/tree/master/test, I wonder where membrane tests really should go.  I'd suggest test/integration/membrane/*.js as a destination, because the rest of the test suite is focused on unit tests, not integration tests.


Testing project Functionality

Test cases add for mealDB.js
jest is used for testing the project functionality.
Linter error fixed.
Babel use for import and export syntax.

Status: Accepted ✔
Hey @Hidar37 you are doing a great job, and nothing to say anything rather merged it.
Nice work, Happy codding.
Cheers!


Iterating over chunks that are not terminated by new lines

I would like to iterator over chunks coming from a service, where each chunk is a JSON blob (similar to the example in the docs).  However, in this service, there are no newlines after each chunk.  As a result, it seems that iter_lines only yields one line, which is the entire response (not chunked), and iter_content yields one character at a time.
Is it possible to use this library to stream data from this service?
Thanks!

@Lukasa  http/2 may not call it chunked transfers, but it does have DATA frames as mentioned here: rfc7540. The 'pad length' concept is analogous to chunk size.

@electronicsguy pad length is not analagous to chunk size: it is how much padding is attached to the frame.
More importantly, again, DATA frames are not semantic and should also not be exposed to users.

@Lukasa   oh I see. Thanks for clearing that up about lad length. But I don't understand why DATA frames are not analogous to chunking. It is in-fact mentioned in this mailing list that it is the case, at least logically: http/2-chunking. Even in the case of http/1.1, chunked transfer encoding is not visible to the users since it is at the transport layer. So when you said above that chunked encoding is an artefact of http/1.1 and not present in http/2, I'm not able to understand how that is.

@electronicsguy So the short answer is that we're in agreement. Note again what I said:

Note also that chunked encoding is an artefact of HTTP/1.1 and is not present in HTTP/2. That may be an argument against exposing it in requests: it's obviously a transport-level detail.

That sentence can be rephrased as:

Note that because chunked encoding was removed in HTTP/2, it is clearly not a semantic part of HTTP, as HTTP/2 was required to keep a one-to-one semantic mapping to HTTP/1.1. For this reason, we should probably consider not exposing the chunks: they aren't supposed to have semantic meaning to the user.

This is of course backed up by all the relevant RFCs. It's also the course we're taking in the urllib3 v2 work: the boundaries of data chunks are not being exposed to users.


Do we still need the "packet-cloud-config" secret?

@displague & @thebsdbox :
Do we still need the packet-cloud-config? The CCM now references metal-cloud-config I just kept this to be compatible with the older version of Kube-VIP. Since Kube-VIP is now updated to the latest... Is it still needed.
https://github.com/equinix/terraform-metal-anthos-on-baremetal/blob/79169cdcbbd39efeea2ba14bf693570b0e5d85dc/templates/ccm_secret.yaml#L15
It looks like we're deploying the Control Plane Kube-VIP pods by providing the creds directly:
https://github.com/equinix/terraform-metal-anthos-on-baremetal/blob/79169cdcbbd39efeea2ba14bf693570b0e5d85dc/templates/kube_vip_install.sh#L36
We're still referencing this secret in the DS here:
https://github.com/equinix/terraform-metal-anthos-on-baremetal/blob/79169cdcbbd39efeea2ba14bf693570b0e5d85dc/templates/kube_vip_ds.yaml#L85
I think at a minimum we can replace the packet-cloud-config with metal-cloud-config in the kube_vip_ds.yaml.
And i think at that point we should be able to remove the packet-cloud-config secret all together, but I'm not 100% sure...

It looks like we're deploying the Control Plane Kube-VIP pods by providing the creds directly:

The API loadbalancer static pod doesn't have access to configmaps or secrets.

We're still referencing this secret in the DS here:

We should update that packet-cloud-config reference to metal-cloud-config in the loadbalancer daemonset.

And i think at that point we should be able to remove the packet-cloud-config secret all together,

👍


Wallpaper not available

On the latest version on the marketplace (12.2.2), the stickers option are available, but the background options don't show up when pressing Ctrl+Shift+P. I've reverted to version 12.2.1 and it works properly.
Steps to reproduce

Install latest version
Try to install a background
No background options

Environment
Version: 1.56.2 (user setup)
Commit: 054a9295330880ed74ceaedda236253b4f39a335
Date: 2021-05-12T17:13:13.157Z
Electron: 12.0.4
Chrome: 89.0.4389.114
Node.js: 14.16.0
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.18363
Doki-Theme version: 12.2.2
Just wanted to let you know; I'm fine with running the previous version, it's probably a bug on my machine.

That's curious, so on 12.2.2 you don't get these?

I'll have to check later on my windows machine.

Exactly, only the sticker options show up (as well as remove stickers and changelog).
I tried uninstalling and reinstalling it before installing the previous version.

@Raesangur Could you try again? I've got v13 published.

I think I might have found the issue.
On the marketplace, it states that the current version is v13.0.0.

But when I install it on Windows, it instead installs v7.1.0

That's weird, have you tried updating VSCode?
This is the version I am running
Version: 1.57.0
Commit: b4c1bd0a9b03c749ea011b06c6d2676c8091a70c
Date: 2021-06-09T17:18:42.895Z
Electron: 12.0.9
Chrome: 89.0.4389.128
Node.js: 14.16.0
V8: <IP_ADDRESS>-electron.0
OS: Linux x64 5.4.0-74-generic

I've updated to 1.57.0 and it works now!
It properly installs v13.0.1 and wallpapers are available!
Version: 1.57.0
Commit: b4c1bd0a9b03c749ea011b06c6d2676c8091a70c
Date: 2021-06-09T17:18:42.354Z
Electron: 12.0.9
Chrome: 89.0.4389.128
Node.js: 14.16.0
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.18363
Thank you!


Only show the most recent (non-empty) data set

On the research data page we want to only show the most recent non-empty data set for each source.

Can be closed when #312 is completed.


DRILL-5125: Provide option to use generic code for sv remover

Performance tests showed that, for queries with a large number of
columns, it is faster to use a “generic” implementation of the
selection vector remover “copier” than to use a generated version.
This PR provides "generic" versions of the SV2 and SV4 copiers
used by the selection vector remover. The generic forms are
enabled using a new boot-time config parameter that is disabled
by default (preserving the traditional generated code.)
The generic form relies on a "virtual function" (really, just a
plain Java function) defined in the base ValueVector class and
implemented by each concrete vector: both the pre-defined and
generated forms. This form "does the right thing" for the copy
operation so that we don't need to generate code just to handle
the method dispatch operation (which Java does quite well on its
own.)
A unit tests validates that the generic form works by runing
the existing SV remover tests with the generic option turned on.
See the DRILL-5125 for details.
Add test

Let's do more research on this one. Closing for now since that research is not a priority at the moment.


With MBEDTLS_NET_C component enabled, need to make sure all the relevant mbedtls test code are fully enabled.

mbedtls has several test programs or samples in various directories. The options enabled are listed in config.h. With MBEDTLS_NET_C enabled, networking I/O routines are enabled in enclaves and hence several tests can now be enabled.

Trying to capture the places that the mbedtls tests reside at:

3rdparty\mbedtls\mbedtls\tests
test_suites (Being run) - The various test_suite_XXX programs from this directory include test cases (reference test vectors, sanity checks, malformed input for parsing functions, etc) for all modules except the SSL modules.
compat.sh (Not run) - This script checks interoperability with OpenSSL and GnuTLS and mbedTLS for every common ciphersuite, in every TLS version, both ways (client/server), using client authentication or not. For each ciphersuite/version/side/authmode it performs a full handshake and a small data exchange. I don't see a need to run this now or later.
ssl_opt (Not run) - this script checks various options and/or operations not covered by compat.sh: session resumption, renegotiation, SNI, etc. I don't see a need to run this now or later.

3rdparty\mbedtls\mbedtls\programs\test
selftests (Being run) - This runs the XXX_self_test() functions of each individual module. Most of them are included in the respective test suite, but some slower ones are only included here.
ssl_cert_test.c (Will not be run) - SSL certificate Functionality certificates => Created a new test infrastructure for this but this test does not come with test certificates and these will need to be generated. Since, we have several other tests that generate certificates and are time consuming, team consensus was to abandon this test.
udp_proxy.c (Not being run) - Emulates an unreliable UDP connection for DTLS testing
benchmark.c (Not being run) - Benchmark demonstration program. No plans for running this.

3rdparty\mbedtls\mbedtls\programs\ssl
The following sample SSL client/server tests can be converted to enclave tests. ssl_client1.c and  ssl_client2.c were converted to tests by @mikbras and reside in the IO2 branch. This issue will get the working ones in the master.

My recent updates:

Created new test mbedssl which uses ssl_server.c and ssl-client1.c. However, ssl_server.c requires MBEDTLS_FS_IO to be enabled in config.h. This is not yet enabled in master and so cannot get into Release 0.6.
Created new test mbedssl which uses ssl_server2.c which does not have dependency on MBEDTLS_FS_IO. However, this test is failing.

@jhand2 With the Windows socket changes, can you take a look and see whether we're in a position to enable these tests uniformly across OS platforms now? IIRC, one of the blockers was the lack of equivalent Windows support breaking build.


Updated SSO topics for all IdPs

Ported content and images  from CF1.0, restructured topics

[CI] Staging environment is at http://cap-staging-docs.codefresh.io.s3-website.us-east-1.amazonaws.com/nima-cap-collaboration/docs/


Add Arc MIAA delete action back

Made azdata-ext.d.ts into module for better importing
Cleaned up some stuff related to namespace since it's currently not supported to have resources across multiple namespaces
Made fix so that controller tree is updated when a MIAA instance is deleted

Coverage decreased (-0.09%) to 40.268% when pulling 82cddf7ee6683b0bc70bf9aa54e6e89cf8da2c8a on chgagnon/miaaDelete into b2a1738836d250e54814fae556b9160674e7f87c on main.


Last line of CustomUser.save() never reached

This is odd, I can't see why this would be unless there is logic which is obscured by exception handling here?
The line should at least be tested to ensure that self.profile works (or the line should be discarded if it genuinely isn't required)

Not sure if this should be an urgent issue or not. Tagging urgent for now, with the intention of reviewing later.

Maybe this was due to other tests failing. This doesn't appear to be the case any longer. Closing.


Update base image to Alpine 3.8

Missing LibreSSL patch, see https://github.com/docker-library/httpd/issues/103#issuecomment-431000011

Ok, let's revisit this if/when upstream backports that fix.


Please add SCA

Good outline. However SCA should be integral part of DevSecOps within your pipeline.
For example WhiteSorce / Mend should be the one. For Reference:
https://www.mend.io/resources/blog/software-composition-analysis/

@TosoBoso , could you please help with the link to the document on which the above document feedback request is created.
In case your query is not related to document content, open a new forum thread in Microsoft Q&A or Stack Overflow as it could be better place to get help on your scenario. These forum community members could provide their expert guidance on your scenario based on their experience. Thanks.

@TosoBoso , request you to share the link to the document on which the above document feedback request is created for further discussion on this issue.

@TosoBoso , Since we have not heard back from you, we will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Proposal: IBA/IBE/ICE refactor

Here is the outline of what I would change. I'll rewrite definitions if there is consensus that these are the changes to make. There are further changes I would make, adding axioms and additional classes, but this is the bare minimum.
IBAs that make more sense as ICEs

Barcode and subclasses
Book
Certificate
Database
Document
Image, Chart
Information line (unless you are talking about things like the touch bar on a macbook)
Journal article
List, Code List
Message and subclasses
Spreadsheet
Video

Rearrangements:
Book, Journal article to be subclass of Document. I'm unsure whether
spreadsheet should also be but lean that way. Document, I think, connotes a whole. Images
and Charts may be documents, but also may be only parts of documents.
Rename
Document Form -> Form Document. The label makes it sound like a part of document.
Material artifacts
Some of the above are sometimes interesting as physical items, things
you would track copies of.
Book Artifact: Material artifact and is carrier of some Book
Document Artifact : Material artifact and is carrier of some Document
An alternative would not to define them and just have material
artifact instances and relate them to what they carry, in the RDF.
remaining IBA classes
Timekeeping Instrument with subclass System Clock, Instrument Display
Panel, seem to me to be Information Medium Artifacts.
IBE
Document Field: Move to ICE. Add axiom: continuant part of some Document
Deprecate IBA.
The distinction between IBE and IBA is minor and IBE is more general. It's arguable whether
a tree with a carving "A heart L" is an IBA, but it is clearly an IBE.
Properties whose domains or range is IBE
Deprecate the 'has  value' properties like 'has text value' in
favor of a single 'has value' property. That would include all data
properties other than: 'has latitude value', 'has longitude value', and
'as WKT'. The typing of the relation is unecessary - the type information is available from the value, and restrictions could be added to constrain types where relevant.
In the below relations, change IBE to ICE in domain or range

is excerpted from (both). Consider Document as D/R, else ICE, but I think that too broad.
is geospatial coordinate reference system of, uses geospatial coordinate system
is measurment unit of, uses measurement unit.
is reference system of, uses reference system
language used in,  uses language
time zone identifier used by, uses time zone identifier

is_tokenized_by
Deprecate and suggest has value instead.
Logistics
The proper thing to do is to deprecate old terms and create new terms
where there is a significant change, like IBA->ICE. The alternative is
to keep using the same IRIs, but this risks cases where domain
ontologies have specialized below the top-level classes. So specializing
Document will be fine in the switch, because a subclass of Document will
remain a subclass of Document in the switch. However, if a new direct
subclass of IBA is created, that won't move, as the proposal does not
include equating ICE with the old IBE.
For rearrangements, such as putting Book and Journal article below
Document, the potential damage is less, and in such cases the terms do
not need to be deprecated.
There will be a mapping file from english name IRIs to numeric IRIs. I'd
suggest that the old classes not be included in that mapping, but a
supplementary information mapping that maps deprecated terms to
alternatives be included as an adjunct.

@alanruttenberg I agree with most of your proposal. I'm not convinced about barcodes. Barcode subclasses do seem to be more about standards than about material artifacts. However, someone went to the trouble to add them to CCO, presumably because they thought that level of detail would be useful. Class Code 93 Barcode has its uses as formulated. Members of the class are individuals that conform to the Code 93 standard. Formalizing that standard as a subclass of Directive Information Content Entity is also useful, but I'm not prepared to advocate for eliminating the class hierarchy under material artifact as well. I would:

Keep class Barcode where it is.
Create a hierarchy under Directive Information Content Entity, using labels like "Codabar Barcode Specification".

In the course of composing this reply, I've begun to wonder why CCO has this much detail on barcodes. Can anyone supply some history? I would be open to moving subclasses of Barcode to a separate module.

I agree with the general point about moving the focus to ICEs and refactoring classes.
I dislike spreadsheet being a subclass of document, as I wonder whether that would entail that a lot of other types of databases end up being documents alongside spreadsheets, and that doesn't sound right to me.
Can you elaborate a bit on the logistics regarding existing extensions of CCO? I am thinking about cases such as the Cyber Ontology, where a lot of development has been done under the IBA side of the hierarchy. If I understand correctly, you are currently suggesting that direct children of IBA are not necessarily moved?

@alanruttenberg  Thinking from an information systems design perspective, "Document serving" is the basis of most of what happens on websites, emails, messaging systems.  Document servers handle discrete packages rather than streaming services, for example. Anything that is served on a document server system would be related to a "Document." When we see streaming on a website, the website document is providing a place saver to serve streaming content from a streaming server.
So when a Document is defined in a top level or midlevel ontology, it has deep technical meaning to the digital system designers around the world dealing in document server systems.
For those who deal with the physical world, a document is a discrete, portable artifact used to share information about something.  There are identity documents, license documents, etc.  But there are also various publications, reports, etc...
For the record, information systems design handles how humans interact with both digital and physical information processing technologies :)
There is no doubt in my mind that a spreadsheet is a document in the digital or physical world because it has content (Body), a beginning (Header) and an end (Footer); communicates information having a particular data architecture or content and is portable for sharing on paper or electronically.

@giacomodecolle I don't follow the Cyber ontology, but if they are building out under CCO's IBA they are likely making the same conceptual error that we see in CCO. In my proposal I do indeed suggest deprecating most classes of IBA, and I would suggest that, to the extent that the Cyber Ontology builds under IBA, once the change to CCO is made, they appropriately update their ontology, or remain using an earlier version of CCO.
Consider 'Email Message'. The sense of that term under IBA would have to be a particular piece of paper with the message written on it. It's highly unlikely that that's the intended sense in almost any ontology that has subject matter regarding email messages. Most phishing emails, for example, have no power in their printed form and instead rely on clicking a link on what is effectively a concretization of the message that is currently being presented on any of their screens.
So keeping the term, and having an ontology keep using it, would mean supporting the likely incorrect use of the term. And, once people start using the proper ICE term we would have interoperability problems, with some ontologies using the IBA term and others the ICE term.
My proposal did suggest keeping a couple of terms (and perhaps other of similar nature) like Material Book, or Material Document, to mean those sets of printed pages, because sometimes the physical artifacts are tracked and so these terms would be useful.
Should developers of the Cyber Ontology or others affected by this change wish to discuss this in more detail, I'd be happy to do so.

@swartik #561 suggests factoring out most barcode classes into a separate domain ontology. I don't agree with you regarding barcode typically denoting a physical object. The "same" barcode is printed on e.g. all the local brand 1% milk at my store. There would a stronger argument for RFIDs having an IBA sense, as each is unique, as well as an ICE sense for the indentifier.

@alanruttenberg, what you describe is something that I've never seen explicitly stated in CCO, or in BFO for that matter. Please correct me if I'm wrong.
You're right that the same barcode is printed in lots of places. The images on each carton are physically different only because they are made with different ink.
For two barcodes on two milk cartons, the difference is trivial and maybe not worth the effort.  Are two cartons of milk of the same brand and fat percentage represented by the same individual? Are two printed copies of the same book represented by the same individual? Are two cars of the same make and model represented by the same individual? To take the example to a (fictional) extreme, are our Earth and the Earth in the Star Trek episode Miri represented by the same individual?
There is a case to be made for answering yes to all of these questions. As usual, it depends on what one's ontology is trying to express. Does CCO (or BFO) have a position on whether every physically distinct entity is a different individual? Does the answer depend on the class, and if so, what's the distinguishing characteristic?
My personal viewpoint: I wouldn't want to represent every single printed barcode as a different individual because I can't see the need to state that ink batch 1 was used to print barcode 1 and ink batch 2 was used to print barcode 2. But, should I want to express that a carton of Safeway Brand 1% milk has a particular barcode, I'd do it by:

Creating a barcode artifact subclass I didn't expect to populate, placing subclass restrictions on the class about the patterns any member of the class must bear, and the ICE it is a carrier of.
Creating a restriction on the Safeway Brand 1% milk class stating that every member must have an individual of the barcode artifact subclass as a part.

I'd use this approach for books, cars, and planets.
But as I say, if CCO already has another approach, let me know.

@swartik To be clear: Both the material artifact and the ICE exist. Both could be part of the ontology. What differs is the sort of thing one says about all of them. To some extent this is a matter of good taste in ontology development. As a practical concern, having both terms will confuse people who aren't completely clear on the distinctions between the two. Most of the things that will be said of a barcode, will be said of all barcodes with the same form. For instance, the pattern of marks, who originated it, what it denotes. There is very little to say about an individual bar code. The sort of thing we would say about a material version is that this one on this milk carton is smudged.  Since it seems to me that it is vastly more common to want to say something that is true of all the barcode, the subject would be the ICE, which captures the regularity.
So when I see this situation, I vote for ICE representation as primary. In the rarer material usage, one can always define the class: Artifact and bears some bar code.
In a few cases the material is as important as the ICE, because it is not uncommon to track specific copies. For example, we track a  specific physical copy of a book in a library. In classified settings, how physical copies of reports are to be distributed is constrained and it isn't uncommon to track each individual. So for a few select classes (Books, Documents) I suggest we do also have the material term.
I don't understand what you mean by  "I didn't expect to populate" - maybe: you don't plan to specifically assert statements like x rdf:type barcode artifact? You should consider such a situation a mark against representing something. It isn't determinative, but one is often (properly) drive to define classes because there are instances of them that are of individual importance. Sometimes we don't plan to directly instantiate, but that happens usually for more general classes - middle classes in an ontology. The barcode you describe will not be that sort of class.
You are also missing out that the barcode is about something, namely some class of Safeway Brand 1% milk. Just because we know every member of a class has a part of a certain class, doesn't mean we know what the relationship between them is.
Since I think we can say everything of importance by reference to the ICE in this case, there's also an argument that your choice of representation is more complicated than it need be.

As an example of confusion, one might represent, in CCO an email message as an IBA instance, asserting there was an author of that message. But that makes an assertion about exactly one physical copy or while-on-screen copy of the message, not all of the messages with the same content. But the author statement will be true of all the copies. Therefore it should be an assertion on the ICE.


gnome.fragments: init at 1.5

Motivation for this change
Fixes #132316
Things done

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

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

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Oops, didn't see the other PR before starting on this one. This may be a duplicate of #132819

Result of nixpkgs-review pr 134007 at 9915d402 run on x86_64-linux 1

7 packages built successfully:

dht
gnome.fragments
libtransmission
libutp
transmission
transmission-gtk
transmission-qt

2 suggestions:

warning: meson-cmake
Meson uses CMake as a fallback dependency resolution method and it likely is not necessary here. The message about cmake not being found is purely informational.
Near pkgs/desktops/gnome/apps/fragments/default.nix:51:3:
   |
51 |   nativeBuildInputs = [
   |   ^

warning: unclear-gpl
gpl2 is a deprecated license, please check if project uses gpl2Plus or gpl2Only and change meta.license accordingly.
Near pkgs/applications/networking/p2p/transmission/default.nix:136:5:
    |
136 |     license = lib.licenses.gpl2; # parts are under MIT
    |     ^

If this stable version is working, we should merge this one since my PR is for unstable version 2.0 and I'm not sure when it gets released :)

Tested it with nixpkgs-review pr 134007, builds fine and is working as expected :)


adding in a tutorial re enhanced permissions

Pull request checklist
Use the following template to make sure your PR fits the GoQuorum documentation standard.
Before creating the PR
Make sure that:

[x] You've read the contribution guidelines.
[x] You've previewed your changes locally.

Describe the change
Added a tutorial re enhanced permissions to the quickstart
Impacted parts

For content changes:

[x] Documentation content
[ ] Documentation page organization

For tool changes:

[ ] Build and QA tools (e.g., lint)
[ ] MkDocs templates
[ ] MkDocs configuration
[ ] Python dependencies
[ ] Node dependencies and JavaScript
[ ] GitHub integration

After creating your PR and tests have finished
Make sure that:

[ ] You've fixed any issues raised by the tests.
[ ] You've previewed your changes on GitHub Pages

Closing because this is superseded by https://github.com/ConsenSys/doc.goquorum/pull/223.


Gatsby Source Plugin - Rebranding to Kentico Kontent

Hi @Simply007 !
We've just renamed Kentico Cloud to Kentico Kontent. We are in the process of renaming all SDKs, developer tools, and sample apps. Please consider renaming your project (code: namespaces, classes; repo, wiki, GH topics, etc.) to Kentico Kontent. See the guidelines at https://gitter.im/Kentico/Kontent?at=5d8b643d692d464f7969c6d9.
Thank you!

Rebranding completed and the beta version released:
#72
release info

Rebranding completed and the beta version released:
#72
release info

Rebranding completed and the beta version released:
#72
release info


Add tutorial

Not all features are fully functional...

Regarding the timeout, this is a "hardcoded" value somewhere in the flask app. We can think about what is a good value for there, but in general either the service is quick or it is asynchronous, but it should not use long awaiting HTTP queries for that. (As far as I understood it will anyway change with the architecture refactoring)
The provided notebook images will be modified to directly login. I just took the plain jupyter and rstudio for the moment.


Feature request: First results should cover the whole table view without "loading..."

Run an example on iphone 5s simulator and do nothing more. You see the following stages:
1)"Loading..."
2)some values and "Loading..."
3)more values without "Loading...".
What about to replace 2 with 1? I mean showing single "Loading..." label until you get a data that can fulfill at least the whole table height

Hi Gerchicov-bp,
What I assumed you want to show data more than tableview height. Well, it depend upon your service request. In actual service probably you send parameters, page size, pageNumber etc page size determine number of items fetched in one service call. You can do that simply by increasing pagesize in FakeService.swift. Right now pagesize is 10 so service is fetching data 10 by 10 in each call.
Hope this will clear you understanding.

@AfrozZaheer hello but it won't solve the problem:

different devices have different table height. The same page size for ipad pro and iphone 5?
on app launch the control is empty and first data batch is needed to fulfill the control with any data
You can also check app store with tables of dynamic size - they don't have items and "Loading" simultaneously until you scroll them. And it seems their pages are all of different size - not only the first one

Hi gerchicov-bp,
There are two ways to do that,

You know the cell height and table view's frame height so you can calculate the number of rows and set it as pageSize, so that user won't see the 'loading' view.

increase the page size to a large value like 20 or 25 so that 'loading' view will not be shown to user

I will recommend simply make page size a large number as discussed above in point#2, which is much easy way to achieve what you want.
Thanks & Regards


Adding license info to the Gemspec.

I'm working on the open source project VersionEye. If the license info is in the gemspec it will be published via the RubyGems API and that makes it easier for VersionEye and other OS vendors to fetch the actual license of the project.

:+1:


shareon v2

shareon becomes a rather small, yet breaking update. I was not pleased with the dev infrastructure and the abundance of files, so I decided to make the project slightly more opinionated. The changes include:

BREAKING: shareon supports only modern browsers now. The code I write is mostly ES6, and no transpiling is being done.
BREAKING: main distribution format is now ESM, even for browsers. CJS is gone.
BREAKING: noinit variant is gone. shareon will always auto-init
switched from a clunky Rollup config to esbuild and PostCSS
switched from many source files to just two: vanilla CSS and JS
added type definitions for the shareon() function (it's abundant, but brings good PR)

Even with those additions, shareon still works in 95% of the browsers used nowadays, and this number is expected to grow. As a bonus, I don't get burned out trying to figure out how to build libraries for web.
I will test the package before releasing it (expected date: Aug-Sep 2021). After the release, v1 will get no updates.

I have migrated this project to Codeberg, and a new v2 release is underway. Check https://codeberg.org/kytta/shareon/pulls/9 for the new v2 PR.


Support for active and inactive classes

Support for active and inactive classes, kinda like Custom Classes for ReactCSSTransitionGroup in React v0.14.
<Tappable classes={{active: css.itemactive, inactive: css.item}} ......

A necessity when using 'css modules' where every classname becomes unique.
https://github.com/css-modules/css-modules

Thanks @rudin! Do you think that separate props for `activeClassName

Just released this with v0.7.2 :+1:

Great! that's just what i needed. So, should I use activeClassName or  classes={{active: css.itemactive}} ?

classes={{active: css.itemactive}}


feat: Support GA4 - Google Analytics 4 properties

Summary
Google Analytics has just released a new version, named GA4(Google Analytics 4 properties).
Those javascript has been changed.
So would you upgrade to support this new version?
Meet the next generation of Google Analytics
Motivation
The current jeklly configuration works great. But when I upgrade my GA to GA4 on GA website, the tracing data would missing obviously.
Guide-level explanation
The current config tag is google_analytics: UA-TRACE-ID.
Maybe add another tag, such as google_analytics_4: G-TRACE-ID.
Reference-level explanation
it's easy to upgrade, by Google's guide.
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-TRACEID_XXX"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'G-WY4HPW1HYT');
</script>

Drawbacks
none.
Unresolved Questions
none.

Can someone help me understand how to fix this by adjusting _includes files?
I tried the following approach

go into gem folder and edit analytics.html file
update code there with new script
rebuild with bundle exec Jekyll build

sadly I don't see any changes.
I am new to Jekyll / Ruby and appreciate any guidance.

#561 is the right answer.


Unikrig(...) | Undesired behavior in different float precisions

Hi,
Sorry I'm here to bother you again. I'm noticing some anomalous, or say, undesired behavior of the unikrig() function when changing the float precision for the inputs. I first noticed it when working with my project data; unfortunately I cannot share it with you due to restrictions from the data provider. However, I managed to recreate the situation by slightly modifying the example code you've put in the "Documentation" section.
# create some data
import Distributions: Gamma
srand(0);rand(Gamma(2.0))
dim, nobs = 3, 1000
X1 = rand(dim, nobs); z = rand(nobs)
X2 = convert(Matrix{Float32},X1)
X3 = convert(Matrix{Float64},X2)

# target location
x₀ = rand(dim)

# define a covariance model
cov = GaussianCovariance(1.,1.) # sill and range

# estimation
μ1, σ² = unikrig(x₀, X1, z, cov=cov)
μ2, σ² = unikrig(x₀, X2, z, cov=cov)
μ3, σ² = unikrig(x₀, X3, z, cov=cov)

(μ1, μ2, μ3)

(2.198385878270528,1.843946672568211,-2.185270204569795)
Note that each of the three predicted values are different.
Regarding μ1 and μ2:
X1 is of type Matrix{Float64}. Truncating the precision to Float32 for X2 implies X1 != X2, and therefore,  we can expect that μ1 != μ2. However, the user should generally be aware of such a possibility.
Regarding μ2 and μ3:
The difference between these two is problematic. Increasing the precision of an existing float from 32 to 64 bits doesn't change the value (X3 should be equal to X2, except for additional 0's at the far decimal places). Therefore, the difference between μ2 and μ3 seems like a bug!
I did some preliminary troubleshooting. I think this problem has to do with the following statement (and probably others similar to it):
g = Float64[γ(norm(X[:,j]-x₀)) for j=1:n] # line 100 (kriging.jl)
The code γ(norm(X[:,j]-x₀)) for j=1:n may not yield the same values when X is float32 or float64. Please look into this issue when you've some time. Thanks.

Hi @masiddique, this is definitely a bug, thank you very much for catching it. I will spend some time looking into it, please let me know if you have a fix in mind.

I have poured in some effort. The most I've figured as yet is the fact that the condition number (CN) of the matrix Γ (in unikriging()) is coming out very large (on the order of > 10) which explains the sensitivity to floating points truncation. I think we should add a flag to see whether the CN is greater than a PRESET_THRES anyway, so the user is warned; however, for an example as simple as above, it's difficult to live with it!

That is a very good point, also notice that the problem of Float32 vs. Float64 is manifested in all Kriging variants: simple, ordinary and universal.
For simple and ordinary Kriging the system should be better behaved given that the covariance C is used directly instead of the variogram Γ. However, by increasing the number of observations from 100 to 1000 I get the same inconsistency that you raised about the unikrig results.

Meanwhile, if you are calling the estimators inside of a loop like in a sequential simulation, you can try to restrict the neighborhood of observations and check if the error is alleviated.
I rewrote the estimators so that you can use them in a loop without building the Kriging system every time a new location is targeted. The API changed a little, you can check an example in the README.
I will continue debugging the Float32 vs. Float64 issue, see if we can do something about it.

That's great. I'll check these out. Thanks

Added more tests for the Kriging estimators, all of them are passing: https://github.com/juliohm/GeoStats.jl/blob/master/test/runtests.jl
If you have other tests in mind that could rule out possibilities, please let me know.

I finally had a break to look into this again. The issue is now fixed in the master branch and I will tag a new release soon. It had to do with the linear solver triggered by Julia. I am now forcing a factorization explicitly (either Cholesky or LU depending on the Kriging variant).


Web Interface logs are missing lines

Hi,
When I run my application with Guvnor and use:
guv logs myapp
I can see all lines that I expect when I would be when running my app manually.
But when looking at the logs from the web interface I see that some lines are missing and others are printed in a seemingly random way.
What's going on here?

I think it might be related due to my process being extremely CPU intensive, that might be causing the lines to not show up in the weblogs? However I had no such issues with PM2-Web...

If you run your app manually and are writing to stdout or stderr via console.log or whatever, this is a synchronous blocking operation so will work as you expect.  When run under guvnor the logs get sent as events from your process to the daemon.
If your app is doing a lot of very CPU intensive work it's possible you are blocking the event loop so these events will stack up and never be emitted.
If you structure your app to do discrete packets of work with promises or the async library or generators or whatever, it'll give the event loop a chance to run between chunks of work and your logs should appear as expected.

I'm using Winston as a logging library and am also logging to disk with Winston (all sync). I added a small queue between log messages of 50 ms between messages to give the event loop more chances to run. Now everything seems to appear in Guvnor. Still strange that this used to work perfectly in PM2-Web...


Where should I place the matchstick binary?

When I run graph test, I am supposed to be downloading the binary to a certain location, however the network of my dev laptop is not great 🤷
$ graph test -- -c
Downloading release from https://github.com/LimeChain/matchstick/releases/download/0.4.0/binary-macos-10.15
Error fetching release: read ECONNRESET

But I am able to download the binary by clicking into the link https://github.com/LimeChain/matchstick/releases/download/0.4.0/binary-macos-10.15.
However I am not clear where should I locate the binary in order to proceed. Any help?

Depend where graph-cli is installed.
For globally installed graph-cli:

If you use nvm:  /Users/<user>/.nvm/versions/node/<node_version>/lib/node_modules/@graphprotocol/graph-cli/node_modules/binary-install-raw/bin/<matchstick_version>/

For the locally installed graph-cli: /node_modules/binary-install-raw/bin/<matchstick_version>


Tweak DOS4 brief questions

Ticket: https://trello.com/c/U2OsGeCq/26-2-high-level-content-review-of-pages-in-create-a-dos-opportunity-journey
Content updates from @NoraGDS.

I've updated this based on further discussion on the journeys spreadsheet


Update regex to correctly identify Windows 10

When running .NET Core 2.1 or .NET Framework 4.6.1, the used regex for
detecting Windows 10 TrueColor support does not match the OSDescription.
The reason for this is because on those frameworks the description has
trailing whitespaces, but they do not on .NET Core 3.1.
This pull request updates the regex to ignore any trailing whitespaces.

Merged! Thank you for your contribution. Much appreciated! 👍


[Tiered Caching] Add a memory-efficient key lookup store for use in tiered cache

Description
Adds a roaring bitmap-based key lookup store, designed to store integer hashcodes of keys for a future disk cache in a memory-efficient way. It stores values in the RBM with a modulo, as very sparse RBMs are not memory-efficient. This comes with a tradeoff of some rare collisions (~0.5% of values for the recommended modulo 2^28 in a store with 10^7 values). To handle this, we also maintain a hash set of values which have had collisions. Values with no collisions can be safely removed without risking any false negatives in contains(). The keystore has an optional memory cap and will not add more values once it grows too large. To enable this, we also had to make an RBM size estimator based on performance test data, since the built-in one is very inaccurate for randomly-distributed data like hashes:

This implementation is generic and can be used in other places as well.
We investigated different data structures (RBMs, sorted int[], hash sets, or a hybrid combination of all of these) for memory footprint and access time before settling on an RBM with this choice of modulo. While a sorted int[] can be more memory-efficient than an RBM when it contains less than about 50,000 values, it is much slower because it requires binary search to add or access elements. Hash sets are more memory efficient below about 5,000 values. However, we are mostly concerned with memory efficiency when the store contains many keys, so we decided against adding the complexity of switching between data structures. We expect to allocate 5% of the on-heap cache size to this keystore, which would allow many domains to store 2-10 million key hashes, based on a domain scan that looks for domains which will benefit from tiered caching:

Related Issues
Resolves #10309
Check List

[x] New functionality includes testing.

[x] All tests pass

[x] New functionality has been documented.

[x] New functionality has javadoc added

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

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

@sohami and @msfroh, would you mind taking a look at this PR when you have time?


Add classes

Created class Person
Created class Student and Teacher inherited from Person

The pull request was merged by mistake. Please do review it I will work on any changes necessary
Thank you

Approved ✔
Hi @eapenzacharias,
Congratulations on completing this project! 👏🏼 🎉
You have correctly implemented all of the requirements📃 correctly and without any errors⚠ or bugs🪲.
Cheers and good luck in your next milestones! 🍀
Feel free to leave any questions or comments in the PR thread(don't forget to tag me 😄) if something is not 100% clear.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


How to load MFORTH without REX?

How does one do the initial load of MFORTH on a model 100 without REX?
Very excited to find this work!

It compiles as an option ROM image. If you don't want to use a REX, burn an EEPROM instead.


Renaming "slave" terminology to replica.

Signed-off-by: Rishikesh Pasham<EMAIL_ADDRESS>Description
Renaming slave to replica in filebeat-6.0.template.json file
Issues Resolved
#1556
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed per the DCO using --signoff

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

Isn't this an API change? What are the consequences for the users?

Isn't this an API change? What are the consequences for the users?

The file changed here is used by a BWC test to validate that a Metricbeat template can be used to create an index. The exact name of the field in the template is unimportant to the test so this change should have no impact on the test. This is only a test artifact and there is no API change.

Let's backport to 1.x branch too, please.


fix(app): disable module commands when protocol paused

The module command cards displayed in the protocol run page have
historically allowed users to send module commands (like setting
temperature) when the protocol was active but paused. That used to work
essentially as a side effect: modules didn't respect pausing, so you
could tell them to do things while the protocol was paused.
Now that modules respect pausing, sending module commands when the
protocol is paused results in the modules not doing anything.
The science and UX intent of controlling modules from the protocol run
page is to implement pre-protocol preparation (like preheat) or
post-protocol behavior (like keeping some incubation going), not to
control the modules when paused - and in fact, when more advanced module
control behaviors land in protocol designer or in the python api,
controlling modules when the protocol is paused could break protocol
execution.
This PR changes the module command cards to only work when the protocol
is not paused or running.
Testing
Note: Testing this pr requires #5194 to be installed on a robot (or a robot on 3.16.1 or previous)

[ ] The module cards in the protocol run page display properly if the proper modules are configured and present
[ ] Before the protocol starts or after it finishes, the control interface is displayed and functions
[ ] While the protocol is running and while it is paused, the control interface is not displayed

Issues with text on the run screen for module card when the protocol is paused
Note: The issue is only on run tab


added my name

scott created

Can you close this PR and make another PR.
Reason: lot of unwanted files

Good evening. But it reads closed

You should open another one.

Be sure to change only names.txt

Make a separate branch for your changes and

Do not use the first or last line.


HSEARCH-2106 Using unique name for ES projection constants interface;…

… Only exposing constants actually supported
I made the ES constants interface not extend ProjectionConstants anymore and gave it a unique name. With that most wrong usages are avoided as auto-completion won't give you wrong candidates. I don't think it needs a strongly type-safe approach.

Force-pushed an update.

Rebased and added one more commit to address @gsmet's remarks. Should be good to go now.

Rebased, fixed the conflicts and merged! Thanks.

@gsmet whem merging stuff, remember to update JIRA! thanks

@Sanne hmmm, AFAICS, I marked https://hibernate.atlassian.net/browse/HSEARCH-2106 as resolved in JIRA.

sorry, I'm confused by the open state of https://hibernate.atlassian.net/browse/HSEARCH-2227 which is linked to this PR..


Child element animations are not possible, have the fix.

Found a bug?
If have a modal that has a child with a SVG checkmark animation. But after closing and re-opening the modal, the checkmark animation triggered the animatedModal.js -> afterClose(), causing the modal to vanish....
Ok after some debugging I know why and I have the solution.
The Why.
animatedModal uses the following to bind animationEnd event handlers:
id.one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', afterClose);
Note: Binded on modal Open & Close.
With one() the event can only be triggered once. But because you bind all the possible events ie webkitAnimationEnd & animationend, the one that has presedence gets fired, but the remaining bind still is connected to the element (modal container).
With event bubbling (event bubbles up the parents until it hits a handler) my checkmark animationEnd event bubbles up until it hits the remaining binded event handler on the modal container. Which causes afterClose() to run.
Solution
First I thought to only bind the correct event handler with:
(!!window.webkitURL)?'webkitTransitionEnd':'transitionend';
But this maybe has backward compatibility issues?
I took a further look at one(), and this method passes the event. So we can also check the event.target and do a simple id comparison to make sure we have the correct target.
Old
        function afterClose () {
          id.css({'z-index':settings.zIndexOut});
          settings.afterClose(); //afterClose
        }

        function afterOpen () {
          settings.afterOpen(); //afterOpen
        }

Updated
        function afterClose (e) {
          if(e.target.id !== idConc) return;
          id.css({'z-index':settings.zIndexOut});
          settings.afterClose(); //afterClose
        }

        function afterOpen (e) {
          if(e.target.id !== idConc) return;
          settings.afterOpen(); //afterOpen
        }

Now I can use all the css animations I want inside my modal.

This was a massive help! Exactly what I needed, Thank you


offline routing in angular ESRI

Is there any way to find offline route between two points in esri arcgis api for javascript 4.15?

Hi,
ArcGIS Runtime SDK for .NET is not currently supported for use in web applications. I recommend posting your question in ArcGIS API for JavaScript community.
Thanks