problems starting tt-buda-demos

Hello! We get the following error when running this code:
python tt-buda-demos/model_demos/nlp_demos/gpt2/gpt2_text_generation.py
Devices: n300
Also, is there any way to look at how much memory the model uses during startup?
2024-05-07 11:26:33.437 | INFO     | Runtime         - Running tt_runtime on host: 'tt-test'
2024-05-07 11:26:33.437 | INFO     | PerfInfra       - Backend profiler is disabled
2024-05-07 11:26:33.437 | INFO     | PerfInfra       - Memory profiler is enabled
2024-05-07 11:26:33.707 | WARNING  | Runtime         - Config.soc_descriptor_path='/tmp/ecoblox/1c303f8cd67f/device_descs/wormhole_b0_2560_0x0.yaml' doesn't exist, defaulting to '/home/ecoblox/test_nik/tt-buda/third_party/budabackend/device/wormhole_b0_8x10.yaml'
2024-05-07 11:26:33.719 | INFO     | SiliconDriver   - Detected 4 PCI devices : {0, 1, 2, 3}
2024-05-07 11:26:33.721 | WARNING  | SiliconDriver   - NumHostMemChannels: 1 used for device_id: 0x401e less than target: 4. Workload will fail if it exceeds NumHostMemChannels. Increase Number of Hugepages.
2024-05-07 11:26:34.362 | INFO     | Runtime         - Compiling Firmware for TT device
2024-05-07 11:26:34.378 | FATAL    | Always          - Error "/home/ecoblox/test_nik/tt-buda/third_party/budabackend/build/src/firmware/riscv/targets/erisc_app/out//erisc_app.hex" doesn't exist
2024-05-07 11:26:35.969 | FATAL    | Always          - Running pipegen command failed: Core (chip=0,x=25,y=18) (logical location: (chip=0,x=7,y=0)) is out of data buffers memory (allocated 906944 bytes out of available 839680 bytes).
Allocated stream buffers:
Core:
        chip: 0
        r: 0
        c: 7
        op_name: matmul_6
                buffer_Unpacker_0:
                        buffer_size: 224640

                buffer_Unpacker_2:
                        prefetch_type: POST_TM
                        buffer_size: 16640

                buffer_Unpacker_1:
                        prefetch_type: POST_TM
                        buffer_size: 399360

                buffer_Packer:
                        buffer_size: 266240

2024-05-07 11:26:36.002 | INFO     | Runtime         - Compile result: FAILURE, failure_type: undefined, device_id: 0, temporal_epoch_id: 0, graph: , logical_core_x: 0, logical_core_y: 0, failure_target:
2024-05-07 11:26:36.002 | ERROR    | Always          - Error "/home/ecoblox/test_nik/tt-buda/third_party/budabackend/build/src/firmware/riscv/targets/erisc_app/out//erisc_app.hex" doesn't exist
backtrace:
 --- /home/ecoblox/test_nik/tt-buda/pybuda/pybuda/../../third_party/budabackend/build/lib/libtt.so(+0x244d11) [0x7fc0cfa5fd11]
 --- tt::generate_all_fw(tt::netlist_workload_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, perf::PerfDesc&, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)
 --- /home/ecoblox/test_nik/tt-buda/pybuda/pybuda/../../third_party/budabackend/build/lib/libtt.so(+0x6a71da) [0x7fc0cfec21da]
 --- /lib/x86_64-linux-gnu/libstdc++.so.6(+0xd6df4) [0x7fc1ade1adf4]
 --- /lib/x86_64-linux-gnu/libpthread.so.0(+0x8609) [0x7fc1c6794609]
 --- /lib/x86_64-linux-gnu/libc.so.6(clone+0x43) [0x7fc1c68ce353]

2024-05-07 11:26:36.002 | INFO     | pybuda.backend:__init__:85 - Backend compile False, target: , error type: BackendCompileFailure.Invalid, error: Error "/home/ecoblox/test_nik/tt-buda/third_party/budabackend/build/src/firmware/riscv/targets/erisc_app/out//erisc_app.hex" doesn't exist
backtrace:
 --- /home/ecoblox/test_nik/tt-buda/pybuda/pybuda/../../third_party/budabackend/build/lib/libtt.so(+0x244d11) [0x7fc0cfa5fd11]
 --- tt::generate_all_fw(tt::netlist_workload_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, perf::PerfDesc&, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)
 --- /home/ecoblox/test_nik/tt-buda/pybuda/pybuda/../../third_party/budabackend/build/lib/libtt.so(+0x6a71da) [0x7fc0cfec21da]
 --- /lib/x86_64-linux-gnu/libstdc++.so.6(+0xd6df4) [0x7fc1ade1adf4]
 --- /lib/x86_64-linux-gnu/libpthread.so.0(+0x8609) [0x7fc1c6794609]
 --- /lib/x86_64-linux-gnu/libc.so.6(clone+0x43) [0x7fc1c68ce353]

target chip id: 0, target core(x,y): 0 0, temporal epoch id: 0
requires extra size bytes: 0

2024-05-07 11:26:36.003 | FATAL    | Always          - Attempting to read device aiclk when cluster device state is set to idle
2024-05-07 11:26:36.008 | ERROR    | Always          - Attempting to read device aiclk when cluster device state is set to idle
backtrace:
 --- tt_cluster::get_all_device_aiclks()
 --- tt_runtime::query_all_device_aiclks(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)
 --- tt_runtime::finish()
 --- /home/ecoblox/test_nik/tt-buda/pybuda/pybuda/_C.so(+0x8b38af) [0x7fc0d0b3c8af]
 --- /home/ecoblox/test_nik/tt-buda/pybuda/pybuda/_C.so(+0x2c1e36) [0x7fc0d054ae36]
 --- python(PyCFunction_Call+0x59) [0x5d5499]
 --- python(_PyObject_MakeTpCall+0x296) [0x5d6066]
 --- python() [0x4e22b3]
 --- python(_PyEval_EvalFrameDefault+0x5d69) [0x54c8a9]
 --- python(_PyFunction_Vectorcall+0x1b6) [0x5d5846]
 --- python(_PyEval_EvalFrameDefault+0x907) [0x547447]
 --- python(_PyEval_EvalCodeWithName+0x26a) [0x54552a]
 --- python(_PyFunction_Vectorcall+0x393) [0x5d5a23]
 --- python() [0x579c7d]
 --- python(_PyObject_MakeTpCall+0x1ff) [0x5d5fcf]
 --- python(_PyEval_EvalFrameDefault+0x5f18) [0x54ca58]
 --- python(_PyEval_EvalCodeWithName+0x26a) [0x54552a]
 --- python(_PyFunction_Vectorcall+0x393) [0x5d5a23]
 --- python(_PyEval_EvalFrameDefault+0x907) [0x547447]
 --- python(_PyFunction_Vectorcall+0x1b6) [0x5d5846]
 --- python(_PyEval_EvalFrameDefault+0x907) [0x547447]
 --- python(_PyEval_EvalCodeWithName+0x26a) [0x54552a]
 --- python(_PyFunction_Vectorcall+0x393) [0x5d5a23]
 --- python(_PyEval_EvalFrameDefault+0x1876) [0x5483b6]
 --- python(_PyEval_EvalCodeWithName+0x26a) [0x54552a]
 --- python(_PyFunction_Vectorcall+0x393) [0x5d5a23]
 --- python(_PyEval_EvalFrameDefault+0x1876) [0x5483b6]
 --- python(_PyEval_EvalCodeWithName+0x26a) [0x54552a]
 --- python(_PyFunction_Vectorcall+0x393) [0x5d5a23]
 --- python(_PyEval_EvalFrameDefault+0x1876) [0x5483b6]
 --- python(_PyEval_EvalCodeWithName+0x26a) [0x54552a]
 --- python(_PyFunction_Vectorcall+0x393) [0x5d5a23]
 --- python(_PyEval_EvalFrameDefault+0x1876) [0x5483b6]
 --- python(_PyEval_EvalCodeWithName+0x26a) [0x54552a]
 --- python(_PyFunction_Vectorcall+0x393) [0x5d5a23]
 --- python(_PyEval_EvalFrameDefault+0x725) [0x547265]
 --- python(_PyEval_EvalCodeWithName+0x26a) [0x54552a]
 --- python(_PyFunction_Vectorcall+0x393) [0x5d5a23]
 --- python(_PyEval_EvalFrameDefault+0x1876) [0x5483b6]
 --- python(_PyEval_EvalCodeWithName+0x26a) [0x54552a]
 --- python(_PyFunction_Vectorcall+0x393) [0x5d5a23]
 --- python() [0x4e1b5c]
 --- python(PyObject_Call+0x62) [0x5d4c12]
 --- python(_PyEval_EvalFrameDefault+0x1f26) [0x548a66]
 --- python(_PyEval_EvalCodeWithName+0x26a) [0x54552a]
 --- python(_PyFunction_Vectorcall+0x393) [0x5d5a23]
 --- python() [0x4e2079]
 --- python(PyObject_Call+0x62) [0x5d4c12]
 --- python(_PyEval_EvalFrameDefault+0x1f26) [0x548a66]
 --- python(_PyEval_EvalCodeWithName+0x26a) [0x54552a]
 --- python(_PyFunction_Vectorcall+0x393) [0x5d5a23]
 --- python() [0x4e2079]
 --- python(PyObject_Call+0x62) [0x5d4c12]
 --- python(_PyEval_EvalFrameDefault+0x1f26) [0x548a66]
 --- python(_PyEval_EvalCodeWithName+0x26a) [0x54552a]
 --- python(_PyFunction_Vectorcall+0x393) [0x5d5a23]
 --- python() [0x57a4af]
 --- python(PyObject_Call+0x25e) [0x5d4e0e]
 --- python(_PyEval_EvalFrameDefault+0x1f26) [0x548a66]
 --- python(_PyEval_EvalCodeWithName+0x26a) [0x54552a]
 --- python(_PyFunction_Vectorcall+0x393) [0x5d5a23]
 --- python() [0x4e2079]
 --- python(PyObject_Call+0x62) [0x5d4c12]
 --- python(_PyEval_EvalFrameDefault+0x1f26) [0x548a66]
 --- python(_PyEval_EvalCodeWithName+0x26a) [0x54552a]
 --- python(_PyFunction_Vectorcall+0x393) [0x5d5a23]
 --- python(PyObject_Call+0x62) [0x5d4c12]
 --- python(_PyEval_EvalFrameDefault+0x1f26) [0x548a66]
 --- python(_PyEval_EvalCodeWithName+0x26a) [0x54552a]
 --- python(_PyFunction_Vectorcall+0x393) [0x5d5a23]
 --- python() [0x4e2079]
 --- python(PyObject_Call+0x62) [0x5d4c12]
 --- python(_PyEval_EvalFrameDefault+0x1f26) [0x548a66]
 --- python(_PyEval_EvalCodeWithName+0x26a) [0x54552a]
 --- python(_PyFunction_Vectorcall+0x393) [0x5d5a23]
 --- python() [0x4e2079]
 --- python(PyObject_Call+0x62) [0x5d4c12]
 --- python(_PyEval_EvalFrameDefault+0x1f26) [0x548a66]
 --- python(_PyEval_EvalCodeWithName+0x26a) [0x54552a]
 --- python(_PyFunction_Vectorcall+0x393) [0x5d5a23]
 --- python() [0x4e2079]
 --- python(PyObject_Call+0x62) [0x5d4c12]
 --- python(_PyEval_EvalFrameDefault+0x1f26) [0x548a66]
 --- python(_PyFunction_Vectorcall+0x1b6) [0x5d5846]
 --- python(_PyEval_EvalFrameDefault+0x907) [0x547447]
 --- python(_PyEval_EvalCodeWithName+0x26a) [0x54552a]
 --- python(_PyFunction_Vectorcall+0x393) [0x5d5a23]
 --- python() [0x4e2079]
 --- python(PyObject_Call+0x62) [0x5d4c12]
 --- python(_PyEval_EvalFrameDefault+0x1f26) [0x548a66]
 --- python(_PyEval_EvalCodeWithName+0x26a) [0x54552a]
 --- python(_PyFunction_Vectorcall+0x393) [0x5d5a23]
 --- python() [0x57a4af]
 --- python(_PyObject_MakeTpCall+0x296) [0x5d6066]
 --- python(_PyEval_EvalFrameDefault+0x690a) [0x54d44a]
 --- python(_PyFunction_Vectorcall+0x1b6) [0x5d5846]
 --- python(_PyEval_EvalFrameDefault+0x725) [0x547265]
 --- python(_PyEval_EvalCodeWithName+0x26a) [0x54552a]
 --- python(PyEval_EvalCode+0x27) [0x684327]

2024-05-07 11:26:36.017 | INFO     | Debuda          - Debug server ended on
2024-05-07 11:26:36.028 | WARNING  | pybuda.compile:handle_backend_error:1167 - Compile failed, retrying compilation with different parameters. Retry count: 1
2024-05-07 11:26:36.044 | ERROR    | pybuda.device:run_next_command:469 - Compile error: Backend compile failed: BackendCompileFailure.Invalid
Traceback (most recent call last):
  File "/home/ecoblox/test_nik/tt-buda/pybuda/pybuda/ttdevice.py", line 832, in compile_for
    self.backend_api = BackendAPI(
  File "/home/ecoblox/test_nik/tt-buda/pybuda/pybuda/backend.py", line 89, in __init__
    raise BackendCompileException(self.compile_result)
pybuda.backend.BackendCompileException: <pybuda._C.backend_api.BackendCompileResult object at 0x7fbf63345fb0>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ecoblox/test_nik/tt-buda/pybuda/pybuda/device.py", line 458, in run_next_command
    ret = self.compile_for(
  File "/home/ecoblox/test_nik/tt-buda/pybuda/pybuda/ttdevice.py", line 858, in compile_for
    raise RuntimeError(f"Backend compile failed: {ex.compile_result.failure_type}")
RuntimeError: Backend compile failed: BackendCompileFailure.Invalid

Traceback (most recent call last):
  File "gpt2_text_generation.py", line 55, in <module>
    run_gpt2_text_gen()
  File "gpt2_text_generation.py", line 38, in run_gpt2_text_gen
    answer = text_generator(
  File "/home/ecoblox/test_nik/tt-buda/build/python_env/lib/python3.8/site-packages/transformers/pipelines/text_generation.py", line 208, in __call__
    return super().__call__(text_inputs, **kwargs)
  File "/home/ecoblox/test_nik/tt-buda/build/python_env/lib/python3.8/site-packages/transformers/pipelines/base.py", line 1140, in __call__
    return self.run_single(inputs, preprocess_params, forward_params, postprocess_params)
  File "/home/ecoblox/test_nik/tt-buda/build/python_env/lib/python3.8/site-packages/transformers/pipelines/base.py", line 1147, in run_single
    model_outputs = self.forward(model_inputs, **forward_params)
  File "/home/ecoblox/test_nik/tt-buda/build/python_env/lib/python3.8/site-packages/transformers/pipelines/base.py", line 1046, in forward
    model_outputs = self._forward(model_inputs, **forward_params)
  File "/home/ecoblox/test_nik/tt-buda/build/python_env/lib/python3.8/site-packages/transformers/pipelines/text_generation.py", line 271, in _forward
    generated_sequence = self.model.generate(input_ids=input_ids, attention_mask=attention_mask, **generate_kwargs)
  File "/home/ecoblox/test_nik/tt-buda/build/python_env/lib/python3.8/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/home/ecoblox/test_nik/tt-buda/build/python_env/lib/python3.8/site-packages/transformers/generation/utils.py", line 1789, in generate
    return self.beam_sample(
  File "/home/ecoblox/test_nik/tt-buda/build/python_env/lib/python3.8/site-packages/transformers/generation/utils.py", line 3417, in beam_sample
    outputs = self(
  File "/home/ecoblox/test_nik/tt-buda/build/python_env/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/ecoblox/test_nik/tt-buda/build/python_env/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/ecoblox/test_nik/tt-buda/pybuda/pybuda/transformers/pipeline.py", line 108, in first_forward
    out = self.tt_forward(*inputs, **self.ordered_kwargs)
  File "/home/ecoblox/test_nik/tt-buda/pybuda/pybuda/transformers/pipeline.py", line 63, in tt_forward
    output_q = pybuda.run_inference(_sequential=True)
  File "/home/ecoblox/test_nik/tt-buda/pybuda/pybuda/run/api.py", line 90, in run_inference
    return _run_inference(module, inputs, input_count, output_queue, _sequential, _perf_trace, _verify_cfg)
  File "/home/ecoblox/test_nik/tt-buda/pybuda/pybuda/run/impl.py", line 277, in _run_inference
    return _run_devices_inference(
  File "/home/ecoblox/test_nik/tt-buda/pybuda/pybuda/run/impl.py", line 467, in _run_devices_inference
    output_queue = _initialize_pipeline(False, output_queue, sequential=sequential, verify_cfg=verify_cfg)
  File "/home/ecoblox/test_nik/tt-buda/pybuda/pybuda/run/impl.py", line 414, in _initialize_pipeline
    _compile_devices(sequential, training=training, sample_inputs=sample_inputs, sample_targets=sample_targets, microbatch_count=microbatch_count, verify_cfg=verify_cfg)
  File "/home/ecoblox/test_nik/tt-buda/pybuda/pybuda/run/impl.py", line 1248, in _compile_devices
    raise ret
RuntimeError: Backend compile failed: BackendCompileFailure.Invalid
2024-05-07 11:26:36.081 | DEBUG    | pybuda.run.impl:_shutdown:1265 - PyBuda shutdown
2024-05-07 11:26:36.081 | DEBUG    | pybuda.device:run_next_command:419 - Received SHUTDOWN command on CPUDevice 'cpu0_fallback'
2024-05-07 11:26:36.081 | DEBUG    | pybuda.device:run_next_command:424 - Shutting down on CPUDevice 'cpu0_fallback'
2024-05-07 11:26:36.081 | DEBUG    | pybuda.device:run_next_command:419 - Received SHUTDOWN command on TTDevice 'tt0'
2024-05-07 11:26:36.081 | DEBUG    | pybuda.device:run_next_command:424 - Shutting down on TTDevice 'tt0'
2024-05-07 11:26:36.092 | DEBUG    | pybuda.device:run_next_command:419 - Received SHUTDOWN command on CPUDevice 'cpu2_fallback'
2024-05-07 11:26:36.095 | DEBUG    | pybuda.device:run_next_command:424 - Shutting down on CPUDevice 'cpu2_fallback'
2024-05-07 11:26:36.095 | DEBUG    | pybuda.run.impl:_shutdown:1281 - Waiting until processes done

Hi nikitaromanoov,
Thanks for trying out n300 and reaching out.
tt-buda-demos are primarily intended and extensively tested for e75, e150 and n150 configurations.
There are some architectural differences between e75, e150, n150 and n300 cards that cause different compile behaviour hence expose this specific issue.
Saying that, even though n300 is not architecture that we, at the moment, extensively test, from BUDA compiler stack perspective, there are no architectural limitations for all models running on n150 to also run on n300 cards.
Based on above, if you are just trying model demo tests with n300 please have in mind that, at the moment, model demos target n150 architecture and that n300 will be fully supported in some of further releases.
In case you are preparing this specific model for some production usage we can definitely assist with providing workaround and long term compiler upgrade with higher priority.

Since there are no follow ups after my update, I'll go ahead and close this issue.
Please feel free to reach out in case further assistance is needed.


[CSPM] dbconfig: Define a type for Cassandra configuration data

What does this PR do?
Defines a dedicated type for loading and exporting cassandra configuration data.
Motivation

helps to define a dedicated schema
limits the data to only what we are required to

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided. Except if the qa/skip-qa label, with required either qa/done or qa/no-code-change labels, are applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

/merge


Clarify docs - is there a difference between calling a ChatCompletion with response_model parameter vs. using model.openai_schema and then using a function_call in the ChatCompletion?

https://jxnl.github.io/instructor/#section-2-adding-additional-prompting Both options are shown, it's unclear if both can be used interchangeably? Or can OpenAISchema's only be used with function_call parameters of ChatCompletion s?

one is a helper and wraps the other,.
with function_call, you have to parse the result yourself. with response_model you're always going to get a response of type respone__model

I see. Maybe it's there and I missed it, but might be good to write that in the docs, wasn't clear to me.


Add compatibility with PCSX2 version of VirtualMemoryCards

I've made a similar post on PCSX2's side before this.
For convenience sake, I think there should be a change on either side (or both) to make the formats match exactly. That would allow for situations like saving a game on your PS2 game booted off of SMB, then picking the game back up on computer via PCSX2.
As can be seen from their side of the issue, there is some debate on what the differences are (whether it's just padded data or if it's ECC data). It would be great if there could be some cross-pollination to figure out the easiest way for the divide to be bridged.

Just use MCR on your PC to convert the save game stored on SMB

That would be fine for occasional use but my goal is to make it possible to do it often and seamlessly. Like play on my PS2 before a trip or something quit and then the save propagates to my laptop for me to play later, or vice-versa.
The only thing preventing a pick up and play setup like this is the slight incompatibilities between the save formats.

PCSX2's format is slightly different. It also records the ECC data, which makes each sector larger. Unless the developer(s) change the design of VMC, this difference between the sector size of the device hosting the image and the PCSX2 VMC page sizes will make the reading and writing process complicated.

What's stopping us from adding ECC data to our VMC format? This is something I never understood, but it's exactly the reason why applications such as MCR and MyMC exist in the first place. Every one of these developers at one point got frustrated enough at the incompatibility between OPL and PCSX2 VMC files that they took it upon themselves to become middle man ........ while muttering through clenched teeth that they're should be any middle men! LOL
It's highly inefficient ... ;-)

It's the same reason. Neither do we need that data. On the other hand, PCSX2 emulates the hardware, so it has to emulate the data that the real hardware would store too.
To understand how adding this data will make things very awkward for VMC, you need to do some math. The page with ECC data is 528 bytes, while the sector size of most devices out there is 512. You can only read data in units of 512, at addresses in multiples of 512. Hence reading and writing in multiples of 528 bytes to a device that can only do the same in multiples of 512 bytes, is simply an unnecessary challenge.

Sounds like it might be easier to add a bit of code on PCSX2's side that automatically adds the ECC data when loading an OPL VMC file to memory and discards it when saving.

Actually, after SP193 explained everything, it would be easier for PCSX2's developers to add a tickbox to its memory card manager that enables/disables saving the ECC data entirely.

Please echo all of this over at the PCSX issue https://github.com/PCSX2/pcsx2/issues/2959

Maybe an export/import function to this formst will do.
If I am not mistaken, LaunchELF also uses the same VMC format as OPL does. So it would be doing everybody a favour, rather than just users of OPL.

Export/import functions aren't really efficient since then you gotta write code for all the formats you want to support with the function (i.e. *.MAX, *.CBS, *.PSU) like the MyMC and MCR did. And with NAND-based memory card for the PS2 are become very scarce, that's the only real benefit of keeping the ECC data. Having virtual memory cards to swap between OPL and PCSX2 don't need ECC data, so even my suggested tickbox is a bit behind the times. KrossX has the right idea with a "convert on load and convert on save" approach all as a background process - no GUI code or user intervention required.

I echoed this over to the guys in PCSX2. They asked for a few OPL memory cards that are full with saves. I don't have any on hand and it'll take me awhile to make. So I thought I'd ask if any of you had some lying around.

Hahah, I'd have to look! Back when I had an 250GB drive, space was limited so I'd have genre based VMCs (i.e. fighting, rpgs, action, etc.) but now with a 500GB drive, I might of deleted those VMCs since I can afford to give every game its own dedicated VMC ...

That's okay. I don't think there is any particular rush. I'll see if about making some when I get the chance, but I'm not sure exactly how long (or how many games) it'd take to fill one up.

Don't have time to test these but here's link ...
http://www.filedropper.com/oplvmcarchive
The README should explain everything. The VMC with the most saves is the RPGS - it's about half full. Any issues downloading this, let me know below and I'll see what I can do.

You can mount PCSX2 memory cards on uLE...

olders versions of PCSX2 could read OPL VMCs but you had to rename them to .ps2 now this method isnt valid with newer versions.

I think that's quite possible and/maybe not even so much work, but we have very few people in the PS2-Scene, which also means that very few (people/Devs) can or will contribute the code for that kind of feature...


rbenv use global specified ruby version not work on OS X EI

I use zsh and the bundle install use system ruby version not use 2.2.3 or 2.2.2

Hi there! rbenv global 2.2.2 indeed sets the global version, but in your case that didn't have any effect since you seem to have a ~/.ruby-version file that takes precedence, because it's considered a "local" version file (local files are searched in your project's directory and all parent directories).
My recommendation is to rm ~/.ruby-version.

Very very nice solution 😁.
If rbenv can give me an warning will be very cool.
Could u add the feature to give the warning message in this situation?

Hmm, I'm not sure what kind of warning should I add.
If people want to create a .ruby-version file in their home, they should be allowed to do so. In that case, I assume that they know what they're doing and that a "local" version always takes precedence over "global" version.


⚠ Bofrost.lu has degraded performance

In 2ba7335, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2430 ms

Resolved: Bofrost.lu performance has improved in 647dd70 after 7 minutes.


hard error at backend creation with multi device (GPU + CPU) on OpenCL

using GPU + CPU for backend creation, results in the following non-recoverable error.
cargo test --test framework_opencl_specs -- --nocapture
     Running target/debug/framework_opencl_specs-f486119d3a03151b

running 3 tests
[Hardware { id:<PHONE_NUMBER>36224, name: Some("GeForce GT 750M\u{0}"), hardware_type: Some(GPU), compute_units: Some(2) }, Hardware { id:<PHONE_NUMBER>85432, name: Some("Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz\u{0}"), hardware_type: Some(CPU), compute_units: Some(8) }]
[0x7fd96002f0c0, 0x7fd960022a58]
[Hardware { id:<PHONE_NUMBER>36224, name: Some("GeForce GT 750M\u{0}"), hardware_type: Some(GPU), compute_units: Some(2) }, Hardware { id:<PHONE_NUMBER>85432, name: Some("Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz\u{0}"), hardware_type: Some(CPU), compute_units: Some(8) }]
Process didn't exit successfully: `/home/.../collenchyma/target/debug/framework_opencl_specs-f486119d3a03151b --nocapture` (signal: 11)

FYI, here is traceback under valgring on my system:
(skipped some probably unrelated warnings)

test backend_spec::native::it_can_use_ibackend_trait_object ... ok
==2715== Conditional jump or move depends on uninitialised value(s)
==2715==    at 0x1363D1: sync::mpsc::Receiver$LT$T$GT$::recv::h1839152013060402538 (in /home/butler/projects/nn/collenchyma/target/debug/backend_specs-bf765cfe17a02bcb)
==2715==    by 0x12450E: run_tests_console::h19f13b059fdf26c7JIb (in /home/butler/projects/nn/collenchyma/target/debug/backend_specs-bf765cfe17a02bcb)
==2715==    by 0x121BC2: test_main::h02954d949b4d6ebeY2a (in /home/butler/projects/nn/collenchyma/target/debug/backend_specs-bf765cfe17a02bcb)
==2715==    by 0x1280F7: test_main_static::h1c66d5b0032e74d3d5a (in /home/butler/projects/nn/collenchyma/target/debug/backend_specs-bf765cfe17a02bcb)
==2715==    by 0x120CE6: __test::main::had5f854d465421a58da (in /home/butler/projects/nn/collenchyma/target/debug/backend_specs-bf765cfe17a02bcb)
==2715==    by 0x18F174: sys_common::unwind::try::try_fn::h7821988306635677941 (in /home/butler/projects/nn/collenchyma/target/debug/backend_specs-bf765cfe17a02bcb)
==2715==    by 0x18C2EB: __rust_try (in /home/butler/projects/nn/collenchyma/target/debug/backend_specs-bf765cfe17a02bcb)
==2715==    by 0x18EC0B: rt::lang_start::h582466266dfb2119IOz (in /home/butler/projects/nn/collenchyma/target/debug/backend_specs-bf765cfe17a02bcb)
==2715==    by 0x120D29: main (in /home/butler/projects/nn/collenchyma/target/debug/backend_specs-bf765cfe17a02bcb)
==2715==
test backend_spec::native::it_can_create_default_backend ... ok
==2715== Warning: noted but unhandled ioctl 0x30000001 with no size/direction hints.
==2715==    This could cause spurious value errors to appear.
==2715==    See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper.
==2715== Warning: set address range perms: large range [0x200000000, 0x500000000) (noaccess)
==2715== Warning: set address range perms: large range [0x500000000, 0x800000000) (noaccess)
==2715== Warning: set address range perms: large range [0x805fba000, 0xa05fba000) (noaccess)
==2715== Warning: set address range perms: large range [0x805fba000, 0xa05fba000) (noaccess)
==2715== Warning: set address range perms: large range [0x900000000, 0xb00000000) (noaccess)
==2715== Warning: set address range perms: large range [0xb00000000, 0xd00000000) (noaccess)
==2715== Warning: set address range perms: large range [0xb00000000, 0xd00000000) (noaccess)
==2715== Warning: set address range perms: large range [0xb00000000, 0xd00000000) (noaccess)
==2715== Warning: set address range perms: large range [0xd00000000, 0xf00000000) (noaccess)
==2715== Warning: set address range perms: large range [0xd00000000, 0xf00000000) (noaccess)
==2715== Warning: set address range perms: large range [0xd00000000, 0xf00000000) (noaccess)
==2715== Warning: set address range perms: large range [0x1000000000, 0x1200000000) (noaccess)
==2715== Thread 3 backend_spec::opencl::it_can_manually_create_backend:
==2715== Invalid read of size 8
==2715==    at 0xA93D805: ??? (in /usr/lib/x86_64-linux-gnu/nvidia/current/libnvidia-opencl.so.352.79)
==2715==    by 0x16BB6B: frameworks::opencl::api::context::API::ffi_create_context::h33fd890effe976e8tDc (context.rs:39)
==2715==    by 0x169C5F: frameworks::opencl::api::context::API::create_context::hc406bc8816d75d57aCc (context.rs:26)
==2715==    by 0x166695: frameworks::opencl::context::Context::new::ha2a8a5268f2467f2kjb (context.rs:27)
==2715==    by 0x166418: frameworks::opencl::OpenCL.IFramework::new_device::haef08581fd6fbe1e8te (mod.rs:96)
==2715==    by 0x120010: backend::Backend$LT$F$GT$::new::h3686179191400567503 (backend.rs:69)
==2715==    by 0x1206A4: backend_spec::opencl::it_can_manually_create_backend::hbc55225f33db6cfdVca (backend_specs.rs:55)
==2715==    by 0x13E796: boxed::F.FnBox$LT$A$GT$::call_box::h4965145969991418958 (in /home/butler/projects/nn/collenchyma/target/debug/backend_specs-bf765cfe17a02bcb)
==2715==    by 0x140E8B: sys_common::unwind::try::try_fn::h311507189721033412 (in /home/butler/projects/nn/collenchyma/target/debug/backend_specs-bf765cfe17a02bcb)
==2715==    by 0x18C2EB: __rust_try (in /home/butler/projects/nn/collenchyma/target/debug/backend_specs-bf765cfe17a02bcb)
==2715==    by 0x189AAD: sys_common::unwind::inner_try::h6de88a54d8fb341cz2t (in /home/butler/projects/nn/collenchyma/target/debug/backend_specs-bf765cfe17a02bcb)
==2715==    by 0x14120A: boxed::F.FnBox$LT$A$GT$::call_box::h9955032800241204795 (in /home/butler/projects/nn/collenchyma/target/debug/backend_specs-bf765cfe17a02bcb)
==2715==  Address 0x408 is not stack'd, malloc'd or (recently) free'd
==2715==
==2715==
==2715== Process terminating with default action of signal 11 (SIGSEGV)
==2715==  Access not within mapped region at address 0x408
==2715==    at 0xA93D805: ??? (in /usr/lib/x86_64-linux-gnu/nvidia/current/libnvidia-opencl.so.352.79)
==2715==    by 0x16BB6B: frameworks::opencl::api::context::API::ffi_create_context::h33fd890effe976e8tDc (context.rs:39)
==2715==    by 0x169C5F: frameworks::opencl::api::context::API::create_context::hc406bc8816d75d57aCc (context.rs:26)
==2715==    by 0x166695: frameworks::opencl::context::Context::new::ha2a8a5268f2467f2kjb (context.rs:27)
==2715==    by 0x166418: frameworks::opencl::OpenCL.IFramework::new_device::haef08581fd6fbe1e8te (mod.rs:96)
==2715==    by 0x120010: backend::Backend$LT$F$GT$::new::h3686179191400567503 (backend.rs:69)
==2715==    by 0x1206A4: backend_spec::opencl::it_can_manually_create_backend::hbc55225f33db6cfdVca (backend_specs.rs:55)
==2715==    by 0x13E796: boxed::F.FnBox$LT$A$GT$::call_box::h4965145969991418958 (in /home/butler/projects/nn/collenchyma/target/debug/backend_specs-bf765cfe17a02bcb)
==2715==    by 0x140E8B: sys_common::unwind::try::try_fn::h311507189721033412 (in /home/butler/projects/nn/collenchyma/target/debug/backend_specs-bf765cfe17a02bcb)
==2715==    by 0x18C2EB: __rust_try (in /home/butler/projects/nn/collenchyma/target/debug/backend_specs-bf765cfe17a02bcb)
==2715==    by 0x189AAD: sys_common::unwind::inner_try::h6de88a54d8fb341cz2t (in /home/butler/projects/nn/collenchyma/target/debug/backend_specs-bf765cfe17a02bcb)
==2715==    by 0x14120A: boxed::F.FnBox$LT$A$GT$::call_box::h9955032800241204795 (in /home/butler/projects/nn/collenchyma/target/debug/backend_specs-bf765cfe17a02bcb)
==2715==  If you believe this happened as a result of a stack
==2715==  overflow in your program's main thread (unlikely but
==2715==  possible), you can try to increase the size of the
==2715==  main thread stack using the --main-stacksize= flag.
==2715==  The main thread stack size used in this run was 8388608.


Paint undo

Uses SPIRAM to allow up to 984 actions to be undone!
I renamed the linked list implementation used by the emu (emu/src/list/list.h) from list_t to linked_list_t because both that and the list_t from main/utils/linked_list.h ended up included in the main and caused conflicts.
Resolves #290

Without even reading the changes, I do not like multiple linked list implementations in the same source. Any reason not to remove the implementation in emu entirely? I probably copied it from the IDF to get things off the ground...

Without even reading the changes, I do not like multiple linked list implementations in the same source. Any reason not to remove the implementation in emu entirely? I probably copied it from the IDF to get things off the ground...

Ah sure, I can do that. I just didn't want to swap it out without knowing the rationale.

Other than the list thing, seems fine. A few functions got returns without updated doxygen, if you care about that sort of thing.

Oops, I meant to do that and forgot. Will fix


SQL support

Use the existing language system (previous implementation only used a talon file).
Make SQL the active language in MySQLWorbench and DataGrip

There are a lot of commits in your pull request that have nothing to do with SQL. Could you remove them? Thanks!

You are right, I'm sorry! I created a clean PR https://github.com/knausj85/knausj_talon/pull/647.


Version 3 configuration on Hoobs

Please note that the config using web-ui-x on hoobs is incorrect, it tries to add an accessory and not a platform.
I've configured it maually and it works great.

can it be just cache of the old plugin? have you notice any problems in the config schema?

what happen now if you remove the plugin and re-add? still uses accessory?

I deleted the plugin, restarted the homebridge service and than installed as new.
When pressing the configuration button it tries to add an accessory.
Maybe it's a cache issue. Let's see if anybody else has this.
Anyway, thanks for the amazing work you do here, as mentioned the plugin works when configured manually

I did get another similar feedback from a user... but I think it was a cache issue because it was resolved after another deletion and reboot


add auto-run (run=true) query parameter to embeds

auto-run must be executed after loading the gist or having code
injected.
add run=true and split= options to inject API
change new_embeddings_with_code_tags.html to inject_demo.html

closes #1309
closes #1185

Can we have notes about auto-run (run=true) in https://github.com/dart-lang/dart-pad/wiki/Embedding-Guide? Thanks!

@galeyang updated!


Parameters are not described

How about describing the parameters? Just specifying their data type is not helpful. Please annotate them with SAL

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 4786a627-e46a-c580-3c30-78171d9f9efc
Version Independent ID: 72ffce5b-4cdc-5acd-ffa0-0b9fc12528ef
Content: EVT_UFX_DEVICE_DEFAULT_ENDPOINT_ADD (ufxclient.h) - Windows drivers
Content Source: wdk-ddi-src/content/ufxclient/nc-ufxclient-evt_ufx_device_default_endpoint_add.md
Product: windows-hardware
Technology: windows-devices
GitHub Login: @duncanmacmichael
Microsoft Alias: dumacmic

Hi @BrianCatlin,
I’ve created an internal work item for myself to investigate this with the USB team, and I’ll make a note here when I complete the changes. In the meantime, I’m closing the GitHub issue while it’s tracked in the bug. Thanks again for helping to improve the docs.


Fixed #28041 -- Added prefix matching for PostgreSQL full text search.

Hi,
I took a stab at putting together something for https://code.djangoproject.com/ticket/28041
I do however, think it is horrendous and I'm not a fan of the way I'm combining Lexemes

@joetsoi  what about unit tests?

Sure, I have some locally that I need to tidy up.
On 11 May 2017 8:58 pm, "Andrii Soldatenko"<EMAIL_ADDRESS>wrote:

@joetsoi https://github.com/joetsoi what about unit tests?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/django/django/pull/8313#issuecomment-300900133, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAOt6hf4x_tvfe1ALEU0XflBhqo9pPhMks5r42h2gaJpZM4M1zRp
.

This probably also should escape the Lexemes (removing &, |, etc) before building a query as the following builds an invalid query:
RawSearchQuery(Lexeme("A&B") + Lexeme("foo"))

Thanks for looking at this, I'll take a look at fixing this soon
On 22 Aug 2017 2:12 am, "Karl Hobley"<EMAIL_ADDRESS>wrote:
This probably also should escape the Lexemes (removing &, |, etc) before
building a query as the following builds an invalid query:
RawSearchQuery(Lexeme("A&B") + Lexeme("foo"))
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/django/django/pull/8313#issuecomment-323967209, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAOt6lw9-tJ38nrfNHGrwlh5X03SJMS0ks5sapuFgaJpZM4M1zRp
.

Hi Joe, do you want to continue this? Test coverage seems lacking and documentation is missing.
See our patch review checklist.

yes, I'll hop on it!

Any updates @joetsoi?

Closing due to inactivity.


Create euroamericano.txt

URL: https://www.euroamericano.edu.ec/
Correo personal<EMAIL_ADDRESS>

@Gabrielj95 First stage of verification passed, official domain is euroamericano.edu.ec as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@Gabrielj95 Please provide us with:

the school official website URL
the school street address, including city and country
an URL of a page on the official website where the school offers an IT-related long-term (>1 year) course
a proof, which shows that the school recognizes the domain you are submitting as an official email domain for the students.

URL Escuela: https://www.euroamericano.edu.ec/
Dirección: Guayaquil, Av Quisquis y Los Ríos. Ecuador
URL Carrera IT: https://www.euroamericano.edu.ec/index.php/redes
Mi Correo de Estudiante<EMAIL_ADDRESS>

@Gabrielj95  Thank you for the clarifications. Pull request merged.


Freethreading thread safety

Closes https://github.com/cython/cython/issues/6221 (and obsoletes https://github.com/cython/cython/issues/6215)
In principle this should cover a large chunk of thread safety issues in Cython. It applies to anywhere where we hold the GIL. There's three levels:

off
refcounted - only applies to reference counted types (PyObject/typed memoryview)
full - applies to all types, so read/write should at least appear "atomic".

I've made the default "refcounted", but that could be up for debate.
It has some cost in the non-free-threaded builds because:

it unchains cdef class attribute lookups so that they go via temps.
It makes some error handling more complicated.

Right now the main limitation is that we don't yet have access to critical sections - see https://github.com/python/cpython/issues/119344. I've put placeholders there for now, but they really don't do anything. This means that cdef classes and closure scopes aren't guarded properly.

Obviously not quite working yet...
I did some crude benchmarking, just running ExprNodes.py through Cython:
Python 3.11
This branch:  6.706s 6.764s 6.780s
Current master: 6.767s 6.721s 6.642s
pure Python: 10.823s 10.686s 10.999s
This branch seems to make a pretty negligible difference to Python 3.11.
Python 3.11 freethreading (but Python built without optimizations)
This branch: 7.575s 7.482s 7.613s
This branch and -Xgil: 7.428s 7.461s 7.550s
Current master and -Xgil=0: 6.670s 7.106s 6.836s
pure Python and -Xgil=0: 14.735s 14.196s 14.605s
-Xgil=0 makes no measurable difference here (Cython basically single-threaded so unsurprising). The extra locking does make things ~10% slower. And it may be a little worse than that since all the cdef classes aren't really being locked yet.

I think it should be possible to eliminate a lot of the extra temps. To take full advantage though we really need critical sections (and we probably need them for in the Python 3.13, otherwise we stuck being unable to use them properly until we drop support for Python 3.13).

Converting to draft for now...
The basic idea works quite well I think, but I'm still making changes so I don't think it'd benefit from a detailed review.

My current thoughts here:

I'm waiting for a decision on "is this the right thing to do" before tidying up the remaining bugs. The remaining bugs are fairly small though.
In principle we could make reads from cdef classes (and closures) mostly lock free using the same method as in https://peps.python.org/pep-0703/#optimistically-avoiding-locking. That should probably be guarded by a "turn it off" flag because it's very much abusing internal details.

It has some cost in the non-free-threaded builds because:
* it unchains cdef class attribute lookups so that they go via temps.
* It makes some error handling more complicated.

Is that cost verified? It seems quite possible that C compilers could undo that effect when optimising this more complex C code. Removing useless variables and collapsing or splitting code paths is something they do all the time.

It has some cost in the non-free-threaded builds because:
* it unchains cdef class attribute lookups so that they go via temps.
* It makes some error handling more complicated.

Is that cost verified? It seems quite possible that C compilers could undo that effect when optimising this more complex C code. Removing useless variables and collapsing or splitting code paths is something they do all the time.

The temps are usually reference-counted so probably not too easy to optimize. But I couldn't measure a speed difference in Cython in non-freethreaded Python with and without this PR, so I don't think it's huge.

A few code examples (just taken from the tests):
cdef class Nested:
    cdef Nested attr

def deep_lookup(Nested n1, Nested n2):
    # Just test that this compiles sensibly, since they get factored out into temps
    n1.attr.attr.attr.attr.attr = n2.attr.attr.attr

before:
  __pyx_t_1 = ((PyObject *)__pyx_v_n2->attr->attr->attr);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_n1->attr->attr->attr->attr->attr);
  __Pyx_DECREF((PyObject *)__pyx_v_n1->attr->attr->attr->attr->attr);
  __pyx_v_n1->attr->attr->attr->attr->attr = ((struct __pyx_obj_17threadsafe_access_Nested *)__pyx_t_1);
  __pyx_t_1 = 0;

after:
  __Pyx_BEGIN_CRITICAL_SECTION(((PyObject *)__pyx_v_n2));
  __pyx_t_1 = ((PyObject *)__pyx_v_n2->attr);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_END_CRITICAL_SECTION(((PyObject *)__pyx_v_n2));
  __Pyx_BEGIN_CRITICAL_SECTION(__pyx_t_1);
  __pyx_t_2 = ((PyObject *)((struct __pyx_obj_17threadsafe_access_Nested *)__pyx_t_1)->attr);
  __Pyx_INCREF(__pyx_t_2);
  __Pyx_END_CRITICAL_SECTION(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_BEGIN_CRITICAL_SECTION(__pyx_t_2);
  __pyx_t_1 = ((PyObject *)((struct __pyx_obj_17threadsafe_access_Nested *)__pyx_t_2)->attr);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_END_CRITICAL_SECTION(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_BEGIN_CRITICAL_SECTION(((PyObject *)__pyx_v_n1));
  __pyx_t_2 = ((PyObject *)__pyx_v_n1->attr);
  __Pyx_INCREF(__pyx_t_2);
  __Pyx_END_CRITICAL_SECTION(((PyObject *)__pyx_v_n1));
  __Pyx_BEGIN_CRITICAL_SECTION(__pyx_t_2);
  __pyx_t_3 = ((PyObject *)((struct __pyx_obj_17threadsafe_access_Nested *)__pyx_t_2)->attr);
  __Pyx_INCREF(__pyx_t_3);
  __Pyx_END_CRITICAL_SECTION(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_BEGIN_CRITICAL_SECTION(__pyx_t_3);
  __pyx_t_2 = ((PyObject *)((struct __pyx_obj_17threadsafe_access_Nested *)__pyx_t_3)->attr);
  __Pyx_INCREF(__pyx_t_2);
  __Pyx_END_CRITICAL_SECTION(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_BEGIN_CRITICAL_SECTION(__pyx_t_2);
  __pyx_t_3 = ((PyObject *)((struct __pyx_obj_17threadsafe_access_Nested *)__pyx_t_2)->attr);
  __Pyx_INCREF(__pyx_t_3);
  __Pyx_END_CRITICAL_SECTION(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_BEGIN_CRITICAL_SECTION(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)((struct __pyx_obj_17threadsafe_access_Nested *)__pyx_t_3)->attr);
  __Pyx_DECREF((PyObject *)((struct __pyx_obj_17threadsafe_access_Nested *)__pyx_t_3)->attr);
  ((struct __pyx_obj_17threadsafe_access_Nested *)__pyx_t_3)->attr = ((struct __pyx_obj_17threadsafe_access_Nested *)__pyx_t_1);
  __pyx_t_1 = 0;
  __Pyx_END_CRITICAL_SECTION(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

def globals_same_scope():
    global global_obj
    # shouldn't lock the rhs - since both variables share the same scope
    global_obj = global_obj_2

without:
__Pyx_INCREF(__pyx_v_17threadsafe_access_global_obj_2);
  __Pyx_XGOTREF(__pyx_v_17threadsafe_access_global_obj);
  __Pyx_DECREF_SET(__pyx_v_17threadsafe_access_global_obj, __pyx_v_17threadsafe_access_global_obj_2);
  __Pyx_GIVEREF(__pyx_v_17threadsafe_access_global_obj_2);

with (__pyx_scope_mutex is in the global scope):
  __Pyx_BEGIN_PYMUTEX_SECTION(&__pyx_scope_mutex);
  __Pyx_INCREF(__pyx_v_17threadsafe_access_global_obj_2);
  __Pyx_XGOTREF(__pyx_v_17threadsafe_access_global_obj);
  __Pyx_DECREF_SET(__pyx_v_17threadsafe_access_global_obj, __pyx_v_17threadsafe_access_global_obj_2);
  __Pyx_GIVEREF(__pyx_v_17threadsafe_access_global_obj_2);
  __Pyx_END_PYMUTEX_SECTION(&__pyx_scope_mutex);

def obj_in_parallel():
    with nogil, parallel():
        with gil:
            x = object()

without:
                      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_builtin_object); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12, __pyx_L13_error)
                      __Pyx_GOTREF(__pyx_t_1);
                      __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1);
                      __pyx_t_1 = 0;

with (__pyx_scope_mutex_local defined at the function scope):
                      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_builtin_object); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11, __pyx_L13_error)
                      __Pyx_GOTREF(__pyx_t_1);
                      __Pyx_BEGIN_PYMUTEX_SECTION(&__pyx_scope_mutex_local);
                      __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1);
                      __pyx_t_1 = 0;
                      __Pyx_END_PYMUTEX_SECTION(&__pyx_scope_mutex_local);

def closure():
    # In principle it should probably be possible to work out that this is safe, but in practice
    # it's hard, so don't assert anything about it
    o = object()

    # once it's in a closure, it does need thread safe access
    def inner():
        print(o)

without (just looking at print(o))
if (unlikely(!__pyx_cur_scope->__pyx_v_o)) { __Pyx_RaiseClosureNameError("o"); __PYX_ERR(0, 185, __pyx_L1_error) }
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_cur_scope->__pyx_v_o); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

with:
__Pyx_BEGIN_CRITICAL_SECTION((PyObject*)__pyx_cur_scope);
  if (unlikely(!__pyx_cur_scope->__pyx_v_o)) { __Pyx_RaiseClosureNameError("o"); __PYX_ERR(0, 185, __pyx_L3_error) }
  __pyx_t_1 = __pyx_cur_scope->__pyx_v_o;
  __Pyx_INCREF(__pyx_t_1);
  if ((0)) {
    __pyx_L3_error:;
    __Pyx_BEGIN_ERROR_HANDLING_DUMMY_SECTION;
    __Pyx_END_CRITICAL_SECTION((PyObject*)__pyx_cur_scope);
    goto __pyx_L1_error;
  }
  __Pyx_END_CRITICAL_SECTION((PyObject*)__pyx_cur_scope);
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

Hopefully that's enough for an idea of what's going on.

Does the chained attribute access mean that you can no longer traverse object attributes without owning the GIL?

Does the chained attribute access mean that you can no longer traverse object attributes without owning the GIL?

It doesn't mean that, but largely by accident rather than design. analyse_thread_safety starts with:
    if env.nogil:
        return  # we only do thread safety with the GIL

That's an interesting point though - traversing object attributes without the GIL is already unsafe in principle and is already allowed. So maybe that sets precedent for something?

I'm trying to get this to build so that I can test pandas with it, but I can't on my macOS. I'm using Python built on top of https://github.com/python/cpython/commits/f0788cb41906407f567cc84d40bb2e9e80fb6a1b/. The failure looks like this:
      creating build/temp.macosx-14.5-arm64-cpython-313-pydebug/private/var/folders/qv/js92y9x526sdmsmjdrylwkx80000gn/T/pip-req-build-mwztpp37/Cython/Compiler
      clang -fno-strict-overflow -Wsign-compare -g -Og -Wall -O0 -I/Users/lysnikolaou/repos/python/pandas/.venv-313-freethreading/include -I/Users/lysnikolaou/.pyenv/versions/3.13-dev-debug-freethreading/include/python3.13td -c /private/var/folders/qv/js92y9x526sdmsmjdrylwkx80000gn/T/pip-req-build-mwztpp37/Cython/Compiler/Parsing.c -o build/temp.macosx-14.5-arm64-cpython-313-pydebug/private/var/folders/qv/js92y9x526sdmsmjdrylwkx80000gn/T/pip-req-build-mwztpp37/Cython/Compiler/Parsing.o
      In file included from /private/var/folders/qv/js92y9x526sdmsmjdrylwkx80000gn/T/pip-req-build-mwztpp37/Cython/Compiler/Parsing.c:2320:
      In file included from /Users/lysnikolaou/.pyenv/versions/3.13-dev-debug-freethreading/include/python3.13td/internal/pycore_critical_section.h:9:
      In file included from /Users/lysnikolaou/.pyenv/versions/3.13-dev-debug-freethreading/include/python3.13td/internal/pycore_pystate.h:12:
      In file included from /Users/lysnikolaou/.pyenv/versions/3.13-dev-debug-freethreading/include/python3.13td/internal/pycore_runtime.h:17:
      In file included from /Users/lysnikolaou/.pyenv/versions/3.13-dev-debug-freethreading/include/python3.13td/internal/pycore_interp.h:31:
      In file included from /Users/lysnikolaou/.pyenv/versions/3.13-dev-debug-freethreading/include/python3.13td/internal/pycore_mimalloc.h:40:
      In file included from /Users/lysnikolaou/.pyenv/versions/3.13-dev-debug-freethreading/include/python3.13td/internal/mimalloc/mimalloc/types.h:24:
      /Users/lysnikolaou/.pyenv/versions/3.13-dev-debug-freethreading/include/python3.13td/internal/mimalloc/mimalloc/atomic.h:42:14: warning: macro 'ATOMIC_VAR_INIT' has been marked as deprecated [-Wdeprecated-pragma]
      #if !defined(ATOMIC_VAR_INIT) || (__STDC_VERSION__ >= 201710L) // c17, see issue #735
                   ^
      /Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/stdatomic.h:54:41: note: macro marked 'deprecated' here
      #pragma clang deprecated(ATOMIC_VAR_INIT)
                                              ^
      /private/var/folders/qv/js92y9x526sdmsmjdrylwkx80000gn/T/pip-req-build-mwztpp37/Cython/Compiler/Parsing.c:5957:136: error: function definition is not allowed here
      static PyObject *__pyx_f_6Cython_8Compiler_7Parsing_p_ident_list(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_s) {
                                                                                ^
      /private/var/folders/qv/js92y9x526sdmsmjdrylwkx80000gn/T/pip-req-build-mwztpp37/Cython/Compiler/Parsing.c:95253:25: error: expected '}'
      #endif /* Py_PYTHON_H */
                              ^
      /private/var/folders/qv/js92y9x526sdmsmjdrylwkx80000gn/T/pip-req-build-mwztpp37/Cython/Compiler/Parsing.c:5822:5: note: to match this '{'
          __Pyx_END_CRITICAL_SECTION(((PyObject *)__pyx_v_s));
          ^
      /private/var/folders/qv/js92y9x526sdmsmjdrylwkx80000gn/T/pip-req-build-mwztpp37/Cython/Compiler/Parsing.c:2330:43: note: expanded from macro '__Pyx_END_CRITICAL_SECTION'
          #define __Pyx_END_CRITICAL_SECTION(x) Py_BEGIN_CRITICAL_SECTION(x)
                                                ^
      /Users/lysnikolaou/.pyenv/versions/3.13-dev-debug-freethreading/include/python3.13td/internal/pycore_critical_section.h:96:9: note: expanded from macro 'Py_BEGIN_CRITICAL_SECTION'
              Py_BEGIN_CRITICAL_SECTION_MUT(&_PyObject_CAST(op)->ob_mutex)
              ^
      /Users/lysnikolaou/.pyenv/versions/3.13-dev-debug-freethreading/include/python3.13td/internal/pycore_critical_section.h:91:5: note: expanded from macro 'Py_BEGIN_CRITICAL_SECTION_MUT'
          {                                                                   \
          ^
      /private/var/folders/qv/js92y9x526sdmsmjdrylwkx80000gn/T/pip-req-build-mwztpp37/Cython/Compiler/Parsing.c:95253:25: error: expected '}'
      #endif /* Py_PYTHON_H */
                              ^
      /private/var/folders/qv/js92y9x526sdmsmjdrylwkx80000gn/T/pip-req-build-mwztpp37/Cython/Compiler/Parsing.c:5819:5: note: to match this '{'
          __Pyx_BEGIN_CRITICAL_SECTION(((PyObject *)__pyx_v_s));
          ^
      /private/var/folders/qv/js92y9x526sdmsmjdrylwkx80000gn/T/pip-req-build-mwztpp37/Cython/Compiler/Parsing.c:2329:45: note: expanded from macro '__Pyx_BEGIN_CRITICAL_SECTION'
          #define __Pyx_BEGIN_CRITICAL_SECTION(x) Py_BEGIN_CRITICAL_SECTION(x)
                                                  ^
      /Users/lysnikolaou/.pyenv/versions/3.13-dev-debug-freethreading/include/python3.13td/internal/pycore_critical_section.h:96:9: note: expanded from macro 'Py_BEGIN_CRITICAL_SECTION'
              Py_BEGIN_CRITICAL_SECTION_MUT(&_PyObject_CAST(op)->ob_mutex)
              ^
      /Users/lysnikolaou/.pyenv/versions/3.13-dev-debug-freethreading/include/python3.13td/internal/pycore_critical_section.h:91:5: note: expanded from macro 'Py_BEGIN_CRITICAL_SECTION_MUT'
          {                                                                   \
          ^
      /private/var/folders/qv/js92y9x526sdmsmjdrylwkx80000gn/T/pip-req-build-mwztpp37/Cython/Compiler/Parsing.c:95253:25: error: expected '}'
      #endif /* Py_PYTHON_H */
                              ^
      /private/var/folders/qv/js92y9x526sdmsmjdrylwkx80000gn/T/pip-req-build-mwztpp37/Cython/Compiler/Parsing.c:5810:18: note: to match this '{'
        if (__pyx_t_2) {
                       ^
      /private/var/folders/qv/js92y9x526sdmsmjdrylwkx80000gn/T/pip-req-build-mwztpp37/Cython/Compiler/Parsing.c:95253:25: error: expected '}'
      #endif /* Py_PYTHON_H */
                              ^
      /private/var/folders/qv/js92y9x526sdmsmjdrylwkx80000gn/T/pip-req-build-mwztpp37/Cython/Compiler/Parsing.c:5807:3: note: to match this '{'
        __Pyx_END_CRITICAL_SECTION(((PyObject *)__pyx_v_s));
        ^
      /private/var/folders/qv/js92y9x526sdmsmjdrylwkx80000gn/T/pip-req-build-mwztpp37/Cython/Compiler/Parsing.c:2330:43: note: expanded from macro '__Pyx_END_CRITICAL_SECTION'
          #define __Pyx_END_CRITICAL_SECTION(x) Py_BEGIN_CRITICAL_SECTION(x)
                                                ^
      /Users/lysnikolaou/.pyenv/versions/3.13-dev-debug-freethreading/include/python3.13td/internal/pycore_critical_section.h:96:9: note: expanded from macro 'Py_BEGIN_CRITICAL_SECTION'
              Py_BEGIN_CRITICAL_SECTION_MUT(&_PyObject_CAST(op)->ob_mutex)
              ^
      /Users/lysnikolaou/.pyenv/versions/3.13-dev-debug-freethreading/include/python3.13td/internal/pycore_critical_section.h:91:5: note: expanded from macro 'Py_BEGIN_CRITICAL_SECTION_MUT'
          {                                                                   \
          ^
      /private/var/folders/qv/js92y9x526sdmsmjdrylwkx80000gn/T/pip-req-build-mwztpp37/Cython/Compiler/Parsing.c:95253:25: error: expected '}'
      #endif /* Py_PYTHON_H */
                              ^
      /private/var/folders/qv/js92y9x526sdmsmjdrylwkx80000gn/T/pip-req-build-mwztpp37/Cython/Compiler/Parsing.c:5804:3: note: to match this '{'
        __Pyx_BEGIN_CRITICAL_SECTION(((PyObject *)__pyx_v_s));
        ^
      /private/var/folders/qv/js92y9x526sdmsmjdrylwkx80000gn/T/pip-req-build-mwztpp37/Cython/Compiler/Parsing.c:2329:45: note: expanded from macro '__Pyx_BEGIN_CRITICAL_SECTION'
          #define __Pyx_BEGIN_CRITICAL_SECTION(x) Py_BEGIN_CRITICAL_SECTION(x)
                                                  ^
      /Users/lysnikolaou/.pyenv/versions/3.13-dev-debug-freethreading/include/python3.13td/internal/pycore_critical_section.h:96:9: note: expanded from macro 'Py_BEGIN_CRITICAL_SECTION'
              Py_BEGIN_CRITICAL_SECTION_MUT(&_PyObject_CAST(op)->ob_mutex)
              ^
      /Users/lysnikolaou/.pyenv/versions/3.13-dev-debug-freethreading/include/python3.13td/internal/pycore_critical_section.h:91:5: note: expanded from macro 'Py_BEGIN_CRITICAL_SECTION_MUT'
          {                                                                   \
          ^
      /private/var/folders/qv/js92y9x526sdmsmjdrylwkx80000gn/T/pip-req-build-mwztpp37/Cython/Compiler/Parsing.c:95253:25: error: expected '}'
      #endif /* Py_PYTHON_H */
                              ^
      /private/var/folders/qv/js92y9x526sdmsmjdrylwkx80000gn/T/pip-req-build-mwztpp37/Cython/Compiler/Parsing.c:5776:210: note: to match this '{'
      static PyObject *__pyx_f_6Cython_8Compiler_7Parsing_p_ident(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_s, struct __pyx_opt_args_6Cython_8Compiler_7Parsing_p_ident *__pyx_optional_args) {
                                                                                ^
      1 warning and 7 errors generated.
      error: command '/usr/bin/clang' failed with exit code 1

There was a silly mistake that broke things when critical sections were actually available (b2+).
(I'm leaving the code review comments for now since I think the behaviour is more important, and tidying up the code doesn't seem too useful if we want to change the behaviour)

(Removing the 3.1 milestone - I think it's fine to make this decision a bit later and we can be flexible with how we treat the freethreading build while it's still considered experimental)

Note for future self (if we come back to this as something to adopt): some of the logic is covered by nonlocally_immutable (except that I think there's some extra stuff covered here that should be in nonlocally_immutable)


figure out storage format

.nc is annoying with nested xr structures

update: we are playing with zarr as the default storage format, addresses this issue


Remove non async reindexes

:nut_and_bolt: Description: What code changed, and why?
All Elasticsearch reindexes should be done with async. This change is needed because all elasticsearch requests go through the automate-es-gateway which adds a 60-second timeout.
:chains: Related Resources
https://github.com/chef/automate/pull/1177

I am having problems with the tests. I am not sure why it is failing.
time="2019-08-06T23:51:49Z" level=debug msg="es6 incompatible other a1 index" es-created-version=2040199 index-name=.automate
--
  | Reindexing 100 insights indices for Elasticsearch 6 compatibility
  | 0 / 100    0.00%time="2019-08-06T23:51:49Z" level=info msg="migrating insights index" index-name=insights-2018.04.26
  | 0 / 100    0.00%[test harness] Received non-matching request &{GET /elasticsearch/_tasks/ HTTP/1.1 1 1 map[Accept:[application/json] Accept-Encoding:[gzip] Content-Type:[application/json] User-Agent:[elastic/6.2.16 (linux-amd64)]] {} <nil> 0 [] false localhost:8080 map[] map[] <nil> map[] [::1]:44796 /elasticsearch/_tasks/ <nil> <nil> <nil> 0xc0000833c0}
  | http: panic serving [::1]:44796: oops
  | goroutine 238 [running]:
  | net/http.(*conn).serve.func1(0xc0000381e0)
  | /usr/local/go/src/net/http/server.go:1769 +0xc9
  | panic(0x101a3e0, 0x1472090)
  | /usr/local/go/src/runtime/panic.go:522 +0x1b5
  | github.com/chef/automate/components/automate-deployment/pkg/a1stub.debug404Handler(0x14b9de0, 0xc00016e000, 0xc0000ae100)
  | /go/src/github.com/chef/automate/components/automate-deployment/pkg/a1stub/server.go:344 +0x8c
  | net/http.HandlerFunc.ServeHTTP(0x12f7140, 0x14b9de0, 0xc00016e000, 0xc0000ae100)
  | /usr/local/go/src/net/http/server.go:1995 +0x44
  | net/http.(*ServeMux).ServeHTTP(0xc0002ba480, 0x14b9de0, 0xc00016e000, 0xc0000ae100)
  | /usr/local/go/src/net/http/server.go:2375 +0x1d6
  | net/http.serverHandler.ServeHTTP(0xc0002b4680, 0x14b9de0, 0xc00016e000, 0xc0000ae100)
  | /usr/local/go/src/net/http/server.go:2774 +0xab
  | net/http.(*conn).serve(0xc0000381e0, 0x14be7a0, 0xc000572ac0)
  | /usr/local/go/src/net/http/server.go:1878 +0x84c
  | created by net/http.(*Server).Serve
  | /usr/local/go/src/net/http/server.go:2884 +0x2f4
  | [test harness] Received non-matching request &{GET /elasticsearch/_tasks/ HTTP/1.1 1 1 map[Accept:[application/json] Accept-Encoding:[gzip] Content-Type:[application/json] User-Agent:[elastic/6.2.16 (linux-amd64)]] {} <nil> 0 [] false localhost:8080 map[] map[] <nil> map[] [::1]:44798 /elasticsearch/_tasks/ <nil> <nil> <nil> 0xc000083f40}
  | http: panic serving [::1]:44798: oops
  | goroutine 305 [running]:
  | net/http.(*conn).serve.func1(0xc00052bea0)
  | /usr/local/go/src/net/http/server.go:1769 +0xc9
  | panic(0x101a3e0, 0x1472090)
  | /usr/local/go/src/runtime/panic.go:522 +0x1b5
  | github.com/chef/automate/components/automate-deployment/pkg/a1stub.debug404Handler(0x14b9de0, 0xc00016e0e0, 0xc0002ae800)
  | /go/src/github.com/chef/automate/components/automate-deployment/pkg/a1stub/server.go:344 +0x8c
  | net/http.HandlerFunc.ServeHTTP(0x12f7140, 0x14b9de0, 0xc00016e0e0, 0xc0002ae800)
  | /usr/local/go/src/net/http/server.go:1995 +0x44
  | net/http.(*ServeMux).ServeHTTP(0xc0002ba480, 0x14b9de0, 0xc00016e0e0, 0xc0002ae800)
  | /usr/local/go/src/net/http/server.go:2375 +0x1d6
  | net/http.serverHandler.ServeHTTP(0xc0002b4680, 0x14b9de0, 0xc00016e0e0, 0xc0002ae800)
  | /usr/local/go/src/net/http/server.go:2774 +0xab
  | net/http.(*conn).serve(0xc00052bea0, 0x14be7a0, 0xc000361a40)
  | /usr/local/go/src/net/http/server.go:1878 +0x84c
  | created by net/http.(*Server).Serve
  | /usr/local/go/src/net/http/server.go:2884 +0x2f4
  | 0 / 100    0.00% 0s

[test harness] Received non-matching request &{GET /elasticsearch/_tasks/ HTTP/1.1 1 1 map[Accept:[application/json] Accept-Encoding:[gzip] Content-Type:[application/json] User-Agent:[elastic/6.2.16 (linux-amd64)]] {}  0 [] false localhost:8080 map[] map[]  map[] [::1]:44796 /elasticsearch/_tasks/    0xc0000833c0}

From reading the logs it looks like there's some kind of fake elastic service being used in the tests, and since you've added an API call that wasn't happening before it's bombing out on that.

@phiggins That never even crossed my mind. I was thinking it was using an old version of Elasticsearch.
Thanks Pete!

This was the big tipoff:

[test harness] Starting stub elasticsearch api &{:8080 0xc0002ba480  10s 0s 10s 0s 0 map[]  0xc000444000 0 0 {{0 0} 0}  {0 0} map[] map[]  []}


Download buttons have no font

Hello!
First I should say your project is awesome!
this buttons have no font :)

Hi Sina,
Thanks for checking out. I latterly appreciate it. This issue happens when you put a text within AwesomeIcon-styled tags like <span class="fa .."> or <i class="fa ..">. All things needed is to either override the font-family for each span or i or, put the text outside of the styled tag which is actually more preferred.
Do you want to give it a go and fix this bug though? (Just make a new PR and link the issue and tell more about the issue and fixes)
Best wishes,
Alireza


Integer line heights

Closes #2103
Flash line heights are all ints. It also looks like Flash forces text onto pixels (https://github.com/openfl/openfl/issues/2103#issuecomment-450280811), but that can be a separate effort.

I will double check this PR soon then merge it in, since it's not that big of a deal


rpicam_vid: handling SIGPIPE to avoid sporadic app termination

SIGPIPE gets raised when trying to write to an already closed socket. This can happen, when you're using TCP to stream to VLC and the user presses the stop button in VLC. Catching the signal to be able to react on it, otherwise the app terminates.

Sorry, one final thing... could you wrap the commit message at 72 lines please?  If you force push to your branch, this will automatically update the PR.

It should be there now :-)
Am 2024-01-31 10:23, schrieb naushir:

Sorry, one final thing... could you wrap the commit message at 72
lines please? If you force push to your branch, this will
automatically update the PR.
--
Reply to this email directly, view it on GitHub [1], or unsubscribe
[2].
You are receiving this because you authored the thread.Message ID:
@.***>
Links:
[1]
https://github.com/raspberrypi/rpicam-apps/pull/637#issuecomment-1918705830
[2]
https://github.com/notifications/unsubscribe-auth/AFKV77IUDFUWH72LUTSX34DYRIERHAVCNFSM6AAAAABCSV457CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJYG4YDKOBTGA


onDraging slides doesn't return index of new visible element.

Describe the feature you'd like:
Currently, there is no good way of selecting a new slide on when you finish dragging on a tablet or phone.
Add some property which will control which slide is visible now. Because all workarounds have a lot of bugs.

Suggested implementation:
When on drag is finished and only when a new screen is shown return to a user index of a new  visible slide

Describe alternatives you've considered:
this code is working but it is kinda clunky
onTransitionEnd={ () => {
  if (!isOnDesktop) {
  const visible = document.querySelector('.videoSlider .carousel__slide--visible .video');
  console.log(visible);
  items.forEach(({ id: vId }, i) => {
    if (vId === visible) {
     console.log(i, 'i', vId);
      handleChangeVideo(i);
     }
  });
  console.log(items, visible.id, 'visible');
  }
} }

Teachability, Documentation, Adoption, Migration Strategy:
onDragSlideEnd return an index of a new slide or return -1 if the slide has not changed.

I'm surprised this isn't a feature. An event handler for when the slide changes – returning the index of the new active slide – would be so useful.


docs: AuthorizationPolicy rule matching statement seems wrong

Bug description
The docs on AuthorizationPolicy say:

A match occurs when at least one source, operation and condition matches the request.

I believe the statement should be:
A match occurs when at least one source, operation and all conditions matches the request.
I tested it in my cluster by applying the following policy which allowed traffic:
apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
spec:
  rules:
  - when:
    - key: source.principal
      values:
      - '*'

and then adding another condition:
apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
spec:
  rules:
  - when:
    - key: source.principal
      values:
      - '*'
    - key: source.principal
      values:
      - 'foo'

Traffic is not allowed anymore and it's clear that conditions are ANDed while sources and operations are ORed.
[x] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[x] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
Expected behavior
I expected the docs to say:
A match occurs when at least one source, operation and all conditions matches the request.
Version (include the output of istioctl version --remote and kubectl version --short and helm version --short if you used Helm)
1.9.0

cc @yangminzhu

yeah, I think the documentation needs some update to make this clear.

@yangminzhu
Hi, I commit a pull request here to fix this issue:
https://github.com/istio/api/pull/1895

@yanniszark
Hi, I commit a pull request here to fix this issue:
https://github.com/istio/api/pull/1895


Unable to push to registry: TLS handshake timeout

Description
Just getting back to Docker App after a long break. With 0.6.0, I'm unable to use docker-app push to push to my registry. Docker App just says TLS handshake timeout.
The registry's certificate is signed by GeoTrust. I can login to it using docker login …, and I can push and pull images with the docker CLI. But, docker-app doesn't work.
Steps to reproduce the issue:

Attempt to push a Docker App image to a private registry.

Describe the results you received:
▸ docker-app git:(master) docker-app push --namespace registry-dev.transzap.com/devops/templates/docker-app --repo app --tag test
Error: Get https://registry-dev.transzap.com/v2/: net/http: TLS handshake timeout

Describe the results you expected:
The app image should be pushed to the registry.
Additional information you deem important (e.g. issue happens only occasionally):
Using macOS 10.13.6. Running docker-app from within a container extending the docker image works.
Output of docker version:
Client: Docker Engine - Community
 Version:           18.09.0-ce-beta1
 API version:       1.39
 Go version:        go1.10.4
 Git commit:        78a6bdb
 Built:             Thu Sep  6 22:41:53 2018
 OS/Arch:           darwin/amd64
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          18.09.0-ce-beta1
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       78a6bdb
  Built:            Thu Sep  6 22:49:35 2018
  OS/Arch:          linux/amd64
  Experimental:     true

Output of docker-app version:
Version:      v0.6.0
Git commit:   9f9c6680
Built:        Thu Oct  4 13:30:33 2018
OS/Arch:      darwin/amd64
Experimental: off
Renderers:    none

Output of docker info:
Containers: 41
 Running: 8
 Paused: 0
 Stopped: 33
Images: 211
Server Version: 18.09.0-ce-beta1
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host ipvlan macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: active
 NodeID: w97q3z0azzcv970g3e5hn9ski
 Is Manager: true
 ClusterID: o1cdcrn2etmq3kcz2aapse3n4
 Managers: 1
 Nodes: 1
 Orchestration:
  Task History Retention Limit: 5
 Raft:
  Snapshot Interval: 10000
  Number of Old Snapshots to Retain: 0
  Heartbeat Tick: 1
  Election Tick: 10
 Dispatcher:
  Heartbeat Period: 5 seconds
 CA Configuration:
  Expiry Duration: 3 months
  Force Rotate: 0
 Autolock Managers: false
 Root Rotation In Progress: false
 Node Address: <IP_ADDRESS>
 Manager Addresses:
  <IP_ADDRESS>:2377
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 468a545b9edcd5932818eb9de8e72413e616e86e
runc version: 69663f0bd4b60df09991c08812a60108003fa340
init version: fec3683
Security Options:
 seccomp
  Profile: default
Kernel Version: 4.9.125-linuxkit
Operating System: Docker for Mac
OSType: linux
Architecture: x86_64
CPUs: 6
Total Memory: 7.786GiB
Name: linuxkit-025000000001
ID: 4IE3:LWO5:GQZ6:NP57:WDEP:C2HV:Y2LK:ZO7G:62CK:BKTF:3URM:W22G
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 90
 Goroutines: 248
 System Time: 2018-11-08T22:16:30.323729122Z
 EventsListeners: 6
HTTP Proxy: gateway.docker.internal:3128
HTTPS Proxy: gateway.docker.internal:3129
Registry: https://index.docker.io/v1/
Labels:
Experimental: true
Insecure Registries:
 <IP_ADDRESS>/8
Live Restore Enabled: false
Product License: Community Engine

Additional environment details (AWS, VirtualBox, physical, etc.):

The push/pull story is being reworked as part as moving to the CNAB runtime. I have no idea if/when it will fix the issue, but that is the reason we did not report back sooner on this. Sorry!

Any update ?

@kinghuang do you still have this issue with the latest release https://github.com/docker/app/releases/tag/v0.8.0 ?

I am having a very similar issue. My registry has a valid certificate that is working nicely with docker image push.
However, with docker app push, I am getting "x509: certificate signed by unknown authority" :
$ docker app push hello --tag my.registry.com/hello:0.1.0
my.registry.com/hello:0.1.0-invoc
fixing up "my.registry.com/hello:0.1.0" for push: failed to resolve "my.registry.com/hello:0.1.0-invoc", push the image to the registry before pushing the bundle: failed to do request: Head https://my.registry.com/v2/hello/manifests/0.1.0-invoc: x509: certificate signed by unknown authority

$ docker app version
Version:               v0.8.0
Git commit:            7eea32b7
Built:                 Tue Jun 11 20:53:26 2019
OS/Arch:               darwin/amd64
Experimental:          off
Renderers:             none
Invocation Base Image: docker/cnab-app-base:v0.8.0

@simonferquel  Shall I open a different issue ?


Fix broken link

Broken link (double protocol) as below
https://https//prometheus.cloud-platform.service.justice.gov.uk/

to:
https://prometheus.cloud-platform.service.justice.gov.uk/

Saw this as I was raising #177, which updates the source docs.

Thanks @spikeheap . Just approved your PR #177

@digitalronin oh, right. did not get this this before vijay fixed separately. closing in favour of https://github.com/ministryofjustice/cloud-platform-user-guide/pull/178


WIP: fix warnings

PR Summary
I'm trying to chase down some bug in the stellar collapse table, but while I'm at it I figured I'd clean up the warnings as they've started to get extensive.

PR Checklist

[ ] Adds a test for any bugs fixed. Adds tests for new features.
[ ] Format your changes by using the make format command after configuring with cmake.
[ ] Document any new features, update documentation for changes made.
[ ] Make sure the copyright notice on any files you modified is up to date.
[ ] After creating a pull request, note it in the CHANGELOG.md file
[ ] If preparing for a new release, update the version in cmake.

Re-used this branch for bug hunting going to open a second PR with more details.


Large image in README

github web-interface is supported only 888 for width
image in header have filesize 1.2mb and measures 2326 x 676px
I prepare two images:

original size 2326x676px but  filesize is 274KB
down-scaled size 888x258 53KB

let's choose the size and replace the image in the header!

Good point.

github web-interface is supported only 888 for width

While that's true there are devices with a HighDPI screen (such as the Macbook from which I'm writing this) - from these devices the high res version makes sense.
See this screenshot (you might need to zoom in to see the difference if you're not on a highdpi device):

But compressing the image while keeping the resolution is a good idea 👍

I'd have a version at exactly @2x for retina screens prepared and optimized right here :) 206kb in size.

Awesome! Feel free to submit a PR to change this to a smaller image!

We are getting the brand image from another repository. If we are to change the image, how would you want to go about this? @mxstbr
README.md

maybe take a look at https://github.com/FormidableLabs/react-progressive-image...
import mainImage from 'main-image.jpg'
import compressedImage from 'compressed-image.jpg'

<ProgressiveImage src={mainImage} placeholder={compressedImage}>
  {(src) => }
</ProgressiveImage>

side note: the alt tag string should be internationalized :)
@KarandikarMihir please make a companion pull request with assets to the other repository :)

@justingreenberg :sweat_smile: If I'm not mistaken, we only need to update README.md, right? That's what the issue title says, anyway- Large image in README #907.
Are you confusing it with brand image from the home page of example app?

@KarandikarMihir haha yes. it's very late over here in nyc 😜  still i've been looking for an excuse to use react-progessive-image tho, so i stand by it recommendation for homepage!!

@justingreenberg Looks like you need to get some sleep! :grin: Good hunt though, I'll try to implement medium.com style lazy image loading using react-progressive-image in my project.
Any suggestions on how to change image in README.md? You can see that the current image comes from a different repo. Can we add the optimized/new image in the boilerplate root and do something like this-
![Alt text](http://full/path/to/img.jpg "Title") ?

Please submit a Pull Request against https://github.com/mxstbr/react-boilerplate-brand and add an optimised version of the banner to the folder, and then submit a Pull Request against this repo to swap the link in the README to the one pointing to the optimised version!

Fixed by the amazing @KarandikarMihir! 👏

(Thank you)[https://i.imgur.com/ea1LOX7.png] @mxstbr
Happy to be of help!


Revert "New desire model (#21729)"

This reverts commit e83973b9b31199c1594b9be2371a7af0c589c2d9.

Can you also revert the release notes?


Generalize visual testing post build command

The previous command assumed that a bash is installed on Windows and that it always builds in Release mode.

I updated the change to use $<TARGET_FILE_DIR:example_test> to find the build directory.
Not starting a CI run since this line is ignored anyway.


Introduce "qsendrecsigs" to indicate that plain recovered sigs should be sent

This avoids sending unnecessary data to SPV clients and other node implementations that don't know how to deal with qrecsig.

There was a typo (vRect) that caused builds to fail. Fixed this now.


add support to nodejs v20

Please review and check. Thanks :)

Hi man, are you still maintaining this repo? @juanjoDiaz

Hi @cjnoname ,
Yes. Sorry for the radio silence.
I want to bundle this change with the upgrade to mjs and SDK v3.
I have it almost there but I've been rather busy during last month.
I'll get back to it asap! 🙂

Hi @cjnoname ,
Yes. Sorry for the radio silence. I want to bundle this change with the upgrade to mjs and SDK v3. I have it almost there but I've been rather busy during last month.
I'll get back to it asap! 🙂

All good mate :) I'll wait until everything is sorted :)


Swagger UI is showing empty

I am using Spring 4.0.2 version with using xml configuration included below swagger version.
Note : we are spring security as well
<!--Dependency for swagger 2 -->
	<dependency>
		<groupId>io.springfox</groupId>
		<artifactId>springfox-swagger2</artifactId>
		<version>2.6.1</version>
	</dependency>

	<!--Dependency for swagger ui -->
	<dependency>
		<groupId>io.springfox</groupId>
		<artifactId>springfox-swagger-ui</artifactId>
		<version>2.6.1</version>
	</dependency>

and added below code in applciatoncontext.xml file

able to access directly v2/api-docs and able to see all my reset info in that  but when I am accessing /swagger-ui.html I am not able to see any controls in that page and it showing blank. I am able see green bar.
Please help what I am missing here.

issue resolved after changing the ui version 2.2.2


Auto battle auto stops too

The auto battle also stops the battle automatically after a few fights (and then starts again).

Should be resolved


[Fixed Example] Use Padding-Top to Offset Page Container

The issue is that when having a fixed nav bar and content div below it uses margin-top: 5em, the scrollbar is appearing even when the webpage doesn't even have any content.
That is because of this definition in html, body which basically sets the height to 100%.
Bootstrap for example doesn't set this so it doesn't have the issue with the scrollbar.

https://github.com/Semantic-Org/Semantic-UI/blob/master/src/definitions/globals/site.less#L30

This is caused by collapsible margins. Simple fix is to use padding-top instead of margin top. I'll update the example.

I have a question though. What is the benefit of defining height: 100% ? Why wouldn't bootstrap doesn't set this ?

https://jsfiddle.net/L7b0uyg5/
The problem is still there if I remove the padding-top which I don't understand why. When adding height: auto it works.

What if we use a .ui.text.menu (which makes use of margin) on top?
Because of this questionable html, body { height: 100%; }, we must monkey patch a component that should work out of the box. 😞

Though I love lots of concepts of semantic-ui, setting 100% on body and html is EVIL, especially if you want to print a page etc...


Update UP Convert Step to support new Secure Upload API

User Story

As a stakeholder of ReportStream,
I want the Convert service to handle the new Upload API alongside the "reports" and "waters" apis,
so that the new upload API can be used by new clients and the other clients are supported until they are migrated.
Description/Use Case

Presently, ReportStream has two upload APIs that the Convert step is currently supporting:

"reports API" - uses Azure Functions Key Auth
"Waters API" - uses OAuth2.0 with homemade custom Authorization server embedded in the application

The convert step should be updated to support the new UP Upload API alongside the two above.
Risks/Impacts/Considerations

Dev Notes

The implementation details of the Convert step changes have (mostly) been thought through. Please see the Convert Step Software Requirements section in the UP Software Requirements Document.
Acceptance Criteria

[ ] Convert Function updated per the SRD. Any changes to SRD reviewed and Approved by @arnejduranovic
[ ] SRD updated (if needed) and Approved by @arnejduranovic

Hey team! Please add your planning poker estimate with Zenhub @adegolier @arnejduranovic @brick-green @david-navapbc @jack-h-wang @jalbinson @JFisk42 @mkalish @thetaurean


Allow multiple instances of CodeFlask

By now, only one instance of CodeFlask is available per page. With the new APIs being developed each instance should be retrievable later for bindings and function calls. User should be able to do this kind of stuff:
var flask = new CodeFlask;
var multiFlasks = new CodeFlask;

// Init a single editor
flask.run('#my-editor', { language: 'javascript' });

flask.onUpdate(function(code){
    console.log(code);
});

// Init multiple others
multiFlasks.runAll('.all-my-flasks', { language: 'html' });

flask.update('<button>I am a button</button>'); // updates all editors

For this, the architecture of the plugin will have to change a little, possibly breaking how you call CodeFlask.js on your page (yeah, this shouldn't happen).

The refactoring using the Prototype Pattern is being made at the branch [prototype].(https://github.com/kazzkiq/CodeFlask.js/tree/prototype)

#10


Fix CI badge

Signed-off-by: Gaius<EMAIL_ADDRESS>
Description

Fix CI badge display.

Related Issue
Fixes #280

Motivation and Context
N/A

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[x] Documentation Update (if none of the other choices apply)

Checklist:

[x] Code compiles correctly.
[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

Codecov Report

Merging #281 (75a10de) into main (f9f30c8) will decrease coverage by 0.04%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #281      +/-   ##
==========================================
- Coverage   43.58%   43.53%   -0.05%
==========================================
  Files          53       53
  Lines        4176     4176
==========================================
- Hits         1820     1818       -2
- Misses       2120     2121       +1
- Partials      236      237       +1

Flag
Coverage Δ

unittests
43.53% <ø> (-0.05%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/util/net/iputils/ip_utils.go
61.22% <0.00%> (-4.09%)
:arrow_down:


don't show user while searching

Details
https://github.com/Expensify/App/issues/4325#issuecomment-890056378
Fixed Issues

$ #4325
Tests || QA Steps

Login to newDot
Search for your email/phone
Your own profile will NOT appear as an option

Tested On

[x] Web
[x] Mobile Web
[x] Android
Please test on these two
[ ] Desktop
[ ] iOS

Screenshots

Web

Mobile Web

Desktop

iOS

Android

@Julesssss
Ready for review :eyes:

@aman-atg looks like a test failure still

@Julesssss
Yeah, I found out that replacing this line with below code might work https://github.com/Expensify/App/blob/8b10c1c1a0267eb66ef8fdc6e0049f9b101836a2/src/libs/OptionsListUtils.js#L742
    const loginList = _.isEmpty(currentUser) ? [] : currentUser.loginList;

But, I'm not sure so please correct me if I'm wrong here.

I can't see why your change would cause this 😕  Any ideas?

The only thing I can think of is:

The function ordering was somehow important
Something on main changed and broke when you merged it into this PR

The function ordering was somehow important

I think this could be the reason.
Testing locally to find out the root cause.

@Julesssss
I think now I understand why this is happening.
https://github.com/Expensify/App/blob/8b10c1c1a0267eb66ef8fdc6e0049f9b101836a2/tests/unit/OptionsListUtilsTest.js#L216
https://github.com/Expensify/App/blob/8b10c1c1a0267eb66ef8fdc6e0049f9b101836a2/tests/unit/OptionsListUtilsTest.js#L287
These two tests are now failing cause now they are making use of isCurrentUser function through getOptions function. And Earlier we weren't using isCurrentUser inside getOptions so it was not being tested.
https://github.com/Expensify/App/blob/8b10c1c1a0267eb66ef8fdc6e0049f9b101836a2/src/libs/OptionsListUtils.js#L534-L544
https://github.com/Expensify/App/blob/8b10c1c1a0267eb66ef8fdc6e0049f9b101836a2/src/libs/OptionsListUtils.js#L595-L605
Root cause must be this. https://github.com/Expensify/App/pull/4647#issuecomment-899445036

Ah I see, please make the fix in that case 👍

It makes no sense to pass an object when we could simply pass login. Do you agree? There seems no reason to require an object, it's a bit confusing.
&& !isCurrentUser({login: searchValue})

could be simplified to
&& !isCurrentUser(searchValue)

Yeah, I agree that it makes sense to simplify it but changing it here will require changes in other files as well.
Maybe the original author can give some insights on this?

Hi @Julesssss, so what should we do here?

Sorry, we've been busy on internal issues and I forgot about this review.
Okay, fair point. Let's keep the changes as they are.

Confirmed on iOS & Desktop

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to production by @roryabraham in version: 1.0.88-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

This has been deployed to production and is now subject to a 7-day regression period.
If no regressions arise, payment will be issued on 2021-09-08.  :confetti_ball:


incorrect timer & no random event areas

Hi there
First of all I want to thank you for this plugin! I absolutly love it!!!
After using it for quite a while, I have some feedback, it's up to you to choose what you do with it ;)
I am a F2P player and have noticed that some areas where no randoms are possible this isn't displayed (e.g. bank chest in castle wars and a certain area ranging from the bank chest in camdozaal under ice mountain all the way up to the golems). On the other hand there's a particular area (maybe even  multiple) where randoms do spawn but the display says otherwise (e.g. rune essence mine).
But now the most important part for me, why I decided to leave a message here is following;
I play UIM accounts and recently upon deathpiling I decided to use the random event timer to keep track of the one hour I could go back to claim my stuff, but I had to find out the hard way that the timer this plugin uses is actually too slow. So when only 20 minutes have past according to your plugin, there's actually 25 minutes that have past in real life...
Sorry for the long post, thanks for reading and take care!
kind regards

Thanks for the post! I'd like to eventually implement specific "no random zones" like you suggested and also display what randoms can spawn where you're at; eg. no teleport randoms in the wilderness. But there's a lot of cataloguing that needs to be done first.
Ideally we would know exactly where they cannot spawn, eg. these 4 squares in Ferrox, and this one odd square near the portal, but in practice it may be a lot easier to setup "if you are within X squares of a bank" -- but then you run into issues like randoms not spawning in some of the larger banks, or other odd zones.  I started to initially map out the Wilderness and F2P randoms (RandomEventAnalyticsUtil.java#L283) but never got around to fully implementing a notification.

Interesting observation about the timer, that could totally be the case -- are you logging out during those 20/25 minutes are desync'd? I suspect that it has to do with how the seconds are counted and stored with this plugin. Perhaps making the update asynchronous would help, but I think changing it to store the last spawned time (ie. Instant) would be more robust.
TBH I haven't noticed it myself, so any other details about what you were doing could help, especially so I can try to reproduce it to see if that idea would work.  Logging in / out of the account or multiple accounts in the same RL instance?
I have a backlog of refactoring I'm working through (eg. https://github.com/zmanowar/random-event-analytics/commit/f90ca2339ae3f935d4b4bb8d5331a4176e36261b) to get it to where it should be before I release the new solver features and transitioning to use the method described above is on the list.

hey, thanks for the fast response!
I think it would be amazing if Jagex could provide the exact squares where randoms don't spawn because otherwise we would have to resort to trail and error..  I didn't know about the 4 tiles in Ferox..
About the timer, I didn't log out or teleport during the time I tested the accuracy. I was cutting yew trees until I got a second random, and I used the built in timer in RL  to start tracking time since the first random, also I have the time logged in displayed on the report button, and next to that I also checked with the internal clock on my laptop. The plugin timer was the only odd one, not synchronised to the other 3.


[WIP] Read and write UQ parameters

[x] Read UQ parameters from TOML file. UQ parameters come with prior distributions and constraints (see ParameterDistributionStorage), which have to be reconstructed from the parsed TOML file
[x] Write UQ parameters to file,
[x] Implement "broadcasting solution" for defining priors of array-valued parameters (use case: a 100-dim parameter of weights of a neural network, each of which has the same prior distribution. Users should not have to write down 100 parameter distributions in the parameter toml file for cases like this one - rather, we want them to be able to write down a single distribution that gets broadcast and applied to each of the 100 weights).
[x] Clean up: consistent formatting, consistent naming of variables

Current implementation for constructing parameter distributions for parameters read from file uq_parameters.toml:
import CLIMAParameters
const CP = CLIMAParameters
param_set = CP.parse_toml_file("uq_test_parameters.toml")

# get `ParameterDistribution` for the parameter named "uq_param_1" (a 10d parameter of type `Parameterized`)
pd1 = CP.get_parameter_distribution(param_set, "uq_param_1")
# get `ParameterDistribution` for the parameter named "uq_param_5" (a 4-dim parameter of type `Samples`)
pd5 = CP.get_parameter_distribution(param_set, "uq_param_5")
# get `ParameterDistribution`s for parameters "uq_param_1" and "uq_param_5
pd = CP.get_parameter_distribution(param_set, ["uq_param_1", "uq_param_5"])

@bielim
To run the tests i needed to

add include("uq_parameters.jl") into test/runtests.jl
add Distributions and EnsembleKalmanProcesses into CLIMAParameters project toml

Can you also add
Random and LinearAlgebra into the Project.toml
This will allow
julia --project
]
test

to work

Interestingly I don't get the warning about the call to MvNormal, even after upgrading to Julia 1.7.2. I am using Distributions.jl v025.53, which is the latest release. I will therefore leave the MvNormal parameter example as is for the time being. If needed, I can add the ability to parse expressions of the sort MvNormal(LinearAlgebra.Diagonal(FillArrays.Fill(σ^2, d))) later on (it wouldn't work now as the cost of avoiding the evil eval is that the parser doesn't work for any given string representing Julia code but only for a subset of strings representing certain ways of constructing distributions.


Adding Year

Thank you for setting this up it's awesome and easy.  Sadly, I don't know the first thing about how to do any of this but wanted to see if something was possible and if so How I can add this:  I want to add the year to the date.  The reason is because I want to show it in a screeen video presentation for a case I have in the Superior Court of California Van Nuys [shift-cmd-5].  I don't want to touch anything you have done.  Thank you.  Chris Barone.

Chris,
Unfortunately it's not possible for the script to set the format of the menu bar clock to display the year as it simply mimics what can otherwise be achieved by setting the format through System Preferences. It is therefore limited to the formats defined by Apple.
There are applications that allow you to customise the display of the menu bar clock, but I don't know if any will do what you're asking. iClock and iStat Menus are two that I'm aware of.

Chris,
Unfortunately it's not possible for the script to set the format of the menu bar clock to display the year as it simply mimics what can otherwise be achieved by setting the format through System Preferences. It is therefore limited to the formats defined by Apple.
There are applications that allow you to customise the display of the menu bar clock, but I don't know if any will do what you're asking. iClock and iStat Menus are two that I'm aware of.

Steve,
Thank you very much.  I really appreciate what you do and helping me.  I will try those out but either way, thank you.  Very kind.
Sincerely,
Chris Barone
On Friday, January 1, 2021, 11:06:20 PM PST, Steve Ward<EMAIL_ADDRESS>wrote:

Chris,
Unfortunately it's not possible for the script to set the format of the menu bar clock to display the year as it simply mimics what can otherwise be achieved by setting the format through System Preferences. It is therefore limited to the formats defined by Apple.
There are applications that allow you to customise the display of the menu bar clock, but I don't know if any will do what you're asking. iClock and iStat Menus are two that I'm aware of.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Steve,
Thank you very much.  I really appreciate what you do and helping me.  I will try those out but either way, thank you.  Very kind.
Sincerely,
Chris Barone
On Friday, January 1, 2021, 11:06:20 PM PST, Steve Ward<EMAIL_ADDRESS>wrote:

Chris,
Unfortunately it's not possible for the script to set the format of the menu bar clock to display the year as it simply mimics what can otherwise be achieved by setting the format through System Preferences. It is therefore limited to the formats defined by Apple.
There are applications that allow you to customise the display of the menu bar clock, but I don't know if any will do what you're asking. iClock and iStat Menus are two that I'm aware of.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


(forced) RTL support for main screen and app-list

strangely, the settings screen already has it

I am not super familiar with what is needed to support RTL here, but I wonder if the functionality would be similar to #26.  More investigation is needed here...

i think you can force right-aligned now, so if your localized app names are written rtl, it should work fine, but i'm not sure what else you're lookin for.

looks like we don't automatically use the language if we don't have localization for it already. e.g. for Arabic: you can set the language to it, but unlauncher won't localize (because of the missing localization file?)


PARQUET-1384: fix clang build error for bloom_filter-test.cc

replace https://github.com/apache/parquet-cpp/pull/488

This needed to be rebased, just did that

done.

Sorry I meant that I had rebased it myself (I am allowed to push to your fork). No problem. Thanks!
+1


Is this compatible with CocoaPods?

It seems I cannot make this work with CocoaPods. While the Xcode project builds without any issues, building the binding library always comes up with errors saying that the pod added cannot be found? The error goes away if I add the pod references to the main project, but then it gives me another error where it then cannot find the actual project pod?

I've fixed it by avoiding the creation of a xcworkspace through the flag  "install! 'cocoapods', :integrate_targets => false" on my pod file. Maybe this should be on documentation because using an xcworkspace, which is the recommended implementation for native iOS does not seem to work for the library interop.


chore: update tree count (#919), feat: remove requests to vercel api

chore: update tree count

chore: update splash screen

ship it 🚢


Editing a date column should use datetime-picker not calendar picker

Description
Editing a date column triggers calendar picker. Checked with our dev team, it should use datetime picker not calendar picker.
Version
Data-grid: V1.2.4
Screenshot

It looks like the component being used is the px-datetime-picker because iron-dropdown does that weird side position stuff. It is px-datetime-picker that uses iron-dropdown not px-calendar-picker
Inorder to fix the cut off problem the px-datetime-picker should be updated and add the hoist property to it.

Closing this one. I think Kate validated it's the correct component.


Add EL9 distro

@tillkruss Is this what you want?

viktor was out of order, not ready for hard work.

What needs to be done here?


Characters are truncated on gVim

Similar to the problem addressed in cdd97e9, but for that there may have been other display issues (i.e., not just truncated characters).
gVim

Vim

Fixed in 773ae01b971f80a6750384af32646e48b6b3348e.


Added support for datasource renaming

#442

if old key is same as the new one, should the job be skipped?

If the old key is same as the one one we need to consider whether or not we still process it. For performance reasons right now I am skipping it because it has to iterate through all the dashboards and their corresponding queries to find which ones need to updated. Also considering that in the future we have a changelog table for dashboards, we don't want to create empty changelogs because of this.