antsBrainExtraction.sh fails at fine-resolution

I am running  antsBrainExtraction.sh -a fast3_sd.nii.gz -m ambmc_thr_ds_bin_br.nii.gz -e ambmc_thr_ds.nii.gz -q -d 3 -s nii.gz -o new_ss_ with the files found here.
I am getting the following traceback:
The output directory "new_ss_" does not exist. Making it.

    Using antsBrainExtraction with the following arguments:
      image dimension         = 3
      anatomical image        = fast3_sd.nii.gz
      extraction template     = ambmc_thr_ds.nii.gz
      extraction reg. mask    =
      extraction prior        = ambmc_thr_ds_bin_br.nii.gz
      output prefix           = new_ss_
      output image suffix     = nii.gz

    N4 parameters (pre brain extraction):
      convergence             = [50x50x50x50,0.0000001]
      shrink factor           = 4
      B-spline parameters     = [200]

    Atropos parameters (extraction):
       convergence            = [3,0.0]
       likelihood             = Gaussian
       initialization         = kmeans[3]
       mrf                    = [0.1,1x1x1]
       use clock random seed  = 1

---------------------  Running antsBrainExtraction.sh on quiethost  ---------------------

--------------------------------------------------------------------------------------
 Bias correction of anatomical images (pre brain extraction)
   1) pre-process by truncating the image intensities
   2) run N4
--------------------------------------------------------------------------------------

BEGIN >>>>>>>>>>>>>>>>>>>>
/usr/bin/ImageMath 3 new_ss_N4Truncated0.nii.gz TruncateImageIntensity fast3_sd.nii.gz 0.01 0.999 256
END   <<<<<<<<<<<<<<<<<<<<

BEGIN >>>>>>>>>>>>>>>>>>>>
/usr/bin/N4BiasFieldCorrection -d 3 -i new_ss_N4Truncated0.nii.gz -s 4 -c [50x50x50x50,0.0000001] -b [200] -o new_ss_N4Corrected0.nii.gz --verbose 1

Running N4 for 3-dimensional images.

Mask not read.  Creating Otsu mask.

Specified spline distance: 200mm
  original image size:  [64, 14, 32]
  padded image size:  [641, 309, 712]
  number of control points:  [4, 4, 4]

Current level = 1
  Iteration 1 (of 50).   Current convergence value = 2.84979e-06 (threshold = 1e-07)
  Iteration 2 (of 50).   Current convergence value = 2.86361e-06 (threshold = 1e-07)
  Iteration 3 (of 50).   Current convergence value = 2.84378e-06 (threshold = 1e-07)
  Iteration 4 (of 50).   Current convergence value = 2.83933e-06 (threshold = 1e-07)
  Iteration 5 (of 50).   Current convergence value = 2.85008e-06 (threshold = 1e-07)
  Iteration 6 (of 50).   Current convergence value = 2.8514e-06 (threshold = 1e-07)
  Iteration 7 (of 50).   Current convergence value = 2.91789e-06 (threshold = 1e-07)
  Iteration 8 (of 50).   Current convergence value = 2.84616e-06 (threshold = 1e-07)
  Iteration 9 (of 50).   Current convergence value = 2.86161e-06 (threshold = 1e-07)
  Iteration 10 (of 50).   Current convergence value = 2.83205e-06 (threshold = 1e-07)
  Iteration 11 (of 50).   Current convergence value = 2.86469e-06 (threshold = 1e-07)
  Iteration 12 (of 50).   Current convergence value = 2.85369e-06 (threshold = 1e-07)
  Iteration 13 (of 50).   Current convergence value = 2.86027e-06 (threshold = 1e-07)
  Iteration 14 (of 50).   Current convergence value = 2.9191e-06 (threshold = 1e-07)
  Iteration 15 (of 50).   Current convergence value = 2.85258e-06 (threshold = 1e-07)
  Iteration 16 (of 50).   Current convergence value = 2.85944e-06 (threshold = 1e-07)
  Iteration 17 (of 50).   Current convergence value = 2.84864e-06 (threshold = 1e-07)
  Iteration 18 (of 50).   Current convergence value = 2.84133e-06 (threshold = 1e-07)
  Iteration 19 (of 50).   Current convergence value = 2.85842e-06 (threshold = 1e-07)
  Iteration 20 (of 50).   Current convergence value = 2.84864e-06 (threshold = 1e-07)
  Iteration 21 (of 50).   Current convergence value = 2.85902e-06 (threshold = 1e-07)
  Iteration 22 (of 50).   Current convergence value = 2.83727e-06 (threshold = 1e-07)
  Iteration 23 (of 50).   Current convergence value = 2.835e-06 (threshold = 1e-07)
  Iteration 24 (of 50).   Current convergence value = 2.85072e-06 (threshold = 1e-07)
  Iteration 25 (of 50).   Current convergence value = 2.83353e-06 (threshold = 1e-07)
  Iteration 26 (of 50).   Current convergence value = 2.84769e-06 (threshold = 1e-07)
  Iteration 27 (of 50).   Current convergence value = 2.83112e-06 (threshold = 1e-07)
  Iteration 28 (of 50).   Current convergence value = 2.85561e-06 (threshold = 1e-07)
  Iteration 29 (of 50).   Current convergence value = 2.85866e-06 (threshold = 1e-07)
  Iteration 30 (of 50).   Current convergence value = 2.85578e-06 (threshold = 1e-07)
  Iteration 31 (of 50).   Current convergence value = 2.85112e-06 (threshold = 1e-07)
  Iteration 32 (of 50).   Current convergence value = 2.85441e-06 (threshold = 1e-07)
  Iteration 33 (of 50).   Current convergence value = 2.82805e-06 (threshold = 1e-07)
  Iteration 34 (of 50).   Current convergence value = 2.84918e-06 (threshold = 1e-07)
  Iteration 35 (of 50).   Current convergence value = 2.85446e-06 (threshold = 1e-07)
  Iteration 36 (of 50).   Current convergence value = 2.85544e-06 (threshold = 1e-07)
  Iteration 37 (of 50).   Current convergence value = 2.83913e-06 (threshold = 1e-07)
  Iteration 38 (of 50).   Current convergence value = 2.84275e-06 (threshold = 1e-07)
  Iteration 39 (of 50).   Current convergence value = 2.85533e-06 (threshold = 1e-07)
  Iteration 40 (of 50).   Current convergence value = 2.84534e-06 (threshold = 1e-07)
  Iteration 41 (of 50).   Current convergence value = 2.84569e-06 (threshold = 1e-07)
  Iteration 42 (of 50).   Current convergence value = 2.83456e-06 (threshold = 1e-07)
  Iteration 43 (of 50).   Current convergence value = 2.85155e-06 (threshold = 1e-07)
  Iteration 44 (of 50).   Current convergence value = 2.84398e-06 (threshold = 1e-07)
  Iteration 45 (of 50).   Current convergence value = 2.83796e-06 (threshold = 1e-07)
  Iteration 46 (of 50).   Current convergence value = 2.83802e-06 (threshold = 1e-07)
  Iteration 47 (of 50).   Current convergence value = 2.83689e-06 (threshold = 1e-07)
  Iteration 48 (of 50).   Current convergence value = 2.84466e-06 (threshold = 1e-07)
  Iteration 49 (of 50).   Current convergence value = 2.84409e-06 (threshold = 1e-07)
  Iteration 50 (of 50).   Current convergence value = 2.83303e-06 (threshold = 1e-07)
Current level = 2
  Iteration 1 (of 50).   Current convergence value = 6.72863e-06 (threshold = 1e-07)
  Iteration 2 (of 50).   Current convergence value = 6.72238e-06 (threshold = 1e-07)
  Iteration 3 (of 50).   Current convergence value = 6.73968e-06 (threshold = 1e-07)
  Iteration 4 (of 50).   Current convergence value = 6.73611e-06 (threshold = 1e-07)
  Iteration 5 (of 50).   Current convergence value = 6.73239e-06 (threshold = 1e-07)
  Iteration 6 (of 50).   Current convergence value = 6.72171e-06 (threshold = 1e-07)
  Iteration 7 (of 50).   Current convergence value = 6.74047e-06 (threshold = 1e-07)
  Iteration 8 (of 50).   Current convergence value = 6.74402e-06 (threshold = 1e-07)
  Iteration 9 (of 50).   Current convergence value = 6.71975e-06 (threshold = 1e-07)
  Iteration 10 (of 50).   Current convergence value = 6.71793e-06 (threshold = 1e-07)
  Iteration 11 (of 50).   Current convergence value = 6.71419e-06 (threshold = 1e-07)
  Iteration 12 (of 50).   Current convergence value = 6.71537e-06 (threshold = 1e-07)
  Iteration 13 (of 50).   Current convergence value = 6.7151e-06 (threshold = 1e-07)
  Iteration 14 (of 50).   Current convergence value = 6.71957e-06 (threshold = 1e-07)
  Iteration 15 (of 50).   Current convergence value = 6.71862e-06 (threshold = 1e-07)
  Iteration 16 (of 50).   Current convergence value = 6.70903e-06 (threshold = 1e-07)
  Iteration 17 (of 50).   Current convergence value = 6.71947e-06 (threshold = 1e-07)
  Iteration 18 (of 50).   Current convergence value = 6.70774e-06 (threshold = 1e-07)
  Iteration 19 (of 50).   Current convergence value = 6.71641e-06 (threshold = 1e-07)
  Iteration 20 (of 50).   Current convergence value = 6.71834e-06 (threshold = 1e-07)
  Iteration 21 (of 50).   Current convergence value = 6.69962e-06 (threshold = 1e-07)
  Iteration 22 (of 50).   Current convergence value = 6.71906e-06 (threshold = 1e-07)
  Iteration 23 (of 50).   Current convergence value = 6.70298e-06 (threshold = 1e-07)
  Iteration 24 (of 50).   Current convergence value = 6.71034e-06 (threshold = 1e-07)
  Iteration 25 (of 50).   Current convergence value = 6.70891e-06 (threshold = 1e-07)
  Iteration 26 (of 50).   Current convergence value = 6.69886e-06 (threshold = 1e-07)
  Iteration 27 (of 50).   Current convergence value = 6.69523e-06 (threshold = 1e-07)
  Iteration 28 (of 50).   Current convergence value = 6.70724e-06 (threshold = 1e-07)
  Iteration 29 (of 50).   Current convergence value = 6.69011e-06 (threshold = 1e-07)
  Iteration 30 (of 50).   Current convergence value = 6.69461e-06 (threshold = 1e-07)
  Iteration 31 (of 50).   Current convergence value = 6.69082e-06 (threshold = 1e-07)
  Iteration 32 (of 50).   Current convergence value = 6.67728e-06 (threshold = 1e-07)
  Iteration 33 (of 50).   Current convergence value = 6.69866e-06 (threshold = 1e-07)
  Iteration 34 (of 50).   Current convergence value = 6.69362e-06 (threshold = 1e-07)
  Iteration 35 (of 50).   Current convergence value = 6.67987e-06 (threshold = 1e-07)
  Iteration 36 (of 50).   Current convergence value = 6.68167e-06 (threshold = 1e-07)
  Iteration 37 (of 50).   Current convergence value = 6.67114e-06 (threshold = 1e-07)
  Iteration 38 (of 50).   Current convergence value = 6.68393e-06 (threshold = 1e-07)
  Iteration 39 (of 50).   Current convergence value = 6.68569e-06 (threshold = 1e-07)
  Iteration 40 (of 50).   Current convergence value = 6.67954e-06 (threshold = 1e-07)
  Iteration 41 (of 50).   Current convergence value = 6.67331e-06 (threshold = 1e-07)
  Iteration 42 (of 50).   Current convergence value = 6.67589e-06 (threshold = 1e-07)
  Iteration 43 (of 50).   Current convergence value = 6.67339e-06 (threshold = 1e-07)
  Iteration 44 (of 50).   Current convergence value = 6.66089e-06 (threshold = 1e-07)
  Iteration 45 (of 50).   Current convergence value = 6.66496e-06 (threshold = 1e-07)
  Iteration 46 (of 50).   Current convergence value = 6.65459e-06 (threshold = 1e-07)
  Iteration 47 (of 50).   Current convergence value = 6.67775e-06 (threshold = 1e-07)
  Iteration 48 (of 50).   Current convergence value = 6.66101e-06 (threshold = 1e-07)
  Iteration 49 (of 50).   Current convergence value = 6.64807e-06 (threshold = 1e-07)
  Iteration 50 (of 50).   Current convergence value = 6.66719e-06 (threshold = 1e-07)
Current level = 3
  Iteration 1 (of 50).   Current convergence value = 2.78532e-05 (threshold = 1e-07)
  Iteration 2 (of 50).   Current convergence value = 2.78324e-05 (threshold = 1e-07)
  Iteration 3 (of 50).   Current convergence value = 2.77794e-05 (threshold = 1e-07)
  Iteration 4 (of 50).   Current convergence value = 2.7757e-05 (threshold = 1e-07)
  Iteration 5 (of 50).   Current convergence value = 2.77294e-05 (threshold = 1e-07)
  Iteration 6 (of 50).   Current convergence value = 2.77054e-05 (threshold = 1e-07)
  Iteration 7 (of 50).   Current convergence value = 2.76623e-05 (threshold = 1e-07)
  Iteration 8 (of 50).   Current convergence value = 2.76436e-05 (threshold = 1e-07)
  Iteration 9 (of 50).   Current convergence value = 2.7603e-05 (threshold = 1e-07)
  Iteration 10 (of 50).   Current convergence value = 2.75927e-05 (threshold = 1e-07)
  Iteration 11 (of 50).   Current convergence value = 2.75474e-05 (threshold = 1e-07)
  Iteration 12 (of 50).   Current convergence value = 2.75151e-05 (threshold = 1e-07)
  Iteration 13 (of 50).   Current convergence value = 2.74904e-05 (threshold = 1e-07)
  Iteration 14 (of 50).   Current convergence value = 2.74707e-05 (threshold = 1e-07)
  Iteration 15 (of 50).   Current convergence value = 2.74432e-05 (threshold = 1e-07)
  Iteration 16 (of 50).   Current convergence value = 2.74197e-05 (threshold = 1e-07)
  Iteration 17 (of 50).   Current convergence value = 2.74093e-05 (threshold = 1e-07)
  Iteration 18 (of 50).   Current convergence value = 2.73737e-05 (threshold = 1e-07)
  Iteration 19 (of 50).   Current convergence value = 2.73416e-05 (threshold = 1e-07)
  Iteration 20 (of 50).   Current convergence value = 2.73139e-05 (threshold = 1e-07)
  Iteration 21 (of 50).   Current convergence value = 2.71805e-05 (threshold = 1e-07)
  Iteration 22 (of 50).   Current convergence value = 2.72585e-05 (threshold = 1e-07)
  Iteration 23 (of 50).   Current convergence value = 2.72257e-05 (threshold = 1e-07)
  Iteration 24 (of 50).   Current convergence value = 2.72055e-05 (threshold = 1e-07)
  Iteration 25 (of 50).   Current convergence value = 2.71809e-05 (threshold = 1e-07)
  Iteration 26 (of 50).   Current convergence value = 2.71641e-05 (threshold = 1e-07)
  Iteration 27 (of 50).   Current convergence value = 2.71393e-05 (threshold = 1e-07)
  Iteration 28 (of 50).   Current convergence value = 2.71217e-05 (threshold = 1e-07)
  Iteration 29 (of 50).   Current convergence value = 2.70752e-05 (threshold = 1e-07)
  Iteration 30 (of 50).   Current convergence value = 2.70506e-05 (threshold = 1e-07)
  Iteration 31 (of 50).   Current convergence value = 2.70287e-05 (threshold = 1e-07)
  Iteration 32 (of 50).   Current convergence value = 2.70109e-05 (threshold = 1e-07)
  Iteration 33 (of 50).   Current convergence value = 2.69879e-05 (threshold = 1e-07)
  Iteration 34 (of 50).   Current convergence value = 2.69614e-05 (threshold = 1e-07)
  Iteration 35 (of 50).   Current convergence value = 2.69272e-05 (threshold = 1e-07)
  Iteration 36 (of 50).   Current convergence value = 2.69016e-05 (threshold = 1e-07)
  Iteration 37 (of 50).   Current convergence value = 2.68643e-05 (threshold = 1e-07)
  Iteration 38 (of 50).   Current convergence value = 2.68275e-05 (threshold = 1e-07)
  Iteration 39 (of 50).   Current convergence value = 2.6812e-05 (threshold = 1e-07)
  Iteration 40 (of 50).   Current convergence value = 2.67522e-05 (threshold = 1e-07)
  Iteration 41 (of 50).   Current convergence value = 2.67364e-05 (threshold = 1e-07)
  Iteration 42 (of 50).   Current convergence value = 2.67127e-05 (threshold = 1e-07)
  Iteration 43 (of 50).   Current convergence value = 2.66886e-05 (threshold = 1e-07)
  Iteration 44 (of 50).   Current convergence value = 2.66522e-05 (threshold = 1e-07)
  Iteration 45 (of 50).   Current convergence value = 2.66303e-05 (threshold = 1e-07)
  Iteration 46 (of 50).   Current convergence value = 2.66174e-05 (threshold = 1e-07)
  Iteration 47 (of 50).   Current convergence value = 2.65747e-05 (threshold = 1e-07)
  Iteration 48 (of 50).   Current convergence value = 2.65596e-05 (threshold = 1e-07)
  Iteration 49 (of 50).   Current convergence value = 2.65165e-05 (threshold = 1e-07)
  Iteration 50 (of 50).   Current convergence value = 2.64949e-05 (threshold = 1e-07)
Current level = 4
  Iteration 1 (of 50).   Current convergence value = 0.000119517 (threshold = 1e-07)
  Iteration 2 (of 50).   Current convergence value = 0.00011894 (threshold = 1e-07)
  Iteration 3 (of 50).   Current convergence value = 0.000118443 (threshold = 1e-07)
  Iteration 4 (of 50).   Current convergence value = 0.000117928 (threshold = 1e-07)
  Iteration 5 (of 50).   Current convergence value = 0.000117386 (threshold = 1e-07)
  Iteration 6 (of 50).   Current convergence value = 0.000116882 (threshold = 1e-07)
  Iteration 7 (of 50).   Current convergence value = 0.000116378 (threshold = 1e-07)
  Iteration 8 (of 50).   Current convergence value = 0.000115798 (threshold = 1e-07)
  Iteration 9 (of 50).   Current convergence value = 0.000115274 (threshold = 1e-07)
  Iteration 10 (of 50).   Current convergence value = 0.000114734 (threshold = 1e-07)
  Iteration 11 (of 50).   Current convergence value = 0.000114258 (threshold = 1e-07)
  Iteration 12 (of 50).   Current convergence value = 0.000113707 (threshold = 1e-07)
  Iteration 13 (of 50).   Current convergence value = 0.000113184 (threshold = 1e-07)
  Iteration 14 (of 50).   Current convergence value = 0.000112763 (threshold = 1e-07)
  Iteration 15 (of 50).   Current convergence value = 0.000112172 (threshold = 1e-07)
  Iteration 16 (of 50).   Current convergence value = 0.000111694 (threshold = 1e-07)
  Iteration 17 (of 50).   Current convergence value = 0.000111169 (threshold = 1e-07)
  Iteration 18 (of 50).   Current convergence value = 0.00011067 (threshold = 1e-07)
  Iteration 19 (of 50).   Current convergence value = 0.000110132 (threshold = 1e-07)
  Iteration 20 (of 50).   Current convergence value = 0.000109654 (threshold = 1e-07)
  Iteration 21 (of 50).   Current convergence value = 0.000109202 (threshold = 1e-07)
  Iteration 22 (of 50).   Current convergence value = 0.000108675 (threshold = 1e-07)
  Iteration 23 (of 50).   Current convergence value = 0.00010816 (threshold = 1e-07)
  Iteration 24 (of 50).   Current convergence value = 0.00010766 (threshold = 1e-07)
  Iteration 25 (of 50).   Current convergence value = 0.000107088 (threshold = 1e-07)
  Iteration 26 (of 50).   Current convergence value = 0.000106606 (threshold = 1e-07)
  Iteration 27 (of 50).   Current convergence value = 0.00010606 (threshold = 1e-07)
  Iteration 28 (of 50).   Current convergence value = 0.000105581 (threshold = 1e-07)
  Iteration 29 (of 50).   Current convergence value = 0.000104379 (threshold = 1e-07)
  Iteration 30 (of 50).   Current convergence value = 0.000104496 (threshold = 1e-07)
  Iteration 31 (of 50).   Current convergence value = 0.000103941 (threshold = 1e-07)
  Iteration 32 (of 50).   Current convergence value = 0.000103428 (threshold = 1e-07)
  Iteration 33 (of 50).   Current convergence value = 0.000102953 (threshold = 1e-07)
  Iteration 34 (of 50).   Current convergence value = 0.00010244 (threshold = 1e-07)
  Iteration 35 (of 50).   Current convergence value = 0.000101924 (threshold = 1e-07)
  Iteration 36 (of 50).   Current convergence value = 0.000101415 (threshold = 1e-07)
  Iteration 37 (of 50).   Current convergence value = 0.00010096 (threshold = 1e-07)
  Iteration 38 (of 50).   Current convergence value = 0.000100472 (threshold = 1e-07)
  Iteration 39 (of 50).   Current convergence value = 0.000100031 (threshold = 1e-07)
  Iteration 40 (of 50).   Current convergence value = 9.95753e-05 (threshold = 1e-07)
  Iteration 41 (of 50).   Current convergence value = 9.9086e-05 (threshold = 1e-07)
  Iteration 42 (of 50).   Current convergence value = 9.85699e-05 (threshold = 1e-07)
  Iteration 43 (of 50).   Current convergence value = 9.80563e-05 (threshold = 1e-07)
  Iteration 44 (of 50).   Current convergence value = 9.75729e-05 (threshold = 1e-07)
  Iteration 45 (of 50).   Current convergence value = 9.70697e-05 (threshold = 1e-07)
  Iteration 46 (of 50).   Current convergence value = 9.65481e-05 (threshold = 1e-07)
  Iteration 47 (of 50).   Current convergence value = 9.61015e-05 (threshold = 1e-07)
  Iteration 48 (of 50).   Current convergence value = 9.56532e-05 (threshold = 1e-07)
  Iteration 49 (of 50).   Current convergence value = 9.51594e-05 (threshold = 1e-07)
  Iteration 50 (of 50).   Current convergence value = 9.47101e-05 (threshold = 1e-07)
   N4BiasFieldCorrectionImageFilter (0x271a0b0)
     RTTI typeinfo:   itk::N4BiasFieldCorrectionImageFilter<itk::Image<float, 3u>, itk::Image<float, 3u>, itk::Image<float, 3u> >
     Reference Count: 1
     Modified Time: 639
     Debug: Off
     Object Name:
     Observers:
       IterationEvent(Command)
     Inputs:
       Primary: (0x272a630) *
       _1: (0x2728060)
     Indexed Inputs:
       0: Primary (0x272a630)
       1: _1 (0x2728060)
     Required Input Names: Primary
     NumberOfRequiredInputs: 1
     Outputs:
       Primary: (0x2722280)
     Indexed Outputs:
       0: Primary (0x2722280)
     NumberOfRequiredOutputs: 1
     Number Of Threads: 8
     ReleaseDataFlag: Off
     ReleaseDataBeforeUpdateFlag: Off
     AbortGenerateData: Off
     Progress: 0
     Multithreader:
       RTTI typeinfo:   itk::MultiThreader
       Reference Count: 1
       Modified Time: 134
       Debug: Off
       Object Name:
       Observers:
         none
       Thread Count: 8
       Global Maximum Number Of Threads: 128
       Global Default Number Of Threads: 8
     CoordinateTolerance: 1e-06
     DirectionTolerance: 1e-06
     Mask label: 1
     Number of histogram bins: 200
     Wiener filter noise: 0.01
     Bias field FWHM: 0.15
     Maximum number of iterations: [50, 50, 50, 50]
     Convergence threshold: 1e-07
     Spline order: 3
     Number of fitting levels: [4, 4, 4]
     Number of control points: [4, 4, 4]
     CurrentConvergenceMeasurement: 9.47101e-05
     CurrentLevel: 4
     ElapsedIterations: 51
     LogBiasFieldControlPointLattice:
       Image (0x2729060)
         RTTI typeinfo:   itk::Image<itk::Vector<float, 1u>, 3u>
         Reference Count: 1
         Modified Time: 398568
         Debug: Off
         Object Name:
         Observers:
           none
         Source: (none)
         Source output name: (none)
         Release Data: Off
         Data Released: False
         Global Release Data: Off
         PipelineMTime: 0
         UpdateMTime: 0
         RealTimeStamp: 0 seconds
         LargestPossibleRegion:
           Dimension: 3
           Index: [0, 0, 0]
           Size: [11, 11, 11]
         BufferedRegion:
           Dimension: 3
           Index: [0, 0, 0]
           Size: [11, 11, 11]
         RequestedRegion:
           Dimension: 3
           Index: [0, 0, 0]
           Size: [11, 11, 11]
         Spacing: [24.8437, 24.7, 24.8906]
         Origin: [25.8247, 25.3816, -23.1453]
         Direction:
-0.999291 -0.00257245 -0.0375641
0.0037625 -0.999492 -0.0316442
-0.0374636 -0.0317631 0.998793

         IndexToPointMatrix:
-24.8261 -0.0635395 -0.934994
0.0934746 -24.6875 -0.787644
-0.930737 -0.784549 24.8606

         PointToIndexMatrix:
-0.040223 0.000151446 -0.00150797
-0.000104148 -0.0404653 -0.00128596
-0.00150917 -0.00127133 0.0401273

         Inverse Direction:
-0.999291 0.0037625 -0.0374636
-0.00257245 -0.999492 -0.0317631
-0.0375641 -0.0316442 0.998793

         PixelContainer:
           ImportImageContainer (0x2728660)
             RTTI typeinfo:   itk::ImportImageContainer<unsigned long, itk::Vector<float, 1u> >
             Reference Count: 1
             Modified Time: 398569
             Debug: Off
             Object Name:
             Observers:
               none
             Pointer: 0x406f880
             Container manages memory: true
             Size: 1331
             Capacity: 1331
Elapsed time: 47.2024
END   <<<<<<<<<<<<<<<<<<<<

--------------------------------------------------------------------------------------
 Done with N4 correction (pre brain extraction):  0h 0m 53s
--------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------
 Brain extraction using the following steps:
   1) Register ambmc_thr_ds.nii.gz to new_ss_N4Corrected0.nii.gz
   2) Warp ambmc_thr_ds_bin_br.nii.gz to fast3_sd.nii.gz using, from 1),
      new_ss_BrainExtractionWarp/Affine
   3) Refine segmentation results using Atropos
--------------------------------------------------------------------------------------

BEGIN >>>>>>>>>>>>>>>>>>>>
/usr/bin/ResampleImageBySpacing 3 ambmc_thr_ds.nii.gz new_ss_BrainExtractionInitialAffineFixed.nii.gz 4 4 4 1
 spacing [0.2, 0.2, 0.2] dim 3
 spacing2 [4, 4, 4]
 smoothing by : 19 dir 0
 smoothing by : 19 dir 1
 smoothing by : 19 dir 2
 out space [4, 4, 4]
 output size [2, 4, 1] spc [4, 4, 4]
END   <<<<<<<<<<<<<<<<<<<<

BEGIN >>>>>>>>>>>>>>>>>>>>
/usr/bin/ResampleImageBySpacing 3 new_ss_N4Corrected0.nii.gz new_ss_BrainExtractionInitialAffineMoving.nii.gz 4 4 4 1
 spacing [0.3125, 0.65, 0.28125] dim 3
 spacing2 [4, 4, 4]
 smoothing by : 11.8 dir 0
 smoothing by : 5.15385 dir 1
 smoothing by : 13.2222 dir 2
 out space [4, 4, 4]
 output size [4, 2, 2] spc [4, 4, 4]
END   <<<<<<<<<<<<<<<<<<<<

BEGIN >>>>>>>>>>>>>>>>>>>>
/usr/bin/ImageMath 3 new_ss_BrainExtractionLaplacian.nii.gz Laplacian new_ss_N4Corrected0.nii.gz 1.5 1
END   <<<<<<<<<<<<<<<<<<<<

BEGIN >>>>>>>>>>>>>>>>>>>>
/usr/bin/ImageMath 3 new_ss_BrainExtractionTemplateLaplacian.nii.gz Laplacian ambmc_thr_ds.nii.gz 1.5 1
END   <<<<<<<<<<<<<<<<<<<<

BEGIN >>>>>>>>>>>>>>>>>>>>
/usr/bin/antsAI -d 3 -v 1 -m Mattes[new_ss_BrainExtractionInitialAffineFixed.nii.gz,new_ss_BrainExtractionInitialAffineMoving.nii.gz,32,Regular,0.25] -t Affine[0.1] -s [15,0.1] -p 0 -c 10 -o new_ss_BrainExtractionInitialAffine.mat
Using the Mattes MI metric (number of bins = 32)
terminate called after throwing an instance of 'itk::ExceptionObject'
  what():  /var/tmp/portage/sci-biology/ants-9999/work/ants-9999_build/ITKv4-install/include/ITK-4.9/itkRecursiveSeparableImageFilter.hxx:245:
itk::ERROR: RecursiveGaussianImageFilter(0x2c99830): The number of pixels along direction 1 is less than 4. This filter requires a minimum of four pixels along the dimension to be processed.
/usr/bin/antsBrainExtraction.sh: line 105: 27654 Aborted                 (core dumped) $cmd
ERROR: command exited with nonzero status 134
Command: /usr/bin/antsAI -d 3 -v 1 -m Mattes[new_ss_BrainExtractionInitialAffineFixed.nii.gz,new_ss_BrainExtractionInitialAffineMoving.nii.gz,32,Regular,0.25] -t Affine[0.1] -s [15,0.1] -p 0 -c 10 -o new_ss_BrainExtractionInitialAffine.mat

My first guess is that since the voxel size is so small, it downsamples the data too much, getting a too-low resolution. Can you help me get this work?
If possible I would like to avoid inflating the voxel size.

The link is dead.  However, the data looks unusual in that you have this happening during the N4 step:
Specified spline distance: 200mm
  original image size:  [64, 14, 32]
  padded image size:  [641, 309, 712]
  number of control points:  [4, 4, 4]

Notice how the padded image size is blowing up.  I'm guessing this isn't a human brain, correct?

@ntustison fixed the link.
Yes, this is a mouse brain, hence the fine resolution. I do hope ANTs would still work with mice brains if I have the appropriate templates (which I do, as seen in the link).
Why would the image get padded like that?

The pipeline was designed for human subjects which is why the image gets padded.  The same general principles would work on a mouse brain but you'd have to modify some of the parameters of the programs used inside the script.

Can you help me figure out which parameters? I generally found that documentation on the ANTs basis functions is rather scarce...

That's a significant task for which I don't have extra time.  An immediate work-around attempt would be to resize the voxel spacings in your individual mice and template images such that the resulting rescaled mouse brain is approximately the same size as a human brain.  You can then try to run those rescaled images through the script.

I had already done that before, and yes, it works (though for some reason for contrast-agent CBV measurements) the script performs considerably worse than fslmaths -thrP 0.3 and bet -f 0.5 -g 0, as seen below:

However, given that antsBrainExtraction.sh lets me specify my own template and prior, I thought it would be easier to make it work in native resolution (whereas bet seems to have some hard-coded assumptions, then again, it seems this does too ....)

antsBrainExtraction.sh is a human brain extraction script ... ANTsR has a
function called getMask that is fast and has minimal assumptions.  you
can implement the same thing with ANTs tools.  here is the code:
https://github.com/stnava/ANTsR/blob/master/R/getMask.R
or just install ANTsR and call it directly.
otherwise, you can develop a new antsMurineBrainExtraction.sh script that
would do well in your data but you'd have to put the time into it.
ideally, you would share both the code as well as an example template with
priors and some test individual subject data.  this would be the most
interesting path to take and would likely yield the best/most reusable
solution.  i encourage you to try it.
brian
On Sun, May 29, 2016 at 9:57 AM, Horea Christian<EMAIL_ADDRESS>wrote:

I had already done that before, and yes, it works (though for some reason
for contrast-agent CBV measurements) the script performs considerably worse
than fslmaths -thrP 0.3 and bet -f 0.5 -g 0, as seen below:
[image: screenshot from 2016-05-29 17-52-07]
https://cloud.githubusercontent.com/assets/950524/15634525/7d075282-25c6-11e6-81fc-eaea20c195ed.png
[image: screenshot from 2016-05-29 17-53-24]
https://cloud.githubusercontent.com/assets/950524/15634526/81f7f77e-25c6-11e6-83f3-ff56ce62367d.png
However, given that antsBrainExtraction.sh lets me specify my own
template and prior, I thought it would be easier to make it work in native
resolution (whereas bet seems to have some hard-coded assumptions, then
again, it seems this does too ....)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/stnava/ANTs/issues/324#issuecomment-222367941, or mute
the thread
https://github.com/notifications/unsubscribe/AATyfkidiW4UI2dSOEESc7DLwhutw9XLks5qGbdugaJpZM4IpD3k
.

adding that, if you share your in-development code (along with data) then
it is possible that someone will be able to help.  otherwise, we can only
guess/imagine the data, etc with which you are working.
brian
On Sun, May 29, 2016 at 10:28 AM, brian avants<EMAIL_ADDRESS>wrote:

antsBrainExtraction.sh is a human brain extraction script ... ANTsR has a
function called getMask that is fast and has minimal assumptions.  you
can implement the same thing with ANTs tools.  here is the code:
https://github.com/stnava/ANTsR/blob/master/R/getMask.R
or just install ANTsR and call it directly.
otherwise, you can develop a new antsMurineBrainExtraction.sh script
that would do well in your data but you'd have to put the time into it.
ideally, you would share both the code as well as an example template with
priors and some test individual subject data.  this would be the most
interesting path to take and would likely yield the best/most reusable
solution.  i encourage you to try it.
brian
On Sun, May 29, 2016 at 9:57 AM, Horea Christian<EMAIL_ADDRESS>
wrote:

I had already done that before, and yes, it works (though for some reason
for contrast-agent CBV measurements) the script performs considerably worse
than fslmaths -thrP 0.3 and bet -f 0.5 -g 0, as seen below:
[image: screenshot from 2016-05-29 17-52-07]
https://cloud.githubusercontent.com/assets/950524/15634525/7d075282-25c6-11e6-81fc-eaea20c195ed.png
[image: screenshot from 2016-05-29 17-53-24]
https://cloud.githubusercontent.com/assets/950524/15634526/81f7f77e-25c6-11e6-83f3-ff56ce62367d.png
However, given that antsBrainExtraction.sh lets me specify my own
template and prior, I thought it would be easier to make it work in native
resolution (whereas bet seems to have some hard-coded assumptions, then
again, it seems this does too ....)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/stnava/ANTs/issues/324#issuecomment-222367941, or mute
the thread
https://github.com/notifications/unsubscribe/AATyfkidiW4UI2dSOEESc7DLwhutw9XLks5qGbdugaJpZM4IpD3k
.

do you mean getMask could be used directly as a (template- and prior-agnostic) brain-extraction tool?
I guess that might also make it work better with negative-contrast-agent images - I guess the reason antsBrainExtraction.sh fails (ocasionally) on CBV data is because it matches the signal drop of the cranium and venous sinuses to the signal drop in the white matter. There's also this nice picture of how ANTs ends up computing the registration and doing the warping based on these poorly extracted brains (template overlaid in red):

I have already uploaded some sample data and linked to it in the first comment (and can provide more)  - but if nobody else wants to help with this from the get-go, it will have to wait until I find the time to actually read and understand all of antsBrainExtraction.sh.

The basic workflow of antsBrainExtraction.sh is

Bias correct the input image with N4

Register the template to the input image and warp the template brain mask to the input space. This is the initial guess for the brain mask.

Do some segmentation and morphology to clean up the initial mask. For example, dilate the mask and retain voxels within the dilation radius that are segmented as gray matter.

In the example data provided in the link at the top of the thread, the brain extraction template is itself brain extracted, so there's nothing for the non-brain tissue in the input image to match to. This can cause registration to go badly wrong.
I don't know how bet sets its default parameters but it might also benefit from being told the initial center and radius of the estimated brain surface.

Hello.
@TheChymera, I use ANTs for pre-clinical data too. If you have access to a source code install of FSL, you could try my modified BET utility (http://www.nitrc.org/projects/rbet), however it tends to chop off the olfactory bulbs and I don't actually use it much myself anymore. It still tends to do better than BET though.
For ANTs, I find that provided the target (atlas) image is masked during registration then the registration quality is acceptable, provided the initial rigid registration is good.
In the particular case of antsBrainExtraction.sh, the image is likely getting padded because the spline distance in the call to N4 is incorrect. You could try changing the line in the script from:
N4BiasFieldCorrection -d 3 -i new_ss_N4Truncated0.nii.gz -s 4 -c [50x50x50x50,0.0000001] -b [200] -o new_ss_N4Corrected0.nii.gz --verbose 1
to
N4BiasFieldCorrection -d 3 -i new_ss_N4Truncated0.nii.gz -s 4 -c [50x50x50x50,0.0000001] -b [20] -o new_ss_N4Corrected0.nii.gz --verbose 1
Note the reduction of the -b option from 200 to 20. This is better suited to rodent brains. I run N4 on mice with that setting frequently. I haven't had much luck with antsBrainExtraction.sh because I don't have any atlas's with good priors, only binary masks and they don't seem to work well. Good luck!

and I don't actually use it much myself anymore.

You mean rBET? What is your preferred skullstripping tool atm for native-resolution rodent brains?
On images taken without contrast agent, I actually found that antsBrainExtraction.sh with a binary mask as a prior works really nicely (all my current work is with inflated voxel sizes).
Ah, I had not even realized the tool also does bias field correction. I did that separately with FSL's fast. Now that you mentioned it I tried comparing how N4 works in comparison to FAST. Mind you, this is with 10x inflated voxels. In any case I could not get N4BiasFieldCorrection -d 3 -i corr_15_mean.nii.gz -b 20 -o n4.nii.gz or N4BiasFieldCorrection -d 3 -i corr_15_mean.nii.gz -b 200 -o n4.nii.gz or
N4BiasFieldCorrection -d 3 -i corr_15_mean.nii.gz -b 200 -c [100x100x100,0.001] -o n4.nii.gz to do anything noticeable to my data. What parameters are you using? For me fast -I 8 -B -S 1 -o fast corr_15_mean.nii.gz does the job quite nicely.

You need brackets around the '-b' option, i.e. -b [20].

@ntustison what's a good guideline for choosing that value? I get noticeably different results even from: N4BiasFieldCorrection -d 3 -i corr_15_mean.nii.gz -b [125] -c [500x500x500,0] -o n4.nii.gz and N4BiasFieldCorrection -d 3 -i corr_15_mean.nii.gz -b [120] -c [500x500x500,0] -o n4.nii.gz.

The meaning of the "spline distance" parameter is unchanged from the original N3.  It determines the smoothness of the bias field estimate.  Although the spline distance parameter is similar between the two calls, I'm not surprised that, 1500 iterations later, you end up with solutions that are noticeably different.
A good guideline is to choose the parameters which minimize the amount of bias (which is obvious).  There are some papers out there which describe quantitative methods for assessing bias field correction (e.g., http://www.ncbi.nlm.nih.gov/pubmed/16307900) but much of it, for us, comes down to just looking at the images.  Since most of the time bias correction is a preprocessing step for segmentation, another obvious thing to look at is the quality of the resulting segmentation.

In how far can I expect that the spline distance parameter that looks good on a few images will look good on all the images acquired of similar brains with the same sequence?

There's no precise answer.

@TheChymera For my current projects I don't skull-strip. antsMTC2 works well provided your input images are similar i.e. you imaged the whole head consistently. I then register the generated template to the atlas with only the atlas masked using antsRegistrationSyN.sh, and back-transform the atlas mask to the study template. Finally I register all the individual images to the study template, again using antsRegistrationSyN.sh with the template mask.
This works well for me, but I am doing this ex-vivo and have the luxury of imaging entire heads that have been prepped consistently. If you are doing in-vivo with a limited number of slices it might not work so well.
Finally why are you trying to skull-strip the CBV image? It would be more usual to skull-strip the structural image. At least that's how we've done in-vivo data in the past.


Linkify n stuff

improved linkifying in the ChatView, including things like:

geo:49.563374,17.291426?z=8
@guardianproject
#fail
openpgp4fpr:5E61C8780F86295CE17D86779F0FE587374BBE81

Also, this adds a new preference "Linkify on Tor" and changes a default: now, no links are created on chats from accounts that are setup with Tor.  The preference overrides that.

All looks good and working well!

@eighthave I am looking to add this feature to MAPS.ME, would you be able to advise? The issue tracker is here. You may be interested since it is free software and on F-Droid now.

@ghost here is the best example for how a map app can share location in a flexible way:
https://github.com/osmandapp/Osmand/pull/1033

@ghost can you point me to MAPS.ME on f-droid?  I can't find it.

Sorry, it was soon removed due to a request by MAPS.ME developers. a Development of a fork continues here.


Music Recommendation System

💥 Proposal
This project is used to build music recommendation system using spotify dataset.

Please assign me this issue, I will resolve it.
I have a clear idea of it.

I want to work on this issue

I am the contributor of GSSOC'23

Hi, we have several issues on the similar issues. Hence, we cannot assign you this issue.


Switch to 'stable' rust toolchain channel

At the moment, we are using the 'nightly' channel of the Rust toolchain. Going forward, we want to use the 'stable' channel because some tools like the SRTool don't work on 'nightly' anymore, at least not on the latest versions, see this issue.
Switching the toolchain was not possible before as we encountered compiler errors. It might be that the recent update of the polkadot dependencies to v0.9.42 resolves those problems.
TODO
Change the rust-toolchain.toml to use a 'stable' channel. Make sure that the vault, testchain and all tests still compile and work as expected.

@pendulum-chain/product This is a chore and doesn't add a new feature. It's nice to have but not urgent.

We have to replace Mocktopus, which is a nightly-only library.
Current situation: I tried to use the famous mockall lib, but our problem is the usage of functions (static methods)  called inside the Pallet{} struct.
sample code:
#[cfg(test)]
use mockall::automock;

#[cfg_attr(test, automock)]
pub mod pallet_helper {
    pub fn one() -> u64 {
        1
    }

    pub fn two() -> u64 {
        2
    }
}

pub mod prod {
    pub struct Pallet;

    impl Pallet {
        pub fn get_one() -> u64 {
             ...
             super::pallet_helper::one()
        }

        pub fn get_two() -> u64 {
            ...
            super::pallet_helper::two()
        }
    }
}

And in our test cases, we're testing get_one() and get_two():
  static MTX: Mutex<()> = Mutex::new(());

    #[test]
    fn test_1() {
        // The mutex might be poisoned if another test fails.  But we don't
        // care, because it doesn't hold any data.  So don't unwrap the Result
        // object; whether it's poisoned or not, we'll still hold the
        // MutexGuard.
        let _m = MTX.lock();

        let ctx = mock_helper::one_context();
        ctx.expect().returning(|| 2);
        let expected = 2;
        assert_eq!(expected, prod::Thing::get_one());
    }

But it fails:
assertion `left == right` failed
  left: 2
 right: 1

This pattern style is what I've observed in pallets vault-registry and reward-distribution.
It would be great to wrap the Pallet inside the mock!() macro. But that would be ugly. Or it might not even work. Maybe that's why Interlay used Mocktopus.
I'll continue the hunt for other mock libs to use

@b-yap can you please estimate this ticket as i see you already started work on this and move this to ready?


Error printing pdf for URL - ECONNRESET

It seems that Chrome does not answer every 5 - 6 lambda calls. @adieuadieu - do you think there is a link to the  #41 error? If yes switching to the dev branch is the best option right? Or any other ideas?
Full Error Stack:
2017-10-19T13:14:09.057Z	64116166-b4cf-11e7-bc89-2b60ceaa6ca0	Error printing
 pdf for google.com
{ Error: read ECONNRESET at exports._errnoException (util.js:1018:11) at TCP.onread (net.js:568:26) code:  'ECONNRESET', errno: 'ECONNRESET', syscall: 'read' }2017/10/19/[$LATEST]d17e15b02ea544c4b66ea662c8c379df2017-10-19T13:14:09.057Z64116166-b4cf-11e7-bc89-2b60ceaa6ca0	Error printing pdf for https://staging.buzzbird.de/brand/directaccess/reporting/3683 { Error: read ECONNRESET at exports._errnoException (util.js:1018:11) at TCP.onread (net.js:568:26) code: 'ECONNRESET', errno: 'ECONNRESET', syscall: 'read' }

@mario589736 Sounds like that's the same issue as #41. I will publish a new binary and npm package (on the develop branch) over the next few days which will include the comment-out hack described here.
I'll close this Issue in favor of #41.


Fix coverage reporting

This properly tests coverage in travis.
It reports coverage of both python and javascript to Codecov.
It reports javascript coverage to cdash.  If we are happy with Codecov's reporting, then it may not be worth the effort to get python coverage in cdash.

Once this gets merged to master, we can add a codecov badge, too.

@manthey This works great for my PR.


[EBPF-577] gpu: add e2e test to check presence of metrics

What does this PR do?
This PR adds a e2e test that ensures we have metrics received in the fakeintake
Motivation
Describe how to test/QA your changes
Possible Drawbacks / Trade-offs
Additional Notes

/merge


Add 'now' feature so one can access the snapshot/chord date

@amosr This is what I have come up with for now (puns!)
We still need to expose DaysDifference in source so it's actually useful.

this looks good, but I'm not 100% sure about the monoid instance on postdates. what happens if both are "Just"? maybe you'll need to add a new postcomputation binding, setting the second date to the first?
hm can you add now to the arbitrary instance for Source? might be easier to change the Nothing in fets to just some arbitrary variable

Yeah, Monoids on Maybes is a bit terrible. The only real thing we could do it fake a let binding so the next value points to the real one.
Arbs added.

yeah - I think adding lets is good enough

BTW, this PR is on top of the Tombstone one.

Hmm. I don't think it's too simple. The Monoid is used after the convertQuery is called. So it'd be pretty hard to reach back in and add a Let.

I was thinking something like
mappend (CoreBinds a b c d (Just date1)) (CoreBinds f g h i (Just date2))
 = CoreBinds (a<>f) (b<>g) (c<>h) ((date2, X.XVar date1) : d<>i) (Just date1)

but the other cases same.
ah! but no annotation! damn! maybe you can add an annotation to the CoreBinds (Maybe (a, Date)) field?

Ok, I don't see how it could possibly get called, but I've put it in.

ah ok, I misunderstood. I thought each use of "now" was adding a Just to the CoreBinds' date, rather than only being set once at the top level.
yeah - in this case we're better off removing the Maybe PostDate from the CoreBinds, and just adding it as another argument to programOfBinds - since the intermediate steps that also produce CoreBinds don't need to worry about the postdate.
this is good though :microscope:

I think postdate shouldn't exist too, but as it is this is still good :hatching_chick: :hatched_chick: :baby_chick: :chicken: :poultry_leg:

Ahh, yes, good point @amosr. Functions with arguments, love it :P

tran is currently fixing the mess I created of the typechecker by refusing to use function arguments. oh boy :-(

Just going to close this and create a new PR on top of master.

"fix" is a strong word...


Revise comments

In several locations, the comments field is referenced as a location to provide information when 'other' is selected for a given field. Using a single field to capture multiple types of information for different purposes is problematic. Instead of a narrow defined purpose, there's an overlap of multiple fields without a clear way to relate information back to a field.
An example. Let's say a large dead log is a feature in the detection zone of a given deployment. 'Dead log' isn't an option. So the 'other' option is chosen. The comments field already contains several notes associated with various aspects of the deployment. So the 'dead log' feature is added to the end. That information is nearly impossible to parse out. So for searching and indexing the records, the other description is of limited use.
The comments field should have a specific purpose or narrow focus. A catchall for the 'other' options should be avoided.
I don't think the answer is to add a featureTypeOther text field or even a featureTypeComments field. Rather, the feature type controlled vocabulary should be re-evaluated to determine if the other option can be eliminated altogether.

If other, more info can be provided in the comments field.

I think this is fine for a controlled vocabulary where other is rather rare. If we're still missing many relevant terms, then I agree that is an issue. Maybe we should nudge people to suggest relevant missing terms to Camtrap DP?

For reference, this applies to the terms baitUse and featureType

Other

@ben-norton: In several locations, the comments field is referenced as a location to provide information when 'other' is selected for a given field.

Solved: the term other is now removed from baitUse (now a boolean) and featureType, see #22. The comments field is only referenced in baitUse as:

true if bait was used for the deployment. More information can be provided in tags or comments.

Parsing info

@ben-norton: The comments field already contains several notes associated with various aspects of the deployment. So the 'dead log' feature is added to the end. That information is nearly impossible to parse out. So for searching and indexing the records, the other description is of limited use.

Agree, which is why the tags field is suggested for more info on baitUse. Tags are more structured than comments:

Formatted as a pipe (|) separated list for multiple values, with values optionally formatted as key:value pairs.
Example: forest edge | bait:food

We still mention the comments field in baitUse, since people might have unstructured information regarding bait that they want to share as well (but not intended to be parsed by machines), for which the comment field is fine.
@ben-norton in my opinion this should sufficiently address your concern? I will close this issue. Let me know if you don't agree.


Documentation on how to use Caikit to manage AI models

Description
Documentation on how to use Caikit to:

Load/Serve an AI model
Infer/Run an AI model
Train an AI model

This should also include examples and bolierplate to support the documentation. Use open source models like the models from Hugging Face as an example.
Discussion
What architectural details are relevant to this user?

datamodel / dataobject
module API (run / bootstrap / save / load / train)
module registry?

Acceptance Criteria

[ ] QuickStart on how to infer a model
[ ] Quickstart on how to train a model
[ ] GitHub template which provide boilerplate dummy model
[ ] GitHub template which provide boilerplate HuggingFace model
[x] Example using an open source model (for example, from Hugging face) (#84)
[ ] README updated to reference the content produced

@joerunde @evaline-ju I condensed #64 #68 #67 #26 into this PR as they are related. Easier to manage from this issue.


Make the WGSL port interactive

This adds the infrastructure to support writeable images and also hacks in a method for supplying external resources while running a recording. There are better designs for this, but I suspect that there will be a lot of refactoring around that code so I didn't want to invest a ton of effort here right now.
Changes fine to output to a texture instead of a buffer and also hacks in a small render pass to blit this texture to swapchain texture.
Finally, runs it all in a window with the original piet-gpu test scenes. There are some artifacts on wide strokes, but otherwise seems to be about right.
As usual with me, seems to be a lot of churn here :)

FWIW, I think my original idea for external resources was to have them the same as regular resources, but have a method to register them with the Engine. But I didn't work it out in any detail and don't have strong feelings about the way it's done; this seems Good Enough.

Agree 100% with lib'izing but I felt that was just additional churn for this PR. I'll put something together for that next.
As for external resources, your idea is much better and probably what we'll want to go with, but I threw this in as a stopgap to get it working. My assumption is that there are going to be a lot of changes to the structure as we figure out optimal resource allocation/reuse, handling the robust memory cases, and effectively intermixing CPU stages.


Set position for panel

I have a component to load model for preview by react-three/fiber and react-three/drei, then I add a leva control for this component preview, but the panel always generate at the right of page.
Any suggest to set the panel at the top right of canvas?
thanks
#my component
import React , { Suspense, useEffect } from 'react'
import * as THREE from "three"
import { Canvas, useFrame } from "@react-three/fiber"
import  { OrbitControls, useProgress, Html , Center} from '@react-three/drei'
import Model from './model'
import { useControls } from 'leva'

function Loader() {
  const { progress } = useProgress()
  return {progress} % loaded
}

function Zoom() {
  const { zoom } = useControls({ zoom: { value: 0.5, min: 0.2, max: 1, step: 0.01 } })
  return useFrame((state) => {
    state.camera.zoom = THREE.MathUtils.lerp(state.camera.zoom, zoom * 4, 0.1)
    state.camera.updateProjectionMatrix()
  })
}

const ModalPreview = (props) => {

  return (
    <Canvas id="model_preview">
      <OrbitControls/>
      <Suspense fallback={<Loader/>}>

          <Model url={props.url}/>

      </Suspense>
      <Zoom/>
    </Canvas>
  )
}

export default ModalPreview

Hi, you'll need to put the  component inside the DOM hierarchy with the fill and flat props set. This will make the panel fill the parent div that you have free control over.
import { Leva } from 'leva'

function Component() {
  return (

      { /* this will render the panel inside the parent div */ }
       <Leva fill flat />

  )
}


XML config generator rewrite && ensure user config has mandatory fileds: profile,quota,networds,password

Please remove default for password. Password should always be provided. In minimum possible spec it looks like:
configuration:
users:
demo/password: demo


External testflight: undefined method `[]' for nil:NilClass

Issue Description
Out of nowhere, "pilot" has been failing to distribute to external users.  Everything worked a week or two ago, but the past two days I have been receiving an error when it tries to distribute new build to testers.
I use gym to generate the IPA, then pass that IPA to pilot.  The upload works fine, internal testing works fine.  It's just when it goes to send the build external users it fails.
Testflight is setup correctly, beta review is already complete.
If I manually add the build to external users, it goes live w/o any issues, no beta review required (as it is not a new version number).
Complete output when running fastlane, including the stack trace and command used
[08:49:54]: -------------------
[08:49:54]: --- Step: pilot ---
[08:49:54]: -------------------
[08:49:54]: Login to iTunes Connect (xxxxxxxxxxxxxxx)
[08:49:57]: Login successful
[08:49:57]: Ready to upload new build to TestFlight (App: xxxxxxxxxxxxxxxx)...
[08:49:57]: Going to upload updated app to iTunes Connect
[08:49:57]: This might take a few minutes, please don't interrupt the script
[08:50:23]: iTunes Transporter successfully finished its job
[08:50:24]: ------------------------------------------------------------------------------------------------------
[08:50:24]: Successfully uploaded package to iTunes Connect. It might take a few minutes until it's visible online.
[08:50:24]: ------------------------------------------------------------------------------------------------------
[08:50:24]: Successfully uploaded the new binary to iTunes Connect
[08:50:24]: If you want to skip waiting for the processing to be finished, use the `skip_waiting_for_build_processing` option
[08:50:24]: Waiting for iTunes Connect to process the new build
[08:50:55]: Waiting for iTunes Connect to finish processing the new build (1.0.1 - 149)
[08:51:26]: Waiting for iTunes Connect to finish processing the new build (1.0.1 - 149)
[08:51:57]: Waiting for iTunes Connect to finish processing the new build (1.0.1 - 149)
[08:52:28]: Waiting for iTunes Connect to finish processing the new build (1.0.1 - 149)
[08:52:59]: Waiting for iTunes Connect to finish processing the new build (1.0.1 - 149)
[08:53:31]: Waiting for iTunes Connect to finish processing the new build (1.0.1 - 149)
[08:54:02]: Waiting for iTunes Connect to finish processing the new build (1.0.1 - 149)
[08:54:33]: Waiting for iTunes Connect to finish processing the new build (1.0.1 - 149)
[08:55:05]: Waiting for iTunes Connect to finish processing the new build (1.0.1 - 149)
[08:55:35]: Successfully finished processing the build
[08:55:35]: You can now tweet:
[08:55:35]: iTunes Connect #iosprocessingtime 5 minutes
[08:55:36]: Successfully set the changelog for build
[08:55:36]: Distributing new build to testers
[08:55:37]: undefined method `[]' for nil:NilClass

Configuration Files
Please copy the complete content of your Fastfile and any other configuration files you use below:
Fastfile:
sigh

ipa = gym(
  scheme: scheme,
  configuration: "Release"
)

pilot(
  ipa: ipa,
  distribute_external: true,
  changelog: "New build"
)

Environment
fastlane 1.97.2

I've searched google for the past two days, also this github issue forum, but cannot find any similar issues with a resolution.

Anyone know what could be causing this?  I was hoping maybe it was a hiccup in iTunes Connect, but the problem is still occurring.
Thanks.

@tcarter2005 Can you try the fix in https://github.com/fastlane/fastlane/pull/5407?

Thanks for the link, it seems like it will be merged into a release soon, I hope.  Sorry I cannot test the fix, as I barely know anything about ruby to be able to compile the source and test.

@tcarter2005 Thanks, looks like that PR will fix your issue. Can you test again after it's been merged into our release version? Thanks 👍

pilot 1.10.0 has been released. Please let us know if you have any further issues 👍


[vim] Don't start extra process at opening popup

I propose to use pty-buffer instead of unnecessary shell process when opening popup window.

/cc @lacygoill

If a terminal popup is already open when an fzf command is invoked, when leaving the fzf popup and getting back to the original popup, E994 is raised, and the terminal buffer is not wiped out; it remains present in the output of :ls!:
6  h?  "!pty [active]"                line 1

@lacygoill Hm,, we can fail pty cleanup.
I devised the another plan, how is this?
--- a/plugin/fzf.vim
+++ b/plugin/fzf.vim
@@ -648,6 +648,7 @@ function! s:split(dict)
   \ 'left':  ['vertical topleft', 'vertical resize', &columns],
   \ 'right': ['vertical botright', 'vertical resize', &columns] }
   let ppos = s:getpos()
+  let is_popup = v:false
   try
     if s:present(a:dict, 'window')
       if type(a:dict.window) == type({})
@@ -655,6 +656,7 @@ function! s:split(dict)
           throw 'Vim 8.2.191 or later is required for pop-up window'
         end
         call s:popup(a:dict.window)
+        let is_popup = v:true
       else
         execute 'keepalt' a:dict.window
       endif
@@ -676,7 +678,7 @@ function! s:split(dict)
         endif
       endfor
     endif
-    return [ppos, { '&l:wfw': &l:wfw, '&l:wfh': &l:wfh }]
+    return [ppos, { '&l:wfw': &l:wfw, '&l:wfh': &l:wfh }, is_popup]
   finally
     setlocal winfixwidth winfixheight
   endtry
@@ -685,7 +687,7 @@ endfunction
 function! s:execute_term(dict, command, temps) abort
   let winrest = winrestcmd()
   let pbuf = bufnr('')
-  let [ppos, winopts] = s:split(a:dict)
+  let [ppos, winopts, is_popup] = s:split(a:dict)
   call s:use_sh()
   let b:fzf = a:dict
   let fzf = { 'buf': bufnr(''), 'pbuf': pbuf, 'ppos': ppos, 'dict': a:dict, 'temps': a:temps,
@@ -752,7 +754,13 @@ function! s:execute_term(dict, command, temps) abort
       if !len(&bufhidden)
         setlocal bufhidden=hide
       endif
-      let fzf.buf = term_start([&shell, &shellcmdflag, command], {'curwin': 1, 'exit_cb': function(fzf.on_exit)})
+      let term_opts = {'exit_cb': function(fzf.on_exit)}
+      if is_popup
+        let term_opts.hidden = 1
+      else
+        let term_opts.curwin = 1
+      endif
+      let fzf.buf = term_start([&shell, &shellcmdflag, command], term_opts)
       if !has('patch-8.0.1261') && !has('nvim') && !s:is_win
         call term_wait(fzf.buf, 20)
       endif
@@ -824,23 +832,22 @@ if has('nvim')
 else
   function! s:create_popup(hl, opts) abort
     let is_frame = has_key(a:opts, 'border')
-    let buf = is_frame ? '' : term_start(&shell, #{hidden: 1, term_finish: 'close'})
-    let id = popup_create(buf, #{
+    let s:popup_create = {buf -> popup_create(buf, #{
       \ line: a:opts.row,
       \ col: a:opts.col,
       \ minwidth: a:opts.width,
       \ minheight: a:opts.height,
       \ zindex: 50 - is_frame,
-    \ })
-
+    \ })}
     if is_frame
+      let id = s:popup_create('')
       call setwinvar(id, '&wincolor', a:hl)
       call setbufline(winbufnr(id), 1, a:opts.border)
       execute 'autocmd BufWipeout * ++once call popup_close('..id..')'
+      return winbufnr(id)
     else
-      execute 'autocmd BufWipeout * ++once call term_sendkeys('..buf..', "exit\<CR>")'
+      autocmd TerminalOpen * ++once call s:popup_create(str2nr(expand('<abuf>')))
     endif
-    return winbufnr(id)
   endfunction
 endif

Nice, it indeed fixes the issue.  Unfortunately, it creates other issues.
With this patch, when I run :FzfHistory provided by the fzf.vim plugin, this error is raised:
Error detected while processing FileType Autocommands for "fzf":
E31: No such mapping
Error detected while processing function <SNR>52_history:
line    7:
E171: Missing :endif

The same issue affects other commands like :FzColors or :FzfMaps:
Error detected while processing FileType Autocommands for "fzf":
E31: No such mapping

Note that these errors are raised, even if you don't have a popup terminal open before running these commands.

I agree with you, it seems weird for an unused shell process to be started.  But I don't think there's an easy way to get rid of it now; unless a deeper refactoring is performed.  Besides, I'm not sure the added complexity is worth it.
Maybe the best fix would be your first patch, which is much simpler.  But for it to work reliably, :bw would need to be allowed when an existing popup terminal is open.  Right now it's forbidden.  You could try to delay the command via some one-shot autocmd listening to some event(s) but it's tricky, and probably not completely reliable.

I cannot reproduce the error... please provide an example (vimrc).

Here is a minimal vimrc:
set rtp-=~/.vim
set rtp-=~/.vim/after
set rtp^=~/.fzf
set rtp^=~/.vim/plugged/fzf.vim
au TerminalWinOpen * tno <buffer><nowait> <esc><esc> <c-\><c-n>
au FileType fzf sil tunmap <buffer> <esc><esc>
let g:fzf_layout = {
   \ 'window': {
   \     'width': 0.9,
   \     'height': 0.6,
   \ }}

Write the code in /tmp/vimrc, then start Vim with this shell command:
vim -Nu /tmp/vimrc

Finally, run this Ex command:
:History

It raises this error:
Error detected while processing FileType Autocommands for "fzf":
E31: No such mapping
Error detected while processing function <SNR>3_history:
line    7:
E171: Missing :endif

You may wonder what is the purpose of these autocmds:
au TerminalWinOpen * tno <buffer><nowait> <esc><esc> <c-\><c-n>
au FileType fzf tunmap <buffer> <esc><esc>

The first one installs a mapping on <esc><esc> to quit Terminal-Job mode and get back to Terminal-Normal mode.
The lhs doesn't use a single <esc>, because the resulting  mapping would cause Vim to wrongly remap an Escape produced by a special key (like f1-f12 keys or arrow keys), which can lead to various unexpected behaviors.  See here for an example.
I once asked @leonerd on the #vim irc channel what was the cause of such issues, and here's what they explained to me:

In vim- raw bytes arrive from the terminal, go into the map engine (which just looks to see if the
headofqueue bytes match any of its mappings, and replace them if so), then bytes come out directly into
the command system
Whereas in nvim, raw bytes go into the termkey instance, which turns them into *keys*, and those *keys*
are what goes into the map engine
So the map engine is never confused by the individual component bytes that formed those keypresses
Just like it isn't confused by the individual bytes that came across the X11 unix socket when in gvim
mode, or.. any other stupid crazy things that wouldn't be possible if it was actually sensible

Until Vim's keyboard input system is improved, the best workaround I have found so far is to double the <esc> in the lhs of the mapping.
Now, for the second autocmd:
au FileType fzf tunmap <buffer> <esc><esc>

Its purpose is to remove the previous mapping in fzf buffers (which are terminal buffers).  It's not needed there, and if it's installed you can't close the fzf window by pressing Escape anymore.
I think the reason why the error is raised after I apply your patch, is because for some reason it doesn't trigger TerminalWinOpen anymore, which causes the <esc><esc> mapping not to be installed anymore, which causes :tunmap to fail.
I guess I could fix it by simply using the :silent! modifier or just by removing the 2nd autocmd, but I wonder why is TerminalWinOpen not triggered anymore.  Here is the list of events fired before the patch is applied.  And here the list of events fired after the patch is applied.
Several events are no longer fired, including:
BufLeave
WinLeave
WinEnter
BufEnter
BufWinLeave
BufHidden
BufWinEnter
CursorMoved
FileType
TerminalWinOpen

This could cause issues if a user relies on one of them to customize an fzf buffer (in particular FileType).

Several events are no longer fired, including:
BufEnter
BufHidden
BufLeave
BufWinEnter
BufWinLeave
CursorMoved
FileType
TerminalWinOpen
WinEnter
WinLeave

BufEnter, BufHidden, BufLeave, BufWinEnter, BufWinLeave, WinEnter, WinLeave
I think: using these events bases on the knowledge of internal implementation (calling term_start() twice), thus do not need to keep their supports, which are undocumented.
FileType
The first error occurs in FileType fzf event, so then should be firing.
Error detected while processing FileType Autocommands for "fzf":
E31: No such mapping

CursorMoved
Also should be firing, but I'm not sure.
TerminalWinEnter
I also do not think need to keep, but we can use the following patch to fire the event by calling doautocmd explicitly after term_start(). (this should keep the order of events)
(part of diff)
@@ -752,8 +754,17 @@ function! s:execute_term(dict, command, temps) abort
       if !len(&bufhidden)
         setlocal bufhidden=hide
       endif
-      let fzf.buf = term_start([&shell, &shellcmdflag, command], {'curwin': 1, 'exit_cb': function(fzf.on_exit)})
-      if !has('patch-8.0.1261') && !has('nvim') && !s:is_win
+      let term_opts = {'exit_cb': function(fzf.on_exit)}
+      if is_popup
+        let term_opts.hidden = 1
+      else
+        let term_opts.curwin = 1
+      endif
+      let fzf.buf = term_start([&shell, &shellcmdflag, command], term_opts)
+      if is_popup
+        doautocmd TerminalWinOpen
+      endif
+      if !has('patch-8.0.1261') && !s:is_win
         call term_wait(fzf.buf, 20)
       endif
     endif

It works, but it creates an issue in Nvim when g:fzf_layout is not set:
Error detected while processing function <SNR>53_history[7]..fzf#vim#history[1]..<SNR>163_fzf[18]..fzf#run[58]..<SNR>52
_execute_term:
line    3:
E688: More targets than List items
Error detected while processing function <SNR>53_history:
line    7:
E171: Missing :endif

This patch seems to fix it:
diff --git a/plugin/fzf.vim b/plugin/fzf.vim
index 356ceeb..24dd0b2 100644
--- a/plugin/fzf.vim
+++ b/plugin/fzf.vim
@@ -687,7 +687,11 @@ endfunction
 function! s:execute_term(dict, command, temps) abort
   let winrest = winrestcmd()
   let pbuf = bufnr('')
-  let [ppos, winopts, is_popup] = s:split(a:dict)
+  if has('nvim')
+      let [ppos, winopts] = s:split(a:dict)
+  else
+      let [ppos, winopts, is_popup] = s:split(a:dict)
+  endif
   call s:use_sh()
   let b:fzf = a:dict
   let fzf = { 'buf': bufnr(''), 'pbuf': pbuf, 'ppos': ppos, 'dict': a:dict, 'temps': a:temps,

The final patch looks like this:
diff --git a/plugin/fzf.vim b/plugin/fzf.vim
index a84dcab..24dd0b2 100644
--- a/plugin/fzf.vim
+++ b/plugin/fzf.vim
@@ -648,6 +648,7 @@ function! s:split(dict)
   \ 'left':  ['vertical topleft', 'vertical resize', &columns],
   \ 'right': ['vertical botright', 'vertical resize', &columns] }
   let ppos = s:getpos()
+  let is_popup = v:false
   try
     if s:present(a:dict, 'window')
       if type(a:dict.window) == type({})
@@ -655,6 +656,7 @@ function! s:split(dict)
           throw 'Vim 8.2.191 or later is required for pop-up window'
         end
         call s:popup(a:dict.window)
+        let is_popup = v:true
       else
         execute 'keepalt' a:dict.window
       endif
@@ -676,7 +678,7 @@ function! s:split(dict)
         endif
       endfor
     endif
-    return [ppos, { '&l:wfw': &l:wfw, '&l:wfh': &l:wfh }]
+    return [ppos, { '&l:wfw': &l:wfw, '&l:wfh': &l:wfh }, is_popup]
   finally
     setlocal winfixwidth winfixheight
   endtry
@@ -685,7 +687,11 @@ endfunction
 function! s:execute_term(dict, command, temps) abort
   let winrest = winrestcmd()
   let pbuf = bufnr('')
-  let [ppos, winopts] = s:split(a:dict)
+  if has('nvim')
+      let [ppos, winopts] = s:split(a:dict)
+  else
+      let [ppos, winopts, is_popup] = s:split(a:dict)
+  endif
   call s:use_sh()
   let b:fzf = a:dict
   let fzf = { 'buf': bufnr(''), 'pbuf': pbuf, 'ppos': ppos, 'dict': a:dict, 'temps': a:temps,
@@ -752,8 +758,23 @@ function! s:execute_term(dict, command, temps) abort
       if !len(&bufhidden)
         setlocal bufhidden=hide
       endif
-      let fzf.buf = term_start([&shell, &shellcmdflag, command], {'curwin': 1, 'exit_cb': function(fzf.on_exit)})
-      if !has('patch-8.0.1261') && !has('nvim') && !s:is_win
+      let term_opts = {'exit_cb': function(fzf.on_exit)}
+      if is_popup
+        let term_opts.hidden = 1
+      else
+        let term_opts.curwin = 1
+      endif
+      let term_opts = {'exit_cb': function(fzf.on_exit)}
+      if is_popup
+        let term_opts.hidden = 1
+      else
+        let term_opts.curwin = 1
+      endif
+      let fzf.buf = term_start([&shell, &shellcmdflag, command], term_opts)
+      if is_popup
+        doautocmd TerminalWinOpen
+      endif
+      if !has('patch-8.0.1261') && !s:is_win
         call term_wait(fzf.buf, 20)
       endif
     endif
@@ -824,23 +845,22 @@ if has('nvim')
 else
   function! s:create_popup(hl, opts) abort
     let is_frame = has_key(a:opts, 'border')
-    let buf = is_frame ? '' : term_start(&shell, #{hidden: 1, term_finish: 'close'})
-    let id = popup_create(buf, #{
+    let s:popup_create = {buf -> popup_create(buf, #{
       \ line: a:opts.row,
       \ col: a:opts.col,
       \ minwidth: a:opts.width,
       \ minheight: a:opts.height,
       \ zindex: 50 - is_frame,
-    \ })
-
+    \ })}
     if is_frame
+      let id = s:popup_create('')
       call setwinvar(id, '&wincolor', a:hl)
       call setbufline(winbufnr(id), 1, a:opts.border)
       execute 'autocmd BufWipeout * ++once call popup_close('..id..')'
+      return winbufnr(id)
     else
-      execute 'autocmd BufWipeout * ++once call term_sendkeys('..buf..', "exit\<CR>")'
+      autocmd TerminalOpen * ++once call s:popup_create(str2nr(expand('<abuf>')))
     endif
-    return winbufnr(id)
   endfunction
 endif

It looks good to me; I tested it in:

Vim without setting g:fzf_layout
Vim setting g:fzf_layout to use a Vim window
Vim setting g:fzf_layout to use a popup terminal
NVim without setting g:fzf_layout
Nvim setting g:fzf_layout to use a Nvim window
Nvim setting g:fzf_layout to use a float

I didn't find an error in any case.  And the implementation looks cleaner.
@ichizok Thank you for your patch.  Can you push an updated version which includes your latest changes as well as the last patch to avoid an error in Nvim when g:fzf_layout is not set?
@junegunn When it's ready, I think you'll want to merge this PR because the current implementation is now broken on Vim when fzf is configured to use a popup terminal.  The issue is caused by the 8.2.0743 patch.  You can no longer replace the current terminal buffer with another one.  IOW, this worked before the patch:
$ vim -Nu NONE -S <(cat <<'EOF'
    set hidden
    call term_start('sh', #{hidden: 1})->popup_create({})
    call term_start(['sh', '-c', ':'], #{curwin: 1})
EOF
)

But not anymore.  Now, the last term_start() raises E863:
E863: Not allowed for a terminal in a popup window

The current implementation does something similar.  The new implementation from @ichizok fixes this issue.

Looks like I talked too fast; the patch still causes issues in Nvim.  I'm looking into it.

Ok, so the previous patch which I posted was wrong; it fixed the case where g:fzf_layout did not include a window key in Nvim, but it also created an issue when g:fzf_layout did include a window key.  This new patch seems to fix both cases:
diff --git a/plugin/fzf.vim b/plugin/fzf.vim
index 356ceeb..c35062c 100644
--- a/plugin/fzf.vim
+++ b/plugin/fzf.vim
@@ -674,7 +674,7 @@ function! s:split(dict)
           endif
           execute cmd sz.'new'
           execute resz sz
-          return [ppos, {}]
+          return [ppos, {}, v:false]
         endif
       endfor
     endif

Now, the final patch looks like this:
diff --git a/plugin/fzf.vim b/plugin/fzf.vim
index a84dcab..c35062c 100644
--- a/plugin/fzf.vim
+++ b/plugin/fzf.vim
@@ -648,6 +648,7 @@ function! s:split(dict)
   \ 'left':  ['vertical topleft', 'vertical resize', &columns],
   \ 'right': ['vertical botright', 'vertical resize', &columns] }
   let ppos = s:getpos()
+  let is_popup = v:false
   try
     if s:present(a:dict, 'window')
       if type(a:dict.window) == type({})
@@ -655,6 +656,7 @@ function! s:split(dict)
           throw 'Vim 8.2.191 or later is required for pop-up window'
         end
         call s:popup(a:dict.window)
+        let is_popup = v:true
       else
         execute 'keepalt' a:dict.window
       endif
@@ -672,11 +674,11 @@ function! s:split(dict)
           endif
           execute cmd sz.'new'
           execute resz sz
-          return [ppos, {}]
+          return [ppos, {}, v:false]
         endif
       endfor
     endif
-    return [ppos, { '&l:wfw': &l:wfw, '&l:wfh': &l:wfh }]
+    return [ppos, { '&l:wfw': &l:wfw, '&l:wfh': &l:wfh }, is_popup]
   finally
     setlocal winfixwidth winfixheight
   endtry
@@ -685,7 +687,7 @@ endfunction
 function! s:execute_term(dict, command, temps) abort
   let winrest = winrestcmd()
   let pbuf = bufnr('')
-  let [ppos, winopts] = s:split(a:dict)
+  let [ppos, winopts, is_popup] = s:split(a:dict)
   call s:use_sh()
   let b:fzf = a:dict
   let fzf = { 'buf': bufnr(''), 'pbuf': pbuf, 'ppos': ppos, 'dict': a:dict, 'temps': a:temps,
@@ -752,8 +754,23 @@ function! s:execute_term(dict, command, temps) abort
       if !len(&bufhidden)
         setlocal bufhidden=hide
       endif
-      let fzf.buf = term_start([&shell, &shellcmdflag, command], {'curwin': 1, 'exit_cb': function(fzf.on_exit)})
-      if !has('patch-8.0.1261') && !has('nvim') && !s:is_win
+      let term_opts = {'exit_cb': function(fzf.on_exit)}
+      if is_popup
+        let term_opts.hidden = 1
+      else
+        let term_opts.curwin = 1
+      endif
+      let term_opts = {'exit_cb': function(fzf.on_exit)}
+      if is_popup
+        let term_opts.hidden = 1
+      else
+        let term_opts.curwin = 1
+      endif
+      let fzf.buf = term_start([&shell, &shellcmdflag, command], term_opts)
+      if is_popup
+        doautocmd TerminalWinOpen
+      endif
+      if !has('patch-8.0.1261') && !s:is_win
         call term_wait(fzf.buf, 20)
       endif
     endif
@@ -824,23 +841,22 @@ if has('nvim')
 else
   function! s:create_popup(hl, opts) abort
     let is_frame = has_key(a:opts, 'border')
-    let buf = is_frame ? '' : term_start(&shell, #{hidden: 1, term_finish: 'close'})
-    let id = popup_create(buf, #{
+    let s:popup_create = {buf -> popup_create(buf, #{
       \ line: a:opts.row,
       \ col: a:opts.col,
       \ minwidth: a:opts.width,
       \ minheight: a:opts.height,
       \ zindex: 50 - is_frame,
-    \ })
-
+    \ })}
     if is_frame
+      let id = s:popup_create('')
       call setwinvar(id, '&wincolor', a:hl)
       call setbufline(winbufnr(id), 1, a:opts.border)
       execute 'autocmd BufWipeout * ++once call popup_close('..id..')'
+      return winbufnr(id)
     else
-      execute 'autocmd BufWipeout * ++once call term_sendkeys('..buf..', "exit\<CR>")'
+      autocmd TerminalOpen * ++once call s:popup_create(str2nr(expand('<abuf>')))
     endif
-    return winbufnr(id)
   endfunction
 endif

Actually, I don't know whether it matters for Nvim, but the third argument should probably be is_popup instead of v:false.
diff --git a/plugin/fzf.vim b/plugin/fzf.vim
index 356ceeb..c35062c 100644
--- a/plugin/fzf.vim
+++ b/plugin/fzf.vim
@@ -674,7 +674,7 @@ function! s:split(dict)
           endif
           execute cmd sz.'new'
           execute resz sz
-          return [ppos, {}]
+          return [ppos, {}, is_popup]
         endif
       endfor
     endif

I'll keep using the patch for a few days and report any issue I find.

@lacygoill Thank you for your confirmation. I updated the PR commit.

Merged, thanks!

I believe there is a small bug with this commit - where after I use fzf in a popout (using normal vim, not nvim) and then start opening other splits - the window from which I spawned the fzf popup ends up not resizing properly.

Here's an example video. If I move to the commit before this, then this does not reproduce.

@amadeus Try the patch mentioned here.

@lacygoill this does appear to fix my issue!


Cannot find module "steam-user"

Problem are fixed
I got a new problem - i can only have 1 command for the bot - It says "Unexpected string in JSON"
"commands": {
"!info": "My items are valued 100% of the steam market, and your items are valued at 95%"
"!commands": "!info = Shows information about me"
}

If problem is fixed, please close the issue. :)

close

Fixes #59

CLOSE #59


fix: trigger release

What kind of change does this PR introduce (bug fix, feature, docs update, ...)?
What is the current behaviour (you can also link to an open issue here)?
What is the new behaviour (if this is a feature change)?
Other information:

Codecov Report

Merging #232 (9f5fdf0) into develop (ba8398f) will not change coverage.
Report is 1 commits behind head on develop.
The diff coverage is n/a.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@           Coverage Diff            @@
##           develop     #232   +/-   ##
========================================
  Coverage    19.18%   19.18%
========================================
  Files           15       15
  Lines         1058     1058
  Branches       371      371
========================================
  Hits           203      203
  Misses         832      832
  Partials        23       23

:mega: Codecov offers a browser extension for seamless coverage viewing on GitHub. Try it in Chrome or Firefox today!


Need an easy copy/paste for entities

Description

Admins should be able to copy and paste custom entities and put them on a clipboard for funnies
Reproduction

Screenshots

Additional context

Some time ago we got the ability to just copy entities with p.


Avoid duplicate info about Hostname and Port in ClusterMapConfig and NetworkConfig

The hostname and port are currently recorded in ClusterMapConfig and NetworkConfig. We are supposed to avoid the duplicate information in two places for safety concerns. Maybe we can remove the hostname and port from NetworkConfig in the future.

hostname is in fact triplicated in RouterConfig. I think ClusterMapConfig is the right place and all components wanting host and port should be able to source it from there.


[BUG] R2 put() never completes in dev mode

Is there an existing issue for this?

[X] I have searched the existing issues

What version of workers-rs are you using?
0.0.18
What version of wrangler are you using?
3.5.1
Describe the bug
My worker writes to an R2 bucket.
[[r2_buckets]]
binding = "FOO"
bucket_name = "foo"
preview_bucket_name = "foo-test"

let bucket = ctx.bucket("FOO")?;
console_log!("before");
let res = bucket.put("bar", vec![1,2,3,4]).execute().await?;
console_log!("after");

The above code works as expected in production, but bucket.put() hangs indefinitely when in dev mode (npx wrangler dev). However, listing all keys of the bucket prints ["bar"]. Accessing the object's body errors. When I inspect the bucket in the CF dashboard it doesn't show bar.
let objs = bucket.list().execute().await?;
console_log!("{:?}", objs.objects().into_iter().map(|o| o.key()).collect::<Vec<_>>());

Again, everything works as expected in production.
Steps To Reproduce
No response

same issue in wrangler 3.58.0


Copy python-gdb.py to /usr/lib/debug to enable use with gdb

This is PR for https://github.com/docker-library/python/issues/89
When you want to use GDB with python docker images you have to create your own, because official does not have/support python-gdb script, it is removed during build time of image.
This PR proproses to copy it to /usr/lib/debug/...  which is in auto-load safe path. This enables to use commands like py-bt and others in GDB.
Note that to use GDB with attach you have to add SYS_PTRACE capability to container and even compile your own GDB against python source / library.
Closes #89

Sorry for the delay.
Are there other paths besides /usr/lib/debug that this file could be installed to?
When you say "and even compile your own GDB" -- is that required for this to work?  Does Debian's GDB not do the right thing?

There are more paths besides /usr/lib/debug but it may vary depending on base system.
GDB may not work when installed from debian package, because it is compiled against python from debian packages. But compiling GDB is pretty simple, so I would leave this for people who need it.

Given that this is very complicated for us to get right, I'm going to (finally :bow:) close this for now, but I'll leave #89 open so that if/when we find a reasonable solution, this can be revisited. :heart:


Low resolution PDFs generated with high resolution settings

Hello @TukuToi and @eKoopmans, thank you for the excellent and practical html2pdf.js library. I am using the library to convert HTML pages, with a couple of images, into PDFs. At first, the PDFs were being generated in high resolution, but the page breaks were broken and content misaligned. After fixing the page break and alignment issues, now the PDFs being generated by the library are low resolution. Is there any insight(s) that you might be able to offer as to why the change in resolution occurred?
To help explain, below are the options and chained methods we are using to produce our PDFs:

Are there settings that I'm not aware of that would enable for a higher resolution PDF being generated? Or is it possible that certain CSS settings might cause a fuzzy PDF?
Any assistance that you can provide is much appreciated. Thank you for your time.

Hi @devbret - just to clarify, I am not involved in creating this library, so the props go to @eKoopmans alone.
As for image quality, this is how I brought out the most of Images, but note, you will always have a quality loss when printing:
var opt = {
    margin:       0.1,
    filename:     'my_file_name',
    image:        { type: 'png', quality: 1 },
    jsPDF:        { unit: 'in', format: 'letter', orientation: 'portrait' }
};
html2pdf(contentToPrint, opt);

I used png since in general, PNG is a higher-quality compression format.

Hello @TukuToi, thank you for responding to my request for help. I went ahead and tried those options/settings, but there was no change in results. Are there any run environments wherein this library doesn't perform especially well? From what I understand about the html2pdf library, all of the processing (of the PDF) is done within the browser. Is this correct?
Beyond the advice you've already provided and the questions I've asked above, is there anything else you might be able to share with me that would help resolve this low resolution bug we're experiencing?
Thank you for your time and the help you have provided. It is much appreciated.

Hey @devbret the main way to get better quality (at the expense of file size) is to add the scale option to the html2canvas options, which will upscale the canvas by the specified ratio. For instance:
html2pdf(contentToPrint, {
  html2canvas: { scale: 2 },
})

@eKoopmans Thank you for your quick response. Your suggestion worked perfectly, and the PDFs being generated are crisp and clear. Which is wonderful.
Like you mentioned, file sizes did increase. Are there any other settings that you'd recommend I toy with in order to reduce the file size of the PDF output?
I appreciate your time.

You can play with the scale value (e.g. 1.5), and you could try switching back to JPG if you were using the PNG suggestion, and see if you can find a sweet spot. Ultimately the PDFs generated by html2pdf.js are limited by the fact that it's capturing images - they'll never be as small or high quality as a "natively" rendered PDF.
On that note, my advice is always to favour a backend PDF tool like wkhtmltopdf if it fits your use case - html2pdf.js is specifically for projects that need to generate the PDF in the frontend.

We ended up using a value of 1.5 for the scale property. And then changed the image type to jpeg, which resulted in a file about 10% as large as when we were using the PNG value. That's awesome. Thank you for your help and for the tool itself.


circular import

getting:
ImportError: cannot import name 'pickle' from partially initialized module 'numpy.random' (most likely due to a circular import) (...venv\lib\site-packages\numpy\random_init.py)

Please add information about what you are trying to do and how to reproduce the error.

No extra information given, and can't reproduce error. Closed.


Maintainer Nomination

I would like to nominate @fg-j to be a maintainer on the .Net Core language family.
Their contributions include:

Work on the rewrite of the Runtime Buildpack
Work on the rewrite of the Execute Buildpack
Work on the rewrite of the SDK Buildpack

This is a sample of the work that @fg-j has done as a contributor and I think it is fitting to promote them to being a maintainer.

I accept the nomination :) Sign me up!

@joshzarrabi If you could look into this.

I will be acting as the proxy vote for @joshzarrabi. I vote in the affirmative. Congrats @fg-j!

Then we have reached a super majority. Congratulations @fg-j on you maintainership. I will close this issue and have you added to the correct groups!

I approve and second this nomination! cc @ryanmoran @fg-j


Update ParentNode

Add three funcitons(replaceChildren, querySelector, querySelectorAll) for ParentNode

I think the problem here is that the definitions you added apply to Document and others, that already have those definitions. So you have to remove them there to avoid these duplicates.

Actually my only interest is replaceChildren. Is it Ok to update replaceChildren only?

I'm not a maintainer here, but seems fine to me.


deploy from examplesite didn't work

The theme is really beautiful. I want to ask, following the deployment with the provided examples at https://hugoseven.netlify.app/, I don't know why the result is completely different from the provided examples, as shown in the figure below.

By deleting content, I can deploy successfully, but I don't understand why the following error is reported without deletion.
ERROR deprecated: data.GetJSON was deprecated in Hugo v0.123.0 and will be removed in Hugo 0.136.0. use resources.Get or resources.GetRemote with transform.Unmarshal.
Built in 3974 ms
Error: error building site: render: failed to render pages: render of "section" failed: "D:\Workspace\Coding\seven\layouts\_default\goods.html:21:41": execute of template failed: template: _default/goods.html:21:41: executing "main" at <transform.Unmarshal>: error calling Unmarshal: no data to transform.

I have made modifications in goods.html ，but the same error is still reported. What is the problem?
  <!-- {{ $goods := getJSON.Params.data }} -->
  {{ $goodsJson := resources.Get "goods/goods.json" }}
  {{ $goods := $goodsJson | transform.Unmarshal }}
  {{ range $goods.good }})

@SYSUHPK This bug has been fixed in v1.7.4.


[WIP] Add support for parquet_writer_version session property

Resolves https://github.com/prestodb/presto/issues/22595.
Implemented setting of version via session property:
set session hive.parquet_writer_version='PARQUET_1_0';
Though setting in Hive config does not seem to have any effect:
hive.parquet.writer.version=PARQUET_1_0

Java seems to only support 1.0 and 2.0, while C++ supports more granular versions.
https://www.javadoc.io/doc/org.apache.parquet/parquet-column/1.10.1/org/apache/parquet/column/ParquetProperties.WriterVersion.html

Java seems to only support 1.0 and 2.0, while C++ supports more granular versions.

There are two parquet versions and they are confusing between C++ and Java.

The parquet writer version https://github.com/apache/parquet-format/blob/master/src/main/thrift/parquet.thrift#L1111
The parquet datapageversion https://github.com/apache/parquet-format/blob/master/src/main/thrift/parquet.thrift#L562
In C++, the parquet writer version is specific to the library (arrow) in this case (https://github.com/apache/arrow/blob/875e4df48e29ee76f06a4b90e8a6a0cc8f93743b/cpp/src/parquet/parquet_version.h.in)
The C++ parquet datapageversion is what the java parquet parquet_writer_version maps to.

This confusion was also recently discussed in the Arrow community
https://lists.apache.org/thread/72qwr66wf3xyrl5cozgojz88ct23qzxx