Error when running "ls /tmp/spotifile/playlists/music"

When I mount spotifile (with spotifile -d /tmp/spotifile) and then try to get the list of playlists (with ls /tmp/spotifile/playlists/music), spotifile aborts with an error message (included at the end of this post).
Some notes about my setup:

I have a very large number of playlists (probably several hundred), arranged in folders. I suspect that I may be hitting some sort of timeout because of the large number of playlists (especially because spotifile doesn't yet support playlist folders).
Sometimes, two playlists have the same name, but are in different folders.
Some of my playlists contain local files.
The bug occurs about 90% of the time. Sometimes, the "ls" command works, but any subsequent "ls" command (eg ls /tmp/spotifile/playlists/music/Summer, where Summer is the name of a playlist) will result in a similar error.
I'm using spotifile on Arch Linux via the AUR package.

Thanks for looking at this, if you have the time, and please tell me if I can provide any further information.
The full spotifile -d output is:
FUSE library version: 2.9.7
nullpath_ok: 1
nopath: 1
utime_omit_ok: 0
unique: 1, opcode: INIT (26), nodeid: 0, insize: 56, pid: 0
INIT: 7.25
flags=0x0007fffb
max_readahead=0x00020000
[D @ 2017-01-05 15:31:44 EST] spotifile: created root
[D @ 2017-01-05 15:31:44 EST] spotifile: created file connection
[D @ 2017-01-05 15:31:44 EST] spotifile: added connection to dir root
[D @ 2017-01-05 15:31:44 EST] spotifile: created dir browse
[D @ 2017-01-05 15:31:44 EST] spotifile: created dir artists
[D @ 2017-01-05 15:31:44 EST] spotifile: added artists to dir browse
[D @ 2017-01-05 15:31:44 EST] spotifile: created dir tracks
[D @ 2017-01-05 15:31:44 EST] spotifile: added tracks to dir browse
[D @ 2017-01-05 15:31:44 EST] spotifile: created dir albums
[D @ 2017-01-05 15:31:44 EST] spotifile: added albums to dir browse
[D @ 2017-01-05 15:31:44 EST] spotifile: added browse to dir root
[D @ 2017-01-05 15:31:44 EST] spotifile: created dir search
[D @ 2017-01-05 15:31:44 EST] spotifile: added search to dir root
[D @ 2017-01-05 15:31:44 EST] spotifile: created dir playlists
[D @ 2017-01-05 15:31:44 EST] spotifile: added playlists to dir root
[D @ 2017-01-05 15:31:44 EST] spotifile: created dir meta
[D @ 2017-01-05 15:31:44 EST] spotifile: added meta to dir playlists
[D @ 2017-01-05 15:31:44 EST] spotifile: created dir music
[D @ 2017-01-05 15:31:44 EST] spotifile: added music to dir playlists
[M @ 2017-01-05 15:31:44 EST] spotifile: spotifile initialising ...
[M @ 2017-01-05 15:31:44 EST] spotifile: spotify session created!
[M @ 2017-01-05 15:31:44 EST] spotifile: trying to login as DennisFile
[M @ 2017-01-05 15:31:44 EST] spotifile: spotify: 20:31:44.401 I [ap:1752] Connecting to AP ap.spotify.com:4070
[D @ 2017-01-05 15:31:44 EST] spotifile: spotify session processing thread: started
[M @ 2017-01-05 15:31:44 EST] spotifile: spotifile initialised
   INIT: 7.19
   flags=0x00000011
   max_readahead=0x00020000
   max_write=0x00020000
   max_background=0
   congestion_threshold=0
   unique: 1, success, outsize: 40
[M @ 2017-01-05 15:31:44 EST] spotifile: spotify: logged in
unique: 2, opcode: GETATTR (3), nodeid: 1, insize: 56, pid: 3913
getattr /
   unique: 2, success, outsize: 120
[M @ 2017-01-05 15:31:44 EST] spotifile: spotify: 20:31:44.426 I [ap:1226] Connected to AP: <IP_ADDRESS>:4070
unique: 3, opcode: LOOKUP (1), nodeid: 1, insize: 50, pid: 1324
LOOKUP /playlists
getattr /playlists
   NODEID: 2
   unique: 3, success, outsize: 144
unique: 4, opcode: LOOKUP (1), nodeid: 2, insize: 46, pid: 1324
LOOKUP /playlists/music
getattr /playlists/music
   NODEID: 3
   unique: 4, success, outsize: 144
unique: 5, opcode: LOOKUP (1), nodeid: 1, insize: 50, pid: 1324
LOOKUP /playlists
getattr /playlists
   NODEID: 2
   unique: 5, success, outsize: 144
unique: 6, opcode: LOOKUP (1), nodeid: 2, insize: 46, pid: 1324
LOOKUP /playlists/music
getattr /playlists/music
   NODEID: 3
   unique: 6, success, outsize: 144
unique: 7, opcode: OPENDIR (27), nodeid: 3, insize: 48, pid: 1324
opendir flags: 0x18800 /playlists/music
   opendir[140356914001696] flags: 0x18800 /playlists/music
   unique: 7, success, outsize: 32
unique: 8, opcode: READDIR (28), nodeid: 3, insize: 80, pid: 1324
readdir[140356914001696] from 0
[D @ 2017-01-05 15:31:48 EST] spotifile: filling existing dir (null)
[D @ 2017-01-05 15:31:48 EST] spotifile: waiting for playlist to load
Attempt to unlock mutex that was not locked

Moreover, the following stack trace gets printed to the system journal:
Process 1309 (spotifile) of user 1000 dumped core.

Stack trace of thread 1321:
#0  0x00007fa769d4304f raise (libc.so.6)
#1  0x00007fa769d4447a abort (libc.so.6)
#2  0x00007fa76a5984fd n/a (libglib-2.0.so.0)
#3  0x0000000000407d1a n/a (spotifile)
#4  0x00007fa76a57b0d5 n/a (libglib-2.0.so.0)
#5  0x00007fa76a0b5454 start_thread (libpthread.so.0)
#6  0x00007fa769df87df __clone (libc.so.6)

Stack trace of thread 1313:
#0  0x00007fa76a0be1cd read (libpthread.so.0)
#1  0x00007fa76a2de092 n/a (libfuse.so.2)
#2  0x00007fa76a2dfc09 n/a (libfuse.so.2)
#3  0x00007fa76a2de6be n/a (libfuse.so.2)
#4  0x00007fa76a0b5454 start_thread (libpthread.so.0)
#5  0x00007fa769df87df __clone (libc.so.6)

Stack trace of thread 1315:
#0  0x00007fa76a0bd4f7 do_futex_wait.constprop.1 (libpthread.so.0)
#1  0x00007fa76a0bd5a4 __new_sem_wait_slow.constprop.0 (libpthread.so.0)
#2  0x00007fa76a9111f8 n/a (libspotify.so.12)
#3  0x00007fa76a8cb08d n/a (libspotify.so.12)
#4  0x00007fa76a0b5454 start_thread (libpthread.so.0)
#5  0x00007fa769df87df __clone (libc.so.6)

Stack trace of thread 1309:
#0  0x00007fa76a0bd4f7 do_futex_wait.constprop.1 (libpthread.so.0)
#1  0x00007fa76a0bd5a4 __new_sem_wait_slow.constprop.0 (libpthread.so.0)
#2  0x00007fa76a2de928 fuse_session_loop_mt (libfuse.so.2)
#3  0x00007fa76a2e4047 fuse_loop_mt (libfuse.so.2)
#4  0x00007fa76a2e6d4d n/a (libfuse.so.2)
#5  0x0000000000403fcb n/a (spotifile)
#6  0x00007fa769d30291 __libc_start_main (libc.so.6)
#7  0x00000000004042aa n/a (spotifile)

Stack trace of thread 1314:
#0  0x00007fa769df3f19 syscall (libc.so.6)
#1  0x00007fa76a59903a g_cond_wait_until (libglib-2.0.so.0)
#2  0x0000000000408295 n/a (spotifile)
#3  0x00000000004094da n/a (spotifile)
#4  0x0000000000406b04 n/a (spotifile)
#5  0x0000000000404f92 n/a (spotifile)
#6  0x00007fa76a2d9c52 fuse_fs_readdir (libfuse.so.2)
#7  0x00007fa76a2d9ddc n/a (libfuse.so.2)
#8  0x00007fa76a2e0996 n/a (libfuse.so.2)
#9  0x00007fa76a2e1f91 n/a (libfuse.so.2)
#10 0x00007fa76a2de738 n/a (libfuse.so.2)
#11 0x00007fa76a0b5454 start_thread (libpthread.so.0)
#12 0x00007fa769df87df __clone (libc.so.6)

Stack trace of thread 1316:
#0  0x00007fa769def48d poll (libc.so.6)
#1  0x00007fa76a991317 n/a (libspotify.so.12)
#2  0x00007fa76a99178d n/a (libspotify.so.12)
#3  0x00007fa76a8cb08d n/a (libspotify.so.12)
#4  0x00007fa76a0b5454 start_thread (libpthread.so.0)
#5  0x00007fa769df87df __clone (libc.so.6)

Without looking too closely, I'm guessing this is related to the somewhat naive callback timeout defined here: https://github.com/catharsis/spotifile/blob/03cff65b9972524af6d4b142924759777bd35cfc/src/spotify-fs.h#L16
The error handling in case of callback timeouts is not very good at all, so as a first attempt, I'd suggest increasing that and recompiling.

I had a chance to try changing the timeout to 60000. This time, when I run ls /tmp/spotifile/playlists/music, spotifile -d hangs after several minutes with the output included below. The ChannelError messages appear to be unimportant cache misses, as described here.
[D @ 2017-01-22 19:40:09 EST] spotifile: created root
[D @ 2017-01-22 19:40:09 EST] spotifile: created file connection
[D @ 2017-01-22 19:40:09 EST] spotifile: added connection to dir root
[D @ 2017-01-22 19:40:09 EST] spotifile: created dir browse
[D @ 2017-01-22 19:40:09 EST] spotifile: created dir artists
[D @ 2017-01-22 19:40:09 EST] spotifile: added artists to dir browse
[D @ 2017-01-22 19:40:09 EST] spotifile: created dir tracks
[D @ 2017-01-22 19:40:09 EST] spotifile: added tracks to dir browse
[D @ 2017-01-22 19:40:09 EST] spotifile: created dir albums
[D @ 2017-01-22 19:40:09 EST] spotifile: added albums to dir browse
[D @ 2017-01-22 19:40:09 EST] spotifile: added browse to dir root
[D @ 2017-01-22 19:40:09 EST] spotifile: created dir search
[D @ 2017-01-22 19:40:09 EST] spotifile: added search to dir root
[D @ 2017-01-22 19:40:09 EST] spotifile: created dir playlists
[D @ 2017-01-22 19:40:09 EST] spotifile: added playlists to dir root
[D @ 2017-01-22 19:40:09 EST] spotifile: created dir meta
[D @ 2017-01-22 19:40:09 EST] spotifile: added meta to dir playlists
[D @ 2017-01-22 19:40:09 EST] spotifile: created dir music
[D @ 2017-01-22 19:40:09 EST] spotifile: added music to dir playlists
[M @ 2017-01-22 19:40:09 EST] spotifile: spotifile initialising ...
[M @ 2017-01-22 19:40:09 EST] spotifile: spotify session created!
[M @ 2017-01-22 19:40:09 EST] spotifile: trying to login as DennisFile
[M @ 2017-01-22 19:40:09 EST] spotifile: spotifile initialised
[M @ 2017-01-22 19:40:09 EST] spotifile: spotify: 00:40:09.453 I [ap:1752] Connecting to AP ap.spotify.com:4070
[D @ 2017-01-22 19:40:09 EST] spotifile: spotify session processing thread: started
[M @ 2017-01-22 19:40:09 EST] spotifile: spotify: logged in
[M @ 2017-01-22 19:40:09 EST] spotifile: spotify: 00:40:09.475 I [ap:1226] Connected to AP: <IP_ADDRESS>:4070
[D @ 2017-01-22 19:40:12 EST] spotifile: filling existing dir /playlists/music
[D @ 2017-01-22 19:40:12 EST] spotifile: waiting for playlist to load
[D @ 2017-01-22 19:40:12 EST] spotifile: waiting for playlist to load
[M @ 2017-01-22 19:40:12 EST] spotifile: spotify: 00:40:12.931 E [ap:4172] ChannelError(3, 0, playlist)
[M @ 2017-01-22 19:40:12 EST] spotifile: spotify: 00:40:12.931 E [ap:4172] ChannelError(4, 1, link-tracks)
[M @ 2017-01-22 19:40:13 EST] spotifile: spotify: 00:40:13.199 E [ap:4172] ChannelError(4, 1, link-tracks)
[M @ 2017-01-22 19:40:13 EST] spotifile: spotify: 00:40:13.503 E [ap:4172] ChannelError(0, 1, link-tracks)
[M @ 2017-01-22 19:40:13 EST] spotifile: spotify: 00:40:13.815 E [ap:4172] ChannelError(0, 1, link-tracks)
[M @ 2017-01-22 19:40:19 EST] spotifile: spotify: 00:40:19.876 E [ap:4172] ChannelError(233, 1, playlist)
[M @ 2017-01-22 19:40:19 EST] spotifile: spotify: 00:40:19.894 E [ap:4172] ChannelError(234, 1, playlist)
[M @ 2017-01-22 19:40:25 EST] spotifile: spotify: 00:40:25.006 E [ap:4172] ChannelError(0, 0, playlist)
[M @ 2017-01-22 19:40:30 EST] spotifile: spotify: 00:40:30.112 E [ap:4172] ChannelError(1, 1, playlist)
[M @ 2017-01-22 19:40:39 EST] spotifile: spotify: 00:40:39.614 E [ap:4172] ChannelError(0, 1, playlist)
[M @ 2017-01-22 19:40:44 EST] spotifile: spotify: 00:40:44.719 E [ap:4172] ChannelError(1, 1, playlist)
[M @ 2017-01-22 19:40:44 EST] spotifile: spotify: 00:40:44.737 E [ap:4172] ChannelError(0, 0, playlist)
[M @ 2017-01-22 19:40:54 EST] spotifile: spotify: 00:40:54.967 E [ap:4172] ChannelError(0, 1, playlist)
[M @ 2017-01-22 19:41:15 EST] spotifile: spotify: 00:41:15.083 E [ap:4172] ChannelError(0, 0, playlist)
[M @ 2017-01-22 19:41:32 EST] spotifile: spotify: 00:41:32.569 E [ap:4172] ChannelError(1, 1, playlist)
[M @ 2017-01-22 19:41:32 EST] spotifile: spotify: 00:41:32.778 E [ap:4172] ChannelError(0, 1, playlist)
[M @ 2017-01-22 19:42:07 EST] spotifile: spotify: 00:42:07.898 E [ap:4172] ChannelError(0, 0, playlist)
[M @ 2017-01-22 19:42:48 EST] spotifile: spotify: 00:42:48.043 E [ap:4172] ChannelError(1, 1, playlist)
[M @ 2017-01-22 19:42:49 EST] spotifile: spotify: 00:42:49.339 E [ap:4172] ChannelError(0, 1, playlist)
[M @ 2017-01-22 19:44:24 EST] spotifile: spotify: 00:44:24.777 E [ap:4172] ChannelError(0, 0, playlist)
[M @ 2017-01-22 19:44:29 EST] spotifile: spotify: 00:44:29.935 E [ap:4172] ChannelError(0, 1, playlist)
[M @ 2017-01-22 19:44:40 EST] spotifile: spotify: 00:44:40.171 E [ap:4172] ChannelError(0, 1, playlist)
[M @ 2017-01-22 19:47:40 EST] spotifile: spotify: 00:47:40.392 E [ap:4172] ChannelError(0, 0, playlist)
[M @ 2017-01-22 19:49:10 EST] spotifile: spotify: 00:49:10.573 E [ap:4172] ChannelError(0, 1, playlist)
[M @ 2017-01-22 19:49:40 EST] spotifile: spotify: 00:49:40.685 E [ap:4172] ChannelError(0, 1, playlist)
[M @ 2017-01-22 19:54:35 EST] spotifile: spotify: 00:54:35.933 E [ap:4172] ChannelError(0, 0, playlist)
[M @ 2017-01-22 19:56:36 EST] spotifile: spotify: 00:56:36.145 E [ap:4172] ChannelError(0, 1, playlist)
[M @ 2017-01-22 19:56:36 EST] spotifile: spotify: 00:56:36.163 E [ap:4172] ChannelError(1, 1, playlist)

I can reproduce this using spotifile 0.1.7-2 from AUR.


Refactored Identifiers

This pull request suggests several minor identifier name changes for improved clarity and understandability.

@congyuluo Good job! Thank you!


GUVNOR-2328: Asset Editor height doesn't count with the added top tabs

See https://issues.jboss.org/browse/GUVNOR-2328
Related PR: https://github.com/uberfire/uberfire/pull/266
This PR for drools-wb corrects the workaround for sizing added for https://issues.jboss.org/browse/GUVNOR-2327

master: 41db505d7c8ec383622109b49e224c2fb764a42a


This mod crashes on exit code 1 when music control is installed.

Minecraft version
1.20.1
Describe the bug
when installing Music control, the game crashes with code 1
Steps to reproduce

put "music_control-1.8.2+1.20.1.jar" into the mods folder
launch minecraft
the game will close and crash with exit code 1
...

Logs
https://gist.github.com/vinnyg0621/eeb7ab7a6ec0c09f8352e560d30d4749
Additional context
No response

Please provide a valid link to the mod as described in the Mod Compatibility issue template


[Feature Request] Suggest adding a new text component

Existing Component
否
Component Name
el-text
Description
As for the single text component unified into a consistent style, it can be understood as PageHeader but does not return, and it can be customized in the middle/right/left position with a customized size of super large/large/normal/medium/small/super small

就单一的统一成样式一致的文字组件可以理解为PageHeader 但是没有返回,可以自定义位置 居中/居右/居左  自定义大小 超大/大/常规/中/小/超小


Fix issues where int64 crops could not be passed to batch_to_space.

This fix tries to address the issue where int64 crops could not be passed to batch_to_space even though both int32 and int64 are specified as supported in the docs (tf.batch_to_space.doc)
The reason is that BatchToSpace kernel puts a constraint of int32 to crops data types.
This fix removed the constraint so that int64 crops could be supported.
NOTE: Just removing the constraint should work and it is not necessary to add specification to the kernel class template, as SubtleMustCopyFlat called in the class already correctly handled both int32 and int64 cases. Besides, other data types (e.g., float or double) will not be passed to the kernel as they are guarded by the specification in array_ops.cc.
Signed-off-by: Yong Tang<EMAIL_ADDRESS>

Can one of the admins verify this patch?

@tensorflow-jenkins test this please

@tensorflow-jenkins test this please


Refactor all device functions into common C++ files

What kind of issue is this?

[ ] Bug report
[ ] Feature request
[ ] Question not answered in documentation
[X] Cleanup needed

Right now, we have C++ class hierarchies and, in the .cpp files, both the CPU side generic code and the CPU side simulator code. Then, in a separate *_d.cu file, we have all of the GPU simulator code. The goal of this issue is to use the CUDA_CALLABLE macro to produce integrated function source code that contains both the CPU and GPU simulation code. So, the *.cu files will go away, and the GPU simulation code will all be in the .cpp files, with the class of object being simulated.

Checked in the intermediate version on the master-refactor branch and verified. (Enable to run CUDA version on the new properties classes. commit: 6763b8511ef661d4eb2dde87a32e774298e45cfe)
Run CUDA version simulator with 2 configuration files (100x100 neurons, 100s x2 epoches growth model, and  1000 neurons, 1s izh neuron model) changing number of cluster (1, 2 and 4). Then run CPU version simulator with 1 configuration file (10x10 neurons, 100s x 2 epochs growth model), and verified the results with results of master version. All results are identical. However, the performance of CPU refactor version of simulator is slower than master version (1.5 times slower, but GPU version is about the same).

Interesting. We can do a code review to see if we can see what might cause such a dramatic slowdown from simply reorganizing the code (especially since the change seems like it is more on the GPU side). In principle, it seems like CUDA_CALLABLE should have no impact on the CPU side...

Simulator crushes (cudaErrorIllegalAddress at cudaDeviceSynchronize() call after advanceSynapses()) after moving device synapses functions to C++ class functions. Fermi and its descendants support for C++ virtual functions, function pointers, and ‘new’ and ‘delete’ operators for dynamic object allocation and de-allocation,  so this should work.  (https://www.nvidia.com/content/PDF/fermi_white_papers/NVIDIA_Fermi_Compute_Architecture_Whitepaper.pdf) . I am blocked by this problem.

The simulator failed to function after "Moved synapses device func to CUDA_CALLABLE" (commit 04b123a5e57d0d294ffa139315e359f23139be9a).

Run "./growth_cuda -t validation/test-large-conected_new.xml". After stating the second epoch, it caused the error "CUDA error at ./Core/GPUSpikingCluster.cu:500 code=77(cudaErrorIllegalAddress) "cudaDeviceSynchronize()".
Run "./growth_cuda -t validation/static_izh_1000_new_ttt.xml". It worked OK, and generated a valid result.
Added "-G" nvcc option ("Generate debug information for device code, turns off all optimization on device code"). It didn't cause the error, but generated an invalid result, and also running time was longer.

Run "./growth_cuda -t validation/test-large-conected_new.xml". After "updateSynapsesWeight", It caused the error "CUDA error at ./Synapses/AllSpikingSynapsesProps.cpp:278 code=77(cudaErrorIllegalAddress) "cudaMemcpy ( &allSynapsesProps, allSynapsesDeviceProps, sizeof( AllSpikingSynapsesProps ), cudaMemcpyDeviceToHost )"
Run "./growth_cuda -t validation/static_izh_1000_new_ttt.xml". After "setupConnections", it caused the error "CUDA error at ./Connections/ConnStatic_d.cu:111 code=77(cudaErrorIllegalAddress) "cudaFree( rDistDestNeuron_d )"

So, shall we conclude that this is another feature of CUDA that NVIDIA has oversold — something that, if it works, only works in simple cases? I think that, while this is a nice cleanup of our architecture, there are likely more pressing functional matters to consider.

The commitment (04224e4520c7dbaa0524c2d3cf2b00d61afc1204) fixed the problem no. 5 above. Now we still have the problem no. 4 above. I run "./growth_cuda -t validation/test-large-conected_new.xml" with cuda-memcheck and found that there are illegal memory access at AllDSSynapses::changePSR() function.
========= CUDA-MEMCHECK
========= Invalid global read of size 4
=========     at 0x00000478 in AllDSSynapses::changePSR(unsigned int, float, unsigned long, AllSpikingSynapsesProps*)
=========     by thread (47,0,0) in block (27,0,0)
=========     Address 0x15c8469a00 is out of bounds

The refactor version of growth_cuda starts working on otachi which was compiled with CUDA 9. It looks like CUDA 9 solved the issue. To confirm that, we will implement CUDA 9 on raiju and verify it's running.
The performance of the refactor growth_cuda was slower. We run master and refactor growth_cuda on 100x100 neurons with 100s*2 epochs simulation. The duration of the master growth_cuda was 256s, and the duration of the refactor growth_cuda was 333s.
Also the simulation output was not identical. We need to investigate this.

Confirmed that the refactor version of growth_cuda works on raiju with CUDA 9.

Validation results:

I confirmed that the master and the refactor version of growth_cuda and growth generated identical outputs (1,000 IZH neurons and spiking synapses static connection model (GPU), 100x100 LIF neurons and DS synapses dynamic connections model (GPU), and 10x10 LIF neurons and DS synapses dynamic connection model (CPU)).
However growth_cuda generated different outputs between on raiju and on otachi with 100x100 LIF neurons and DS synapses dynamic connections model.

Performance evaluation results:
Run growth_cuda (GPU) with 100x100 LIF neurons and DS synapses dynamic connections model, 100s x 2 epochs.
Master version on raiju ----- 590s (1 GPU), 477s (2 GPUs)
Refactor version on raiju ----- 867s (1 GPU), 636s (2 GPUs)
Master version on otachi ----- 162s (1 GPU), 184s (2 GPUs)
Refactoir version on otachi ----- 226s (1 GPU), 229s (2 GPUs)
Run growth_cuda (GPU) with 1,000 IZH neurons and spiking synapses static connection model, 1s x 1 epochs.
Master version on raiju ----- 35s (1 GPU)
Refactor version on raiju ----- 40s (1 GPU)
Master version on otachi ----- 13s (1 GPU)
Refactoir version on otachi ----- 9s (1 GPU)
Run growth (CPU) with 10x10 LIF neurons and DS synapses dynamic connection model, 100s x 2 epochs.
Master version on raiju ----- 219s
Refactor version on raiju ----- 224s
Master version on otachi ----- 220s
Refactoir version on otachi ----- 234s

Refactor version of growth_cuda is around 1.4~1.5 times slower than the master version of growth_cuda with 100x100 LIF neurons and DS synapses dynamic connections model, 100s x 2 epochs.
No significant performance difference between the refactor and the master version of growth_cuda with 1,000 IZH neurons and spiking synapses static connection model, 1s x 1 epochs. On otachi refactor version is faster.
No significant performance difference between the refactor and the master version of growth with 10x10 LIF neurons and DS synapses dynamic connection model, 100s x 2 epochs, also no significant performance difference between the raiju and otachi.
2 GPUs outperformed on raiju, but slower on otachi.

Difference between LIF/DSS and IZH/SS: To me, this suggests that the performance hit might just be in the neurons, not the synapses.
Difference between single and multi-GPU on otachi: Seems like our simulation just isn't big enough to merit multiple V100s.
Speedup between raiju and otachi: A slight bit less than a 75% speedup for both master and refactor.

The master-refactor branch is now merged into the master branch.


gamify? notify?

Hi,
I really enjoyed these. Any thoughts about keeping score to gamify it (or just know how well you did)? Also, it would be great to be notified (preferably by email, I don't use instagram) when you publish new ones. Is there a way to do this?
Thanks!

This is a great idea. I will definitely look into this! Generally, I will post new questions every Thursday, however I will definitely set up some notification system. I'll keep this issue open in case some people have good ideas on how to do this 😄

https://www.jshero.net
is free software:
https://github.com/strenkel/jshero
it's different than yours, but might be worth looking at. it doesn't actually keep score, but it changes questions from red to green when they've been answered correctly (passed the unit test)

Or maybe something like https://kahoot.com/ . There's probably a ton of ways to do it, if only i could google it :)

FYI I published javascript-questions-cli to npm for fun, you can use it meanwhile to keep track of your progress:
npx javascript-questions-cli

Note: never run commands provided by strangers without verification, you can check out the code right here to ensure safety → https://github.com/naholyr/javascript-questions-cli

You can now sign up here if you want to receive updates when I've added new questions 😄

Vote for javascript-questions-cli! :+1:

Or maybe something like https://kahoot.com/ . There's probably a ton of ways to do it, if only i could google it :)

I was planning to have a JS-quiz at work and found this awesome repo. So I took the first 60 questions and made a Kahoot Quiz. I'll try it out this Wednesday and if it all goes well, I'll add the rest of the questions in it and share! :-)

I have updated the code published by naholyr to work with the current version of the readme, and changed it to pick questions randomly: javascript-questions-random-cli


tvos 12 new videos

i dont know where to put this but i want to check if it is possible to get the new tvos 12 videos.

I have the new videos.  If I add them to the Cache folder will ArialSaver see and display them or do I need to add the links with code?

@johnnyblair If you are able to make the screensaver see the videos in the cache folder, would you mind sharing them?  Or pointing me to where you found them?  Thanks!


Support options: param for inline @Damage and @Check

Add support for options: syntax to @Damage.
Add roll option data to the inline link element created by @Damage.
Account for roll options (as well as traits) in augmentInlineDamageRoll.

Damage roll options are already supported. This would be a breaking change and require a migration.

Damage roll options are already supported. This would be a breaking change and require a migration.

Subject to the name change- care to elaborate?  This shouldn't break anything as it's only adding a new param: option:, which shouldn't be used yet anywhere.

I think this is fine if it also does @Check since we wouldn't want an inconsistency. We'll also need to inform data entry to phase out using traits to inject roll options.

I think this is fine if it also does @Check since we wouldn't want an inconsistency. We'll also need to inform data entry to phase out using traits to inject roll options.

I noticed that there are some domains for inline damage rolls, what about doing an RE to get this behavior instead of this pull request?
{
    "key":"RollOption",
    "selector":"{item|_id}-inline-damage",
    "option(s)":"put roll option(s) here"}

I tested this and got equivalent behavior for my use case (dragon breath weapon damage on a PC Eidolon).

That's a question for @TikaelSol and @SpartanCPA but my immediate guess is that it may not work in situations with multiple rolls, and its also more cumbersome.

That's a question for @TikaelSol and @SpartanCPA but my immediate guess is that it may not work in situations with multiple rolls, and its also more cumbersome.

Got it- working on the @Check part now just to see how it goes.

Wunderbar! Except the = for the destructuring going to the new line, but prettier gets what it wants.
Later far in the future we can remove traits from extra roll options and life will be good.

@stwlam @CarlosFdez Is there no CD for this? I was kinda expecting these changes to be in the next release after it was merged.

Except for hotfixes, releases are usually on a two week cycle,

So 2 weeks after commit or just everything up to that point?

So 2 weeks after commit or just everything up to that point? I thought the merge was prior to 5.3.2 was cut for release.
Ah well, was hoping to use them in my game.

You can run your game off of the development branch. If you know how to commit I’m pretty sure you know how to build :)

I don't run the server I play on, unfortunately, but they do keep their
pf2e system up to date.  I had been using the master build locally in
foundry which I was surprised that the changes weren't in 5.3.2.
On Mon, Aug 14, 2023, 11:15 PM TMunsie @.***> wrote:

So 2 weeks after commit or just everything up to that point? I thought the
merge was prior to 5.3.2 was cut for release.
Ah well, was hoping to use them in my game.
You can run your game off of the development branch. If you know how to
commit I’m pretty sure you know how to build :)
—
Reply to this email directly, view it on GitHub
https://github.com/foundryvtt/pf2e/pull/9173#issuecomment-1678367654,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJWLEE627VZIJM2JSJMYHVDXVLSUNANCNFSM6AAAAAA3FYYUWU
.
You are receiving this because you authored the thread.Message ID:
@.***>

I don't run the server I play on, unfortunately, but they do keep their pf2e system up to date. I had been using the master build locally in foundry, which is why I was surprised that the changes weren't in 5.3.2. Also, master is the development branch?

Well, it is more of a feature than a bug fix so that’s why it didn’t get into 5.3.2. And yes, the master branch is dev. Release is release and they’re version-tagged.

I don't run the server I play on, unfortunately, but they do keep their pf2e system up to date. I had been using the master build locally in foundry, which is why I was surprised that the changes weren't in 5.3.2. Also, master is the development branch?

Well, it is more of a feature than a bug fix so that’s why it didn’t get into 5.3.2. And yes, the master branch is dev. Release is release and they’re version-tagged.

Gotcha- I think I was confused by the CD.yml, assuming that the delivery was automated.  Thanks!


Code release?

Hi,
Interesting Work. When are you planning to release the training code?
Thanks,
Sonam

code has been uploaded.

Hello, the model is still not here, I mark this as UN-Completed and UN-Closed.

@Youncy-Hu - pls provide model "asap" (I need it for like within 6hrs thats when Im at home and will be programming. Tks!)


Update  to a more recent version : repo2docker/buildpacks/base.py l:16 FROM buildpack-deps:bionic

Proposed change
Switch to a more recent default buildpack than bionic (5Years old)
Alternative options
For compatibility/legacy  reason, Allow selection of the buildpack
Who would use this feature?
Proposed change would impact the default buildpack, so i guess a lot of peoples ?
How much effort will adding it take?
Easy to add, hard to test.
Who can do this work?
Simple change, it s only a few charcters to change.
Then there's a need to test it

Not sure if the project has non regression tests, in that case it's simple
If there's no non regression test, then need to find relevant test cases.

We definitely need to do this, but it's also a massive breaking change for anyone using apt.txt to install packages, since these packages may have breaking changes, or be added/removed/renamed.

👍


Tally ho connector

Description
Add Tally Ho the open-source community-run wallet as a connector option. This is the work completed as per discussion #1049.
Many projects that use wagmi as a backend have expressed interest in having Tally Ho as an always-showing connection option.
Additional Information

[ x ] I read the contributing docs (if this is your first contribution)

Your ENS/address:
zoz.eth

@0xzoz appreciate you looking into this! let's chat about it in https://github.com/wagmi-dev/wagmi/discussions/1049 and can re-open this later.


Create developer documentation for ReadTheDocs for Mu-naco

How else are folks going to feel welcome or know what to do..? :cow: :heart: :memo:

Fixed by c1a0494589020d965b7364772bc6c610abc7218d


Improve backtick quoting

Currently backticks themselves cannot be used inside a backtick-quoted identifier. The proposal is to use double backticks to mean a single backtick character in the identifier:
SELECT `a ``quoted`` identifier`;

Also, the error message for starting a quoted identifier with an @ should be more user-friendly, like "identifiers cannot start with '@'"

The proposal is to use double backticks to mean a single backtick character in the identifier:

I'd suggest more popular backslash (\) character.


Set aria-hidden on hint input

Without this aria information, screen readers like JAWS select the hint input before the real input when navigating the page with arrow keys. This is really confusing for people as they don't understand why a search field need two inputs.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Minor layout fixes and dependencies upgrade

[chore: 🤖 Updated dependencies]
[fix: 🐛 [AppBar] User menu to be of type 'icon' on xs screens]

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


basehub: add singleuserAdmin.serviceAccountName config and small refactoring

I think it could be useful to be able to provide admin users with a different k8s ServiceAccount than for other users, as that would enable us grant them different cloud permissions.
This may be a pre-requisite of resolving #3038 and https://github.com/2i2c-org/infrastructure/issues/2886.
What this PR includes in detail

refactoring to de-nest code for some improved readability
cleanup of not-functional and unused custom.singleuserAdmin.initContainers
refactoring of internal variable name volume to vm (for volume_mount)
adding of not-yet-used custom.singleuserAdmin.serviceAccountName as its a starting point for #2886

There was a similar request from another community a few weeks ago https://github.com/2i2c-org/infrastructure/issues/2886 that this PR might help solve

An overview as I understand it currently:

KubeSpawner.service_account can be set via the chart config singleuser.serviceAccountName.
The jupyterhub chart and the basehub chart defaults to not set this
The daskhub chart on the other hand sets this to user-sa
The basehub chart includes a chart template to create a k8s ServiceAccount resource with an annotation, making such ServiceAccount used by a pod get relevant credentials from the annotation coupled cloud account on both GCP and AWS thanks to cloud specific stuff

So I think there are reletad work and things to consider:

creating separated cloud identities and associated permissions for admin and non-admin users via terraform variables
creating separated k8s ServiceAccounts for admin and non-admin users via basehub chart
mounting separated k8s ServiceAccounts for admin and non-admin users via basehub chart's singleuserAdmin.serviceAccountName config (this PR)

This PR is meant as an incremental step to offload us from getting everything done at the same time.

Thank you for reviewing @GeorgianaElena!!!


Bug: Application error: Selection points outside of document

Error message: Selection points outside of document
Error stack:
RangeError: Selection points outside of document
    at Hme (altair://-/main.js:1:2226658)
    at new n (altair://-/main.js:1:2233323)
    at n.create (altair://-/main.js:1:2233454)
    at Jme (altair://-/main.js:1:2235464)
    at n.update (altair://-/main.js:1:2237162)
    at n.dispatch (altair://-/main.js:1:2359143)
    at altair://-/main.js:1:2730606
    at B.<computed> (altair://-/polyfills.js:1:59414)
    at x.invokeTask (altair://-/polyfills.js:1:26517)
    at Object.onInvokeTask (altair://-/main.js:1:659367)

When did this error occur? And does it re occur, or it happened only once?
Please provide some helpful screenshots of the bug
Version 5.0.4

When does this error occur? And does it re occur, or it happened only once?

It happend only once. Sorry, I don't remember the situation. I submitted this issue just by clicking the button in altair.

Thanks. I'll close this for now. Feel free to re-open if the issue occurs again.


Jamila development #3

New pull-request with updated features and removed Navigation bar

Lack of comments in the script file

add a blank new line at the end of files (the other html, css, and js files in this PR too) - FIXED

I fixed everything up but I messed up with branch checkout and accidentally made changes on the new server branch and had to create a new branch with portfolio changes, so I don't lose my precious code. Sorryyyyy it's a new PR


ng-table at issue at angular 1.6.4 ?

Hi,
I'm having below issues when using ng-table with v 1.6.4, can you please advise?
The version of ng-table I'm using is<EMAIL_ADDRESS>The code I'm using is the same as http://ng-table.com/#/columns/demo-visibility
TypeError: v2.title is not a function
at fn (eval at compile (angular.js:15358), :4:164)
at angular.js:16354
at m.$digest (angular.js:17991)
at m.$apply (angular.js:18269)
at l (angular.js:12387)
at XMLHttpRequest.A.onload (angular.js:12541) undefined

Not sure if it is the best solution but fixed the problem with below.
At the ng-repeat added a function to check if the col.title is a function before calling it.

 **{{callAFunction(col)}}**

callAFunction looks like:
if (angular.isFunction(col.title)) {                                return col.title();    } else {                   return ""; }


Don't add ValidatingWebhookConfiguration in chart local mode

Don't add ValidatingWebhookConfiguration object if .Values.testmachinery.local is set. local mode causes the admission controller endpoint to not be added.
Signed-off-by: Brian Topping<EMAIL_ADDRESS>How to categorize this PR?

/area testing
/kind bug

/lgtm


Nominate tomeronen as a voting member

I would like to nominate @tomeronen to become a MapLibre Voting Member.
Motivation
Significant UI work in Martin: https://github.com/search?q=org%3Amaplibre+author%3Atomeronen&type=pullrequests
Note that the PRs were not merged, as their content is being adapted as part of others, but there was significant efforts put into them for sure (thanks!)
Checklist

[x] The nominee contributed in a non-trivial way or donated funds to the MapLibre Organization.
[x] This PR updates VOTING_MEMBERS.md with the GitHub handle and current employer (when applicable) of the nominee.
[ ] The nominee has approved the pull request to indicate they want to be a Voting Member of MapLibre.
[ ] The nominee has shared their full name and contact e-mail with this form.
[ ] At the voting deadline[^1], more Voting Members have approved this pull request than disapproved this pull request.

More details on the process of nominating Voting Members can be found here.
[^1]: Thursday, Aug 22nd, 2024 at 17:00 CEST

@tomeronen, congratulations on being nominated to become a MapLibre Voting Member. As Voting Member you can elect the Governing Board, more on the election see here.
To accept the nomination please do the following two steps until Thursday, Aug 22nd, 2024:

Approve this Pull Request
Share your email and contact details with us with this online form

@nyurik @wipfli thank you! very exiting


TypeError in index.android.bundle:743

Error in mSupply Mobile
TypeError in index.android.bundle:743
null is not an object (evaluating 'e.itemBatch.id')
View on Bugsnag
Stacktrace
index.android.bundle:743 -

View full stacktrace
Created automatically via Bugsnag

Definitely a problem even in most recent version!

Chilling to medium until we see it again, bugsnag has dropped the stack trace hard to tell what caused this. Might be related to stocktake actual quantity field clearing entered value after being highlighted?

404 bugsnag. Maaaaybe fixed in stocktake fixes #627


Add branch to build version when not a tagged release

When doing development/testing of kube-aws the inclusion of the branch in the kube-aws version will be a great help in quickly identifying the binary you are working with.  Now that we display the kube-aws version in the motd this also helps us confirm the geneology of an existing running cluster.
Tag releases unchange - this is only added for untagged developement builds.

Codecov Report

Merging #1368 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1368   +/-   ##
=======================================
  Coverage   37.31%   37.31%
=======================================
  Files          74       74
  Lines        4478     4478
=======================================
  Hits         1671     1671
  Misses       2576     2576
  Partials      231      231

Continue to review full report at Codecov.

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


Remove analytics (UDC, Segment) and other kinds of home calling

Hi there,
CrateDB already includes a Usage Data Collector (UDC) component. There have been some additional components in the Admin UI which were thought to deliver those kinds of features:

Support chat integration with Intercom
Intercom integration through Segment, also providing tracking analytics
Compare running/recent versions with https://crate.io/versions.json
Populate the wrench menu with content from https://crate.io/feed/menu.json

As we are a) phasing out Intercom and b) the other features have never actually been used actively, I believe it is for the better to remove those features altogether. In that manner, the user navigating in Admin UI will never see the browser making calls to any 3rd party locations whatsoever.
With kind regards,
Andreas.

Removing Segment will result in the loss of Google Analytics data (which according to @michaelkremmel hasn't been working for quite a while and a webhook pointing to https://udc.crate.io/uid with no credentials/tokens/secret, so I reckon this doesn't do anything either. If you can confirm that @amotl, I'll gladly approve

not sure about removing these bits:

Compare running/recent versions with https://crate.io/versions.json
Populate the wrench menu with content from https://crate.io/feed/menu.json

the first one is in use, in the sense that it notifies users when a newer version of CrateDB is available, and as far as I know, this feature still works. https://crate.io/versions.json is actively updated. I don't understand why we would remove this functionality. it seems useful to me. @mfussenegger probably has input here
re https://crate.io/feed/menu.json: this seems like a useful thing to keep around. why remove it?

Hi Naomi,
the why was: Remove everything which calls home in order to better respect the user's privacy and to remove any obstacles when running CrateDB in constrained environments.

The dynamic menu (feed/menu.json) might sound useful, but apparently it does not actually get used. I wonder whether it was in the past?
Let me know if you believe the version update note feature should stay. Personally, I never experienced it in action but maybe I overlooked it or my browser blocked it?

With kind regards,
Andreas.


feat(overflow-list): add overflow change event

Types of changes

[ ] New feature
[ ] Bug fix
[x] Enhancement
[ ] Component style change
[ ] Typescript definition change
[ ] Documentation change
[ ] Coding style change
[ ] Refactoring
[ ] Test cases
[ ] Continuous integration
[ ] Breaking change
[ ] Others

Background and context

Solution

How is the change tested?

Changelog

Component
Changelog(CN)
Changelog(EN)
Related issues

overflow-list
溢出数量改变事件
overflow quantity changes event
-

Checklist:

[ ] Test suite passes (npm run test)
[ ] Provide changelog for relevant changes (e.g. bug fixes and new features) if applicable.
[ ] Changes are submitted to the appropriate branch (e.g. features should be submitted to feature branch and others
should be submitted to main branch)

Other information

事件名称change 是否合适？
可选建议

change
overflow
overflow-change

事件名称change 是否合适？
可选建议

change
overflow
overflow-change

change 更好，默认就用它吧


New logo

We need a new logo for the new name

This mark act as a simple representation of the tower antennas without representing the tower explicitly. The relative size and spacing of the lines of the mark mirror a three dimensional rendering of the antennas in space.
The spacing and growth of the lines out from the center indicates a broadcast while the number of lines also represents a group of listeners.
The type is strong and bold to match the weight of the lines with tight tracking that makes the logotype stand on its own. The dot between 'sutro' and 'fm' stands out as a reference back to the mark.
Colors were inspired by the tower, itself. Going with this palette will not leave any doubt that this is a Rdio-powered product and not a Rdio product. I'm not sure if this is what you're going for, but I decided to run with it.
Cheers!

Fantastic concept!

wooaaaaah...
that's some serious quality marketing speak there ;)  I'm sold. I think we should use that exactly as-is

Love it! Can you create a pull request making it official? Also, could we get a square version for the Twitter account?

Oh wait let me try uploading this one to the Twitter account!  I think it might work!  Love this new logo.

Out of pocket right now. Glad you all like it. I'll clean it up and generate the right versions and commit them. Do we need a version on black?
Also, the typeface is avenir next. Should we incorporate that into the site design?
Sent from my iPhone

On May 29, 2015, at 1:48 PM, Holly French<EMAIL_ADDRESS>wrote:
Oh wait let me try uploading this one to the Twitter account! I think it might work! Love this new logo.
—
Reply to this email directly or view it on GitHub.

I didn't have a chance to actually check this into the repo in the appropriate place yet. Here all the different versions of icons. I have 2 twitter icons, a twitter bg, favicons, web logo and some source files, including the vector source.
Have fun.
http://the.digitalflan.com/ba77

awesome!  updated the twitter account with the new icons.

Fancypants.


CDK/cyclin complexes

Jacky Hayles has annotated  a number of cell cycle papers that I have been putting off  because of the unavailability  of the correct cylin Dependent kinas complexes.
I think we decided a while ago that complexes should be defined "functionally".
The primary roles of the CDK-cyclin complexes are to  control the cell cycle transisions preceding replication G1/S and mitosis G2/M.
I would like to be able to differentiate the complexes at these 2 transitions, but cannot do so from the (many) available terms.
This is summarised very nicely in the first paragraph of
PMID:8521500
Title | p25rum1 orders S phase and mitosis by acting as an inhibitor of the p34cdc2 mitotic kinase.
The cell cycle can be considered as a developmental sequence made up of S phase and mitosis. These processes result in the chromosomes being replicated and segregated into the two newly divided cells. Major cell cycle controls regulate the onset of S phase and mitosis and ensure that these events occur in the correct sequence. Central to these controls are the cyclin-dependent kinases (CDKs), which are required for the onset of S phase and mitosis in all eukaryotic cells (for reviews see Nurse, 1990; Nigg, 1995). In the yeasts, a single CDK, ~34”~“’ encoded
by cdc2+ in fission yeast and ….. by CDC28 in budding yeast, is required for both these cell cycle transitions. (CDK) becomes associated with different CLN and CLB cyclins that function during Gl for the onset of S phase and later in the cell cycle for the onset of mitosis (Nasmyth, 1993). In multicellular eukaryotes there are more CDKs, which form a variety of complexes with different cyclins, regulating progression through the cell cycle (Nigg, 1995).
GO:0000307

obsolete
GO:0019908    nuclear cyclin-dependent protein kinase holoenzyme complex
(36 manual annotation mainly PomBAse and SGD, most probably not direct, will check)
but keep the children
(we should not specify complex location, I think  certain CDK/cyclin complexes might be exclusively nuclear, but we capture that elsewhere
ditto
2. GO:0000308    JSON
cytoplasmic cyclin-dependent protein kinase holoenzyme complex

Create 2 new terms

A) mitotic G1/S transition CDK-cyclin complex
Cyclin-dependent protein kinases (CDKs) are enzyme complexes that contain a kinase catalytic subunit associated with a regulatory cyclin partner, involved in the regulation of the mitotic G1/S transition, and control of subsequent downstream events  Additional activators or inhibitors may be present before the transition.
B)  mitotic G2/M transition CDK-cyclin complex
Cyclin-dependent protein kinases (CDKs) are enzyme complexes that contain a kinase catalytic subunit associated with a regulatory cyclin partner, involved in the regulation of the mitotic G2/M transition, and control of subsequent downstream events  Additional activators or inhibitors may be present before the transition.
to represent the different pairings at  these major transitions. Add more to cover  known complexes for meiotic transitions.

Rehouse  existing complexes under these transitions

(not that some pairings may operate at multiple transitions, but they always have  transition specific members, so the the CDK and the cyclin in these cases would be annotated to both terms, with the additional complex members as required).
Some complexes may not fit under these transitions (for example  CDK-activating kinase complex which is itself a CDK complex, and the transcription elongation cyclin complexes  (i.e. P-TEFb complex)
This would provide a better way to use the complexes in specific models  of cell cycle transitions.
At present we have a long list of Human  specific complexes
But it is difficult to related these to orthologous complexes or specific cellualr roles:

Classifying by family will not be helpful here because family membership does not always correlate with conserved role.
@bmeldal  thoughts?
If this sounds sensible could you move the existing terms to the appropriate places.

better names
A) mitotic  CDK-cyclin complex
synonym cdc2-B cyclin (possibly related)
B)  S-phase  CDK-cyclin complex

That makes a lot of sense, Val. I never liked the existing "holoenzyme" grouping terms as they really do not make much sense. They are not my requests but predate my time here.
(There are other "holoenzymes" which should be removed/rehoused)
P-TEFb complex needs to be rehouse somewhere in the transcription factor class...

Okay moved my comments here. Although you are focused on ones you arre annotating, always good to scope out the big picture :)
In budding yeast, cyclin CDK complexes control the two proposed transitions, G1/S (CLNs), and G2/M CLB3 and CLB4, while CLB5 and CLB6 complexes are in involved in DNA replication therefore control passage through S phase. I wonder if at least another term is required. In addition, CLB1 and CLB3 at least are involved in meiosis. Are these activities accounted for in the proposal?


Some questions for your setting

Thanks so much for sharing such amazing datasets!  @jasongief  @OpenNLPLab123
We are trying to follow your work and have some questions about the setting,
1). In the segmentation, the previous datasets don't change the resolution ratio because:

force the image into one size (i.e., 224, in your case)  will destroy the semantic meaning of the input data, and
it will also reduce your project's practicability in real-life challenges, as your pixel-wise classifier is trained in different domains.

For example, Pascal VOC12 and Cityscapes both provide the images and masks in vanilla resolution. I'm wondering whether you can provide them in the original size (like in the VGG Sound) as an additional sources.
2). The traditional segmentation task is for multi-class pixel-wise classification. However, your measurement is based on the binary label, which is more like salient object detection or foreground segmentation. Please give us some advice.
Best regards,
Yuyuan Liu

@yyliu01 Hi Yuyuan, thanks for your question, I appreciate your valuable advice.
1). It would be better to provide the frames and masks with the original resolution. We will release that as soon as possible.
2). You are right. Since the proposed AVS task does not use the category label of sounding objects, the outputs are represented by binary maps indicating which pixels correspond to the audio. We are trying to upgrade the AVSBench data with multi-class semantic labels. This would facilitate the research of multi-class audio-visual segmentation.

My questions are well solved.


NEEDS TESTS!

Because the underlying models changed quite a bit, I didn't move over the tests from django-robots.
As such, we need to write a bunch of tests to actually confirm this does as intended beyond manually checking each time.

thanks @nickmoreton for some tests!


Gh 2302 create spring boot app

Common code shared between core-rest and the new spring-rest project has been moved into a new common-rest module.

Codecov Report

Merging #2329 into develop will increase coverage by 9.72%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             develop    #2329      +/-   ##
=============================================
+ Coverage      66.13%   75.85%   +9.72%
+ Complexity      2355      185    -2170
=============================================
  Files            937       11     -926
  Lines          31164      584   -30580
  Branches        3813       50    -3763
=============================================
- Hits           20610      443   -20167
+ Misses          8924      100    -8824
+ Partials        1630       41    -1589

Impacted Files
Coverage Δ
Complexity Δ

...fer/accumulostore/retriever/AccumuloRetriever.java

...gov/gchq/gaffer/accumulostore/utils/ByteUtils.java

...v/gchq/gaffer/parquetstore/query/ParquetQuery.java

...ffer/hbasestore/serialisation/LazyElementCell.java

...store/operation/handler/GetAllElementsHandler.java

...ffer/types/binaryoperator/CustomMapAggregator.java

...re/operation/handler/FederatedValidateHandler.java

...gov/gchq/gaffer/graph/hook/FunctionAuthoriser.java

.../commonutil/iterable/LimitedCloseableIterable.java

...ss/predicate/user/NamedViewWriteUserPredicate.java

... and 900 more

Continue to review full report at Codecov.

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

closed while failing tests are investigated


[3.x] CPUParticles2D - fix interpolated transforms and culling

Physics interpolated particles in global mode are specified in global space. In VisualServer they should therefore ignore local transform.
Additionally, the expected final_transform should be passed on to children, rather than the identity transform used on the local item.
Local bounds in hierarchical culling are fixed for items using identity transform, by calculating their local bound in local space from the global space particles.

Fixes #80880
https://github.com/godotengine/godot/assets/21999379/931803f4-c014-4567-845b-c818b4893521
https://github.com/godotengine/godot/assets/21999379/5b5d3497-c6c2-425c-be0a-69828ee82a84
Explanation
The first bug fix is that as CPUParticles2D are specified with vertices in global space, then the local transform of the item should not be applied during rendering. If it changes, this should reflect in the vertex positions, not be applied during rendering. For this reason the flag is renamed from ignore_parent_xform to use_identity_xform, as that is what it now does.
An additional bug was I noticed that during rendering the global transform passed to any children from such an item would be incorrect. It now calculates the final_xform as normal (and passes to children), but substitutes in the identity transform only for rendering (which is done by substituting the camera transform only, as the camera transform is always combined in the final transform).
Next, I realised that the local bound for hierarchical culling was incorrect, as it was specified in global space, whereas hierarchical culling expects bounds in local space. This was fixed by back-calculating a local bound during the local bound update pass. This isn't particularly efficient, but it should work and is not overly complex. I couldn't immediately think of a better way of doing this but perhaps it can be improved / optimized in a later PR.
Notes

Normally I would split these up into 2 or 3 PRs but the rename makes this more tricky.
These bugs currently only affect particles when physics interpolation is switched on.

Testing
Run the MRP from #80880
I also have an MRP for displaying the local bounds to verify these are correct, run with 3.6 beta 3 (to see problems), and with this PR to see fixed:
CPUPartlcles2D_LocalBounds.zip

Thanks!


How to call snapToItem(index) in SliderEntry in Example.

I want when Click onItem, Slide snapTo item Clicked.
I try modified onPress TouchableOpacity in SliderEntry.js but I can't call _slider1Ref.snapToItem.
Anyone Can help me?

I have fix by:
_renderItem = ({ item, index }) => {}


Fix newline issue

Newlines were breaking the code generation for Python https://github.com/PickNikRobotics/generate_parameter_library/issues/170. This PR fixes the issue and reformats the C++ to print better with ros2 param describe... The following out shows the new format.
Parameter name: hover_override
  Type: integer
  Description: Override hover action:
    0: Hover
    1: Push
    2: Pull
    -1: Do not override
  Constraints:

The old format was like this
Parameter name: hover_override
  Type: integer
  Description: Override hover action: 0: Hover 1: Push 2: Pull -1: Do not override
  Constraints:

Looks fine for me.
Fyi, I have to change the parameter description of joint_trajectory_controller because I used \pi inside the description for rendering with sphinx -> without replacement of all \ it throws warnings now. But it still works, and output of ros2 param describe looks way better.

@christophfroehlich Do you mind giving this PR an approval review once you have made the changes you need to make to the joint_trajectory_controller?

Hello!
Thank you for fixing it. When can we expect to have this fix released upstream?


healthCheck transitTimeout improvement

Include transitTimeout check into the healthCheck.
Two measurements:

The starting timestamp of continuous transitTimeout (requestTimeout) -- if there is any requests can successfully get response back, then the time stamp will be reset to null.
The total count of the transit timeouts -- if there is any requests can successfully get response back, then the time stamp will be reset to 0.

During the healthCheck stage, if the continuousTransitTimeout >= 65s && totalCount >= 10, then mark this connection as unhealthy, and close it.

API change check
API changes are not detected in this pull request.


Add bundling flow control

This is WIP to make sure I am on the right track adding FlowController support to bundling.
One question I had is: at what point (if any) do we want to convert a FlowControlException into an ApiException? Note that if we don't do this, we will end up adding a checked exception (FlowControlException) into the signature of FutureCallable.

Do you have a preference for (a) a new FlowControlRuntimeException type? Or (b) use ApiException, with status code UNKNOWN. My initial thought was to use ApiException, but it seems that we are not using ApiException except in cases where it is the remote call that has failed.

"You" is @garrettjonesgoogle and @pongad
Updated to address feedback and add tests and runtime exception, PTAL

Codecov Report

Merging #213 into master will increase coverage by 0.38%.
The diff coverage is 86.15%.

@@             Coverage Diff              @@
##             master     #213      +/-   ##
============================================
+ Coverage      69.9%   70.29%   +0.38%
- Complexity      475      484       +9
============================================
  Files            66       67       +1
  Lines          2479     2535      +56
  Branches        262      268       +6
============================================
+ Hits           1733     1782      +49
- Misses          649      655       +6
- Partials         97       98       +1

Impacted Files
Coverage Δ
Complexity Δ

...e/api/gax/bundling/ThresholdBundlingForwarder.java
87.5% <ø> (+3.12%)
4 <0> (ø)
:x:

.../com/google/api/gax/grpc/BundlingCallSettings.java
78.78% <ø> (ø)
3 <0> (ø)
:x:

...in/java/com/google/api/gax/grpc/UnaryCallable.java
90% <ø> (ø)
17 <0> (ø)
:x:

...a/com/google/api/gax/core/FlowControlSettings.java
81.25% <100%> (ø)
3 <1> (?)

.../com/google/api/gax/bundling/BundlingSettings.java
72.22% <100%> (ø)
3 <1> (?)

...oogle/api/gax/bundling/BundlingFlowController.java
100% <100%> (ø)
3 <3> (?)

.../com/google/api/gax/bundling/ThresholdBundler.java
96.58% <100%> (+0.25%)
28 <0> (+1)
:white_check_mark:

...java/com/google/api/gax/grpc/BundlingCallable.java
88.88% <50%> (-11.12%)
3 <0> (ø)

...n/java/com/google/api/gax/core/FlowController.java
77.96% <68.42%> (ø)
17 <17> (?)

...n/java/com/google/api/gax/grpc/BundlerFactory.java
83.05% <90%> (+1.41%)
11 <1> (+1)
:white_check_mark:

... and 3 more

Continue to review full report at Codecov.

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

PTAL

LGTM - @pongad ?


Simpler help command

Yay, we now have an embeded help command with categories.

More changes are needed, will close and reopen when ready.


control_robot.py does not work with Windows

System Info
- `lerobot` version: 0.1.0
- Platform: Windows-10-10.0.22631-SP0
- Python version: 3.10.15
- Huggingface_hub version: 0.26.2
- Dataset version: 3.1.0
- Numpy version: 1.26.3
- PyTorch version (GPU?): 2.4.0+cu124 (True)
- Cuda version: 12040
- Using GPU in script?: false

Information

[X] One of the scripts in the examples/ folder of LeRobot
[ ] My own task or dataset (give details below)

Reproduction
To reporduce, simply run the script on a Windows computer.
For example
python .\lerobot\scripts\control_robot.py teleoperate
This might be an issue with serial and DynamixelSDK, and the error message shows that
serial.serialutil.SerialException: could not open port '/dev/tty.usbmodem575E0032081' which looks for a Linux-only directory.
#478 might be related, but it just fix the port finding, and does not applied to the problem in this issue.
Is there anyone can help or give some hints in solving this? I am happy to contribute if I can get more familiar with the whole process.
Expected behavior
It should abllow me to teleoperate/control the robot.

Hi, thanks for reporting this. Have you tried the solution in the related issue you mentioned?
Changing the find_available_ports would allow you to find the correct port.
Apparently they used port=COM8 in this other issue.
We don't test our code on Windows yet but if you can confirm the fix works, we can implement the change.


Not able to send SmartConfig Packets

Device: Arlec 5m LED Strip
Version: Tuya-convert 2.4.3
Hi
Firstly thank you for your work with the Tuya-convert.
I am having a nightmare trying to flash my Arlec LED Light strip. I have seen on other sites that others have been able to do so successfully with tuya-connect but not for me. I successfully connected a laptop, IOS, Android (tried all 3) to the Vtrust wifi and can get the LED strip into pair mode, everything else loads successfully but it just does not appear to connect. The LED will actually stop blinking which i take to indicate that it is trying to pair/connect. I had exactly the same issue with a lightbulb (Brilliant brand) which others have been able to use tuya-convert.....im thinking its my linux setup and potentially something blocking the pairing?????  I have looked through the Issues page and have tried the solutions suggested for others without success. I get the following message:

tuya-convert v2.4.3
Checking for network interface wlan0... Found.
Checking UDP port 53... Available.
Checking UDP port 67... Available.
Checking TCP port 80... Available.
Checking TCP port 443... Available.
Checking UDP port 6666... Available.
Checking UDP port 6667... Available.
Checking TCP port 1883... Available.
Checking TCP port 8886... Available.
sudo: ufw: command not found
Starting AP in a screen
Stopping any apache web server
Starting web server in a screen
Starting Mosquitto in a screen
Starting PSK frontend in a screen
Starting Tuya Discovery in a screen
Starting smart config pairing procedure
Waiting for the device to install the intermediate firmware
Put device in EZ config mode (blinking fast)
Sending SSID vtrust-flash
Sending wifiPassword
Sending token 00000000
Sending secret 0101
................
SmartConfig complete.
Resending SmartConfig Packets
.................
SmartConfig complete.
Resending SmartConfig Packets
.................
SmartConfig complete.
Resending SmartConfig Packets
................
SmartConfig complete.
Resending SmartConfig Packets
.................
SmartConfig complete.
Resending SmartConfig Packets
................
Device did not appear with the intermediate firmware
Check the *.log files in the scripts folder
Stopping smart config
Do you want to flash another device? [y/N]
smarthack-mqtt.log
smarthack-psk.log
smarthack-udp.log
smarthack-web.log
smarthack-wifi.log

Duplicate of #483


Minor Code Fix in ProcessesRunnerImpl Class

Minor Code Fix in ProcessesRunnerImpl Class

Added default case in process switch to handle undefined processes
Resolved the warnings and updated the java docs

Build finished.

Build finished.


lib/signature: implement personal_recover (eip 191)

ref #15

Codecov Report

Merging #21 (ac20206) into main (80c27fe) will decrease coverage by 62.00%.
The diff coverage is 11.11%.

:exclamation: Current head ac20206 differs from pull request most recent head 830fff9. Consider uploading reports for the commit 830fff9 to get more accurate results

@@             Coverage Diff              @@
##              main      #21       +/-   ##
============================================
- Coverage   100.00%   37.99%   -62.01%
============================================
  Files           11       12        +1
  Lines          390      408       +18
============================================
- Hits           390      155      -235
- Misses           0      253      +253

Impacted Files
Coverage Δ

spec/eth/signature_spec.rb
11.11% <11.11%> (ø)

spec/eth/chains_spec.rb
19.67% <0.00%> (-80.33%)
:arrow_down:

spec/eth/key_spec.rb
23.52% <0.00%> (-76.48%)
:arrow_down:

spec/eth/utils_spec.rb
25.37% <0.00%> (-74.63%)
:arrow_down:

lib/eth/utils.rb
41.93% <0.00%> (-58.07%)
:arrow_down:

lib/eth/address.rb
45.45% <0.00%> (-54.55%)
:arrow_down:

lib/eth/key.rb
50.00% <0.00%> (-50.00%)
:arrow_down:

spec/eth/address_spec.rb
52.72% <0.00%> (-47.28%)
:arrow_down:

lib/eth/chains.rb
74.28% <0.00%> (-25.72%)
:arrow_down:

spec/eth/eth_spec.rb
75.00% <0.00%> (-25.00%)
:arrow_down:

Continue to review full report at Codecov.

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


how to use the pre-trained model?

Hi playerkk,
I'm new to the face detection with faster-rcnn, here is my question:
I have downloaded your pre-trained model "vgg16-faster-rcnn-iter-80000.caffemodel", but I don't know how to use it to test my own images. In the py-faster-rcnn, I can use the demo.py to test my images, but in your project, I don't know how to change it. Could you help me?
Thank you in advance.

You can run
python ./tools/run_face_detection_on_fddb.py --gpu=0
in the terminal. It will load the pre-trained model and run face detection on FDDB. You might need to take a look at the code.

oh, I know. I can change my images into the FDDB format, then test it. Thank you very much !

Mostly likely the image reading failed. You might want to check the path of your input images.

I fixed it~ I build a wrong input path. Thank you !


chore reworking updatecli manifest

upgrading manifest to be compliant with new scm formating

Depends on https://github.com/jenkins-infra/pipeline-library/pull/306


Question regarding relationship with upstream Ubuntu releases

Can someone from the WSL team please comment on the exact nature of the relationship between WSL Ubuntu releases and upstream Ubuntu releases? Is there a commitment to remain in-step with the current Ubuntu generation or is Ubuntu 16.04 expected to be the WSL base install for some time? Are there any plans to upgrade to Ubuntu 17.04 LTS zesty at this time?

17.04 is not a LTS release but 18.04 will be.


Re-Subscribe To New Blocks on Error

Codecov Report

Merging #406 (9014041) into main (c9316fd) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #406   +/-   ##
=======================================
  Coverage   40.72%   40.72%
=======================================
  Files           6        6
  Lines         275      275
=======================================
  Hits          112      112
  Misses        155      155
  Partials        8        8

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


support for Node.js 12

[DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated
[DEP0066] DeprecationWarning: OutgoingMessage.prototype._headerNames is deprecated

https://nodejs.org/api/deprecations.html#deprecations_dep0066_outgoingmessage_prototype_headers_outgoingmessage_prototype_headernames

When can we expect this patch to be published?

@Xmader Mind making the suggested changes?

ping?

It has been >2 years and @Xmader's hasn't made the suggested changes.
@darrendatbui has made the changes in PR #77 which superseded this PR.
Let's continue there and close this PR.
@indexzero @jcrugzz

Appreciate everyone trying to keep this code alive


Fix: Image and text widget vertical alignment issue

[x] This pull request has been linted by running npm run lint without errors
[x] This pull request has been tested by running npm run start and reviewing affected routes
[x] This pull request has been built by running npm run build without errors
[x] This isn't a duplicate of an existing pull request

Description
Fixes the vertical alignment issue for image and text widget.
Steps to test

Go to the admin panel
Create a new page using Image and text widget with image position left
Change the vertical alignment to different options
See the changes get applied correctly on the preview

Closing in favour of a fresh PR without conflicts.


Decouple the Path representation from its evaluation

Extracted all of the PathToken::evaluate methods out to *Evaluator classes, now called by a (configurable) DefaultEvaluator.  If you want to write your own custom evaluator, you now need to implement the EvaluatorDispatcher interface (one function) and then traverse the PathToken nodes as fits your need.  This presumes, of course, that you want to use the EvaluationContext as-is.  Otherwise, get the root node and do your own thing.

Some context here: we're looking at using JsonPath as a UI abstraction for filtering.  The back-end is a Spring+JPA driven RDBMS, but our domain model is such that a JsonPath traversal makes a ton of sense.  But instead of traversing in-memory objects, we translate the Path to a JPA CriteriaQuery.
For example, the UI might send something like:
GET /some/path?like=$.user.[?(@name=~'Smith')].pets.[?(@.type=='DOG')].name

Which might get translated to:
SELECT p.name
FROM users u
  INNER JOIN pets p ON (p.type == 'DOG') AND (p.owner = u.id)
WHERE u.name LIKE '%smith%'

We started just by adding getters and converting some private fields/methods to public, and then I went a little overboard.

Currently many of the classes you have modified are internal and not to be considered stable. I think that path compiling and evaluation must become an SPI for this to be a good idea.


[File based router] Catch all route (*) dir/file cannot be created on Windows OS

Describe the bug
It seems that cannot create a file dir named * or a file named *.tsx on Windows OS. So we cannot clone the repo which contains these on Windows. It violates the naming rules of Windows.
Router structure below:

Your Example Website or App
Maybe no need to reproduce.
Steps to Reproduce the Bug or Issue
Maybe description is enough.
Expected behavior
Catch all route should be working on Windows.
Screenshots or Videos
No response
Platform

OS: Windows

Additional context
No response

Use the dollar sign instead: $.tsx


Validity of unphased tandem repeat VCFs

Hello,
I'm in the process of benchmarking some tandem repeat callers using the new GIAB TR benchmark. Most TR callers don't output phased variants by default unless provided with phased reads (which means that some aspects of the caller, i.e. peak calling, go untested).
I'm curious as to the validity of running benchmarking on unphased TR VCFs with Truvari. It is warned against with refine/phab – obviously, phase errors will be missed, and if two variants are side-by-side, it can create errors. However, if the regions being tested were some distance away from each other, would the Truvari results be somewhat accurate?

Also, an aside: when benchmarking with a whole-genome subset (just STRs) with the GIAB TR benchmark, should --use-region-coords be used?

Hey,
It is possible to run refine/phab on unphased VCFs, and in many cases it will work out fine. The problem occurs when any TR region has two het SVs. For example:
chr1    1000    ATATATATATA    A    0/1
chr1    1005    ATATATATATA    A    0/1

Phab won't be able to properly reconstruct haplotypes over the region. Instead, in this example, it'll skip a variant since it can't traverse a path to find the second, overlapping variant. Or, if the hets aren't overlapping, it will incorporate both hets into the same haplotype. For the non-overlapping case, sometimes that's okay (e.g. 0|1 & 0|1), but if the variants are from opposite haplotypes, combining into a single haplotype will create an incorrect sequence that will MSA into something that will produce a wrong alignment.
--use-region-coords is for cases when one wants to harmonize within the regions they're providing to truvari refine --regions. Since the TR benchmark is run on the boundaries which need to be harmonized from truvari bench --includebed, --use-region-coords isn't needed. Instead, if one were running whole-genome benchmarking and there are specific regions that need to be refined, that's when you'd use their coordinates. This prevents attempting to run mafft/poa on extremly long regions. Typically, --use-region-coords is for refining a subset of a whole-genome includebed via truvari refine --use-region-coords --regions bench_result/candidate.refine.bed

@ACEnglish if --use-region-coords isn't for this use case, I'm wondering what to do with the TR benchmark when there are regions included outside of the TRF repeat (but inside the TRregions BED) that have indels, which to me shouldn't count as false negatives. For example:
chr4:3300461 is in HG002_GRCh38_TandemRepeats_v1.0.1.vcf.gz with a 0|1 genotype, and the motif CCTGGGAGGAGGAGGACTG:
chr4    3300461 .       C       CCCTGGGAGGAGGAGGACTG    60      PASS    SVTYPE=INS;SVLEN=19;AN=2;AC=1;NS=86;AF=0.127907;MAF=0.127907;AC_Het=20;AC_Hom=2;AC_Hemi=0;HWE=1;ExcHet=0.595244;TRF;TRFdiff=0;TRFrepeat=CCTGGGAGGAGGAGGACTG;TRFovl=1;TRFstart=3300461;TRFend=3300505;TRFperiod=19;TRFcopies=2.3;TRFscore=132;TRFentropy=1.74    GT:FT:AD        0|1:PASS:1,1

However, I only wish to test STRs, i.e., motifs <~10bp±. In adotto_TRregions_v1.2.bed, this is covered by an STR with the following line:
chr4	3300441	3300501	1	24	25	0	0	1	1	96	100	.	.	.	1	protein_coding	"[{""chrom"": ""chr4"", ""start"": 3300465, ""end"": 3300476, ""period"": 3.0, ""copies"": 4.0, ""score"": 36, ""entropy"": 0.92, ""ovl_flag"": 1, ""motif"": ""GGA"", ""purity"": 96}]"

This TRF definition is mismatched, leading to a false negative where I'm not expecting one - since it's outside of the TRF coordinates from the TRregions BED TRF definition (which becomes the list of regions for STR callers to process), but inside the coordinates of the BED file itself.

That's more complicated.
First, alignment ambiguities can cause TRs to 'slip' out of the boundaries of a TR annotation. That is to say, there is enforcement of an expansion/contraction INDEL to occur within the region. Therefore, the adotto regions have buffers to help ensure that any plausable variant placement which would correspond to a TR is captured.
Second, motif annotations on TRs are, by definition, dependent on the sequences. This example is a case where given only the reference sequence, TRF believes the motif is an STR, but when given the HG002 haplotype over the region, TRF believes the motif should be a VNTR. This is part of the reason why the GIABTR benchmark doesn't separate motifs by length.
For your case, you could exclude GIAB TR regions you're not interested in by either:

removing them from the truvari bench --includebed
providing a truvari refine --regions bed which only contains the subset of regions you're interested in. Refine will then only analyze the subset of --includebed regions which intersect the --regions.
Similar to step 2, but with a --regions bed you've created with a more restrictive set of boundaries which would exclude specific variants you're not interested in. At which point you'd use --use-region-coords.

Note that this option 3 is a little tricker because you not only need to define those more exact boundaries but also account for the buffer sequence which phab will use to help anchor the MSA. For example, if a TR region over the positions 75-125 has a 'VNTR' expansion at position 100, and an 'STR' at 110, making a new TR region from 110-125 may still grab the VNTR since phab tries to build the haplotype from start-buffer, end+buffer, and buffer is hardcoded at 100bp.

thank you for the comprehensive reply!


Unable to render font family

Attach (recommended) or Link to PDF file here:
Configuration:

Web browser and its version: Chrome
Operating system and its version: Windows 10
PDF.js version: 2.10.377
Is a browser extension: No

Steps to reproduce the problem:

Updating project dependency<EMAIL_ADDRESS>to 2.10.377
Custom rendering of texts
Make sure FontFaces are added to document

What is the expected behavior? (add screenshot)
2.0.274 renders texts based on font-family styles

What went wrong? (add screenshot)
2.10.377 always use fallback font family

Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):

Attach (recommended) or Link to PDF file here:

This part of the ISSUE_TEMPLATE is always required in order for any issue to be actionable.

Steps to reproduce the problem:
1. Updating project dependency<EMAIL_ADDRESS>to 2.10.377
2. Custom rendering of texts
3. Make sure FontFaces are added to document

While it's somewhat difficult to tell from the description, it sounds like this is maybe related to a custom implementation; hence please see https://github.com/mozilla/pdf.js/blob/master/.github/CONTRIBUTING.md (emphasis mine):

If you are developing a custom solution, first check the examples at https://github.com/mozilla/pdf.js#learning and search existing issues. If this does not help, please prepare a short well-documented example that demonstrates the problem and make it accessible online on your website, JS Bin, GitHub, etc. before opening a new issue or contacting us in the Matrix room -- keep in mind that just code snippets won't help us troubleshoot the problem.

Updating project dependency<EMAIL_ADDRESS>to 2.10.377

Please note that it's also quite difficult to assist with an upgrade from a PDF.js version that's almost four years old, and that 2.0.274 was also never an official release.
Given the lack of details it's difficult to tell, but if I were to guess you might have been utilizing the fonts (as parsed by the PDF.js library) in a non-intended and thus unsupported way. Please keep in mind that rendering and text-extraction uses different code-paths in PDF documents, and we've never supported using the font-files themselves for e.g. text-selection purposes.
It's possible that e.g. the changes in PR #9340 could be relevant for the issue you're having, but please note that as mentioned above it's unfortunately quite possible that you were doing something that neither is (nor was) officially supported.
All-in-all, closing as INCOMPLETE for now since we cannot help given the currently provided information.

@Snuffleupagus sorry for the incomplete details of my issue. Basically, I was planning to update my project dependencies.
Application: https://typescript-35ttx9.stackblitz.io/
Code: https://stackblitz.com/edit/typescript-35ttx9?file=index.html
this is the actual code I use to render the PDF and the custom text layers.
In 2.0.274 I was able to display fontFaces of each text layer by just adding the textItem.fontName to its font-family rule in styles (as shown in my initial screenshots). e.g. font-family: g_d0_f1, sans-serif;. But in 2.10.377 its not rendering the fontFace.


[release-1.5] Fix peer authentiation selection bug due to drop in singleton restriction

This is an automated cherry-pick of #21327

@istio-testing: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-istioio-k8s-tests_istio_release-1.5
02529416f5238595df592210e2cc5e4b665ee885
link
/test integ-istioio-k8s-tests_istio_release-1.5

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test integ-istioio-k8s-tests_istio_release-1.5

@istio-testing: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-istioio-k8s-tests_istio_release-1.5
02529416f5238595df592210e2cc5e4b665ee885
link
/test integ-istioio-k8s-tests_istio_release-1.5

pilot-multicluster-e2e_istio_release-1.5
02529416f5238595df592210e2cc5e4b665ee885
link
/test pilot-multicluster-e2e_istio_release-1.5

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test pilot-multicluster-e2e_istio_release-1.5


Newspaper Augmentation, Dithering / Halftones Effect

A new halftone or dithering effect should affect colors and greys more than blacks, which means that text should not get affected by this effect to the same degree as images.

https://github.com/Utkarsh-Deshmukh/image-dithering-python
https://github.com/hbldh/hitherdither
https://github.com/philgyford/python-halftone

Great reference on dithering (also has some strange VB code at the end that might be informative, maybe).
https://tannerhelland.com/2012/12/28/dithering-eleven-algorithms-source-code.html

@proofconstruction you are working on this?

@kwcckw Feel free to create a notebook using these libraries with a demo image that has text and image like this one which you could wget into the notebook from the same URL of this github-hosted image below.  Once we have a proof-of-concept, then creating the aug should be simple.
I have a feeling that we may want to randomize the various dithering and halftone options, so that should be interesting to demo the various possibilities.

@kwcckw Feel free to create a notebook using these libraries with a demo image that has text and image like this one which you could wget into the notebook from the same URL of this github-hosted image below. Once we have a proof-of-concept, then creating the aug should be simple.
I have a feeling that we may want to randomize the various dithering and halftone options, so that should be interesting to demo the various possibilities.

Okay, initially i was checking with @proofconstruction since the assignee is @proofconstruction. It would be redundant if both of us are working on the same thing at once. Anyway, i will post again when i completed the poc in the notebook.

I haven't begun implementing this yet, so go ahead and do it if you like!
For this effect, it should be possible to use the dimensions of the input image to create a mask that tiles the area with circles of some small radius, then subtract this mask from a full np.ones array to get a "negative" image of the circles. This mask can then be applied over the ink layer to produce an image where the ink is made of these small circles.

From my initial trial, i'm using Floyd–Steinberg dithering:
https://en.wikipedia.org/wiki/Floyd–Steinberg_dithering
And here's the output:

But the correctness of algorithm itself is important? Or any algorithm would be fine as long we are able to produce the visual effect?

When it comes to training on the output that Augraphy might create, "correctness" is purely a matter of being able to reproduce the kind of content you see in the real world.  Having a large variety of output or processing techniques is also helpful since the real world seems to frequently present with unexpected scenarios that are not handled by a single method.
Dithering is one thing, and the dotted half-tones commonly seen in (old) newspaper print is another thing.  But both techniques are useful for helping to create datasets that will allow a deep neural network to generalize on a solution.
So, it's important that we reproduce the halftone effect that you see in newspapers for this augmentation to be useful for that purpose.  It may take some study of some of the photoshop "HOW TOs" online that show step-by-step how someone using photoshop creates these effects.  But, the simplest place to start for now is to create a notebook that uses all 3 of the referenced libraries (and others if needed) so that we can inspect the results for how these images are processed using these libraries.  Then, we can make a more informed decision on which techniques are worth pursuing for inclusion in Augraphy.
Side Note: If you find the libraries don't handle color natively, then I think it should be as simple as first splitting the 3 channels of a color image, processing each channel separately, then merging the 3 channels back into 1 images.  Does that sound right?

So, it's important that we reproduce the halftone effect that you see in newspapers for this augmentation to be useful for that purpose. It may take some study of some of the photoshop "HOW TOs" online that show step-by-step how someone using photoshop creates these effects. But, the simplest place to start for now is to create a notebook that uses all 3 of the referenced libraries (and others if needed) so that we can inspect the results for how these images are processed using these libraries. Then, we can make a more informed decision on which techniques are worth pursuing for inclusion in Augraphy.

Okay, probably that's the best way now since sometimes a visually attractive output might not contributing to a better result in deep learning process, so i guess we can include all of those methods and let the user try it.

Side Note: If you find the libraries don't handle color natively, then I think it should be as simple as first splitting the 3 channels of a color image, processing each channel separately, then merging the 3 channels back into 1 images. Does that sound right?

Yea, we can do that, but I'm not really sure on the 'correctness' of the output:

What do you think about the output above?

Can you share a notebook where we can preview all the variations?
It seems clear that this will take quite a bit of experimentation and going back-and-forth here will probably be too draining!  :stuck_out_tongue:

Can you share a notebook where we can preview all the variations?
It seems clear that this will take quite a bit of experimentation and going back-and-forth here will probably be too draining! 😛

Sure, I will share the notebook again once I drafted those methods.

I added the illustrations here:
https://colab.research.google.com/drive/1ri957-GvdClt2oMQotVPo46u_nV-3gTT?usp=sharing
At this point, it covers:

Floyd–Steinberg dithering
Random dithering
Average dithering
Ordered dithering based on bayer method
Halftone (support grayscale for now)

I rewrite all of those methods since we would need some manual parameters adjustment later. For each of the dithering method, I'm trying to apply it differently by using different colour space and image channels. I tried to apply it on their grayscale image, rgb channel image, hsv channel image, hsv-h channel, hsv-s channel and hsv-v channel, and looks like some of them yield quite unique result.

So any comment on those outputs? Otherwise i will proceed to add them into augmentation and create a pr request.

This commit added support for dithering.


renamed sorted view

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

7 of 7 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 93.959%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2224

Relevant Lines:
2367

💛  - Coveralls


Breaking Behavioural Change in Cognitive Service

👋
This upstream issue describes a breaking change in the Cognitive Services API: https://github.com/terraform-providers/terraform-provider-azurerm/issues/9102
If this functionality is being deprecated, shouldn't this be done in a new version of the API, with a published migration path ahead of time?
We've discovered this blog post published today, multiple hours after this breaking change occurred fwiw: https://azure.microsoft.com/en-us/updates/bing-search-apis-will-transition-from-azure-cognitive-services-to-azure-marketplace-on-31-october-2023/
Notably this is still published on the website, as if this functionality is still available: https://azure.microsoft.com/en-us/services/cognitive-services/bing-web-search-api/
cc @JeffreyRichter

ping @fengzhou-msft

Hi @tombuildsstuff ,
As you have noted above, Bing Search Services are transitioned to Azure Marketplace. i.e. Post 10/30 provisioning new Bing resource via existing Cognitive Services methodologies will not work and customers can provision any new instances of Bing Search Services via Azure Marketplace. All the existing resources provisioned via the Azure Cognitive Services platform previously, will be supported till 31st Oct 2023 or till the end of a respective enterprise agreement.
This update was shared with the resource owners over email. However, due to some technical problems Azure Marketing Portal updates were delayed.

@jaggerbodas-ms I can understand the need to deprecate functionality, but the issue here is this has been done as a breaking change.
An alternative approach, followed by other Azure API's, would be to introduce a new API version which removed support for this builder - and then push people across to the new one - whilst there's more complexity involved in doing so, this means that customers don't encounter a breaking change.
For context, in this instance we've had a Github issue opened due to a customers production environment/scripts no longer working - so whilst there may have been an email sent here, what's the migration path for users, to down-tools and update their scripts with no notice?
From a technical perspective, I'd argue this is down to the API provisioning multiple different types of products from a single payload - so perhaps this API wants splitting apart so that it's possible to deprecate these in the future by dropping them from the next API Version - WDYT?
@JeffreyRichter for this one, is there some kind of documentation around deprecation policies? Removing functionality from an existing API version on a given date (particularly with no notice), is the kind of thing that's hard to plan for
Thanks!

Yes, Azure has some documentation. Our policy is that a service can only make breaking changes after giving customers 3-years notice (1-year for a security/compliance related issues). Teams are adopting this policy now and some teams adopt it sooner than later. In other words, there is some transition time for some teams where it might not be happening this way immediately but this is the goal.

@JeffreyRichter thanks for the link, unfortunately it appears that isn't public - is there a public reference for that document?

Sorry, that document is not public. Unfortunately, I just learned that I'd have to run the document through legal in order to publish it publicly so that won't happen anytime soon. But we do have an internal document and it does state the 3-year breaking change notification policy.


fix(format) Wrong ISO code for ¥

Signed-off-by: Jerome Simeon<EMAIL_ADDRESS>

Coverage remained the same at 95.535% when pulling 1340b09e42db10740b5761fb33edea615735783d on jeromesimeon:js-fix-K-format into 4bcc16e43fd41663a1bfdbef2be43097cca95dce on accordproject:master.


Proposal: add query sharding support to TSDB

Proposal
In November 2021, Grafana Labs announced query sharding for Grafana Enterprise Metrics (GEM).
The query sharding implementation leverages some changes we did in TSDB to be able to selectively query a given shard, so that multiple processes (running on different machines) can query different shards from the same copy of a TSDB block.
A shard is a consistent set of series. The same series belongs to the same shard across different blocks. To do it, we use a simple hash mod algorithm to find out which shard each series belongs to.
We propose to upstream to Prometheus TSDB the changes we did to support query sharding.
The proposed changes target TSDB as a library. They can be used by other OSS projects as a foundation to build query sharding capabilities.
Use case. Why is this important?
Query sharding can significantly reduce the time required to execute high cardinality and/or CPU intensive queries. Running GEM at Grafana Labs, we’ve seen a 10x reduction in query latency for high cardinality queries (up to 30x for some special cases).
How query sharding works in GEM
Let’s start with an example. Consider this simple query:
sum(rate(metric[1m]))

Query sharding splits the query into N partial queries, where N is the number of shards (3 in the example) and each partial query runs the sum(rate()) on a different set of series (a shard). Each partial query is executed by a different process (typically running on different machines) and the result of each partial query is then concatenated and a final sum() aggregation is run on top of it:
sum(
  concat(
    sum(rate(metric{__query_shard__="1_of_3"}[1m]))
    sum(rate(metric{__query_shard__="2_of_3"}[1m]))
    sum(rate(metric{__query_shard__="3_of_3"}[1m]))
  )
)

Note: the concat() function doesn’t exist in PromQL and is not a real function. I’ve used it to give an idea of the series concatenation process.

How GEM queries different shards from the same TSDB block
For a given block (containing all series for a time period, eg. 2h), a partial query needs to fetch chunks only from a subset of the series, which are the series matching the given shard. To do it, we added a couple of options to storage.SelectHints:

ShardIndex: the ID of the shard to query from the block (ranges between 0 and ShardCount-1). Only series whose hash mod matches the ShardIndex will be considered when running the Select().
ShardCount: Total number of shards.

Proposed changes in Prometheus TSDB
To add sharding capability to TSDB querier’s Select(), we propose the following changes.
Add ShardIndex and ShardCount to storage.SelectHints:
type SelectHints struct {
	// …

	ShardIndex uint64 // Current shard index (starts from 0 and up to ShardCount-1).
	ShardCount uint64 // Total number of shards (0 means sharding is disabled).
}

Add ShardedPostings() to tsdb.IndexReader. ShardedPostings() works similar to SortedPostings() but, instead of sorting postings, it filters postings by the given shard index and count:
type IndexReader interface {
	// …

	// ShardedPostings returns a postings list filtered by the provided shardIndex
	// out of shardCount. For a given posting, its shard MUST be computed hashing
	// the series labels mod shardCount (eg. `labels.Hash() % shardCount == shardIndex`).
	ShardedPostings(p index.Postings, shardIndex, shardCount uint64) index.Postings
}

Finally, call ShardedPostings() from blockQuerier.Select() and blockChunkQuerier.Select().
To give a you a better understanding of this proposal, I’ve opened a PR showing a reference implementation: https://github.com/prometheus/prometheus/pull/10421
Follow up work
In case this proposal is accepted, there’s some follow up work we commit to upstream too, in particular:
Series hash caching
When querying the TSDB head, the series hash is already in memory, but when querying a TSDB block the series hash needs to be computed each time. Computing the series hash is an expensive operation.
To overcome this, we’ve built an optional, configurable and fast in-memory cache for the series hashes, which we’ll propose as a follow up PR.

Love this idea!
This is something we are discussing to leverage in Thanos too cc @moadz @fpetkovski
Details make sense, except for one thing that might matter for Thanos systems only: We don't do write deduplication of remote writes, so we can have Prometheus/agent replicas in the receiver/block TSDB code. This means that we might want to ensure that all replicas are in the same shard. The way we could it is to hash labels all but configured replica labels. Still I think we could implement the design proposed by @pracucci and then allow swapping hash function with some special hash that ignores replica label.
To sum, I don't see any objections to this design - maybe I would propose adding sharded method as separate interface to not overcrowd main one?
Anyway, we can discuss this on PR

Thanks Bartek for the feedback!

Still I think we could implement the design proposed by @pracucci and then allow swapping hash function with some special hash that ignores replica label.

Agree. I think being able to customise the hashing function could allow a good degree of customisation.

maybe I would propose adding sharded method as separate interface to not overcrowd main one?

I'm totally up for that if helps to simplify downstream projects vendor/ upgrades or TSDB maintenance. I just have a question to better understand the feedback: the ShardedPostings() function is directly used by the queriers Select(). Are there significant uses cases of the index that don't hit Select()? Maybe labels querying?

Who would be responsible to error when a user has the same label set in rate({}) output?
Wrong query example: sum(rate({name=~"foo|bar"}[5m])). If you have foo and bar metrics (e.g. with no labels), it will fail in prometheus but not in your example.

Hello from the bug scrub.
Keeping the issue open as it seems to be in progress (#10421). @pracucci is there more left to implement or is this issue done?

@pracucci is there more left to implement or is this issue done?

From my perspective it's done. I don't plan further development on this.

Hello from the bug scrub!
We close this based on @pracucci 's response. If anyone is missing anything, please follow up.