text:
Inconsistent results when using FFCV dataloaders and PyTorch dataloaders

Hello,
I've just started using FFCV recently and tried to change my model training pipeline to use FFCV dataloaders instead of PyTorch dataloaders, but I'm getting inconsistent results between these two.
Using a 2 block layer-ed WideResNet (I can share the detailed model code if needed), I'm trying to train the model on a small proportion (1K datapoints) of SVHN dataset. Previously, using the PyTorch dataloader, I got ~88% test accuracy using a fixed seed for the 1K subset. I tried to change my pipeline to use FFCV as suggested in the document through the following steps:

First, I wrote the dataset in the appropriate format:

writer = DatasetWriter(write_path, {
    # Tune options to optimize dataset size, throughput at train-time
    'image': RGBImageField(
        write_mode='raw'
    ),
    'label': IntField()
})
writer.from_indexed_dataset(dataset)

Then, I changed my dataloader from:

dataloader = DataLoader(dataset, batch_size=batch_size,
                        sampler=SubsetRandomSampler(labeled_set),
                        num_workers=num_workers)

to:
dataloader = Loader(dataset_path, batch_size=batch_size, drop_last=False,
                    order=OrderOption.RANDOM, num_workers=num_workers,
                    pipelines=pipeline, os_cache=True, distributed=False, indices=labeled_set)

where my pipeline argument is defined as:
mean = [0.4914, 0.4822, 0.4465]
std = [0.2023, 0.1994, 0.2010]
mean = [item * 255 for item in mean]
std = [item * 255 for item in std]

label_pipeline = [IntDecoder(), ToTensor(), ToDevice(torch.device('cuda')), Squeeze()]

image_pipeline = [SimpleRGBImageDecoder()]
image_pipeline.extend([
    ToTensor(),
    ToDevice(torch.device('cuda')),
    ToTorchImage(),
    Convert(torch.float32),
    transforms.Normalize(mean, std)
])

Previously, when using the PyTorch dataloader, I passed these transformations as transform argument of my torchvision.datasets.SVHN dataset:
mean = [0.4914, 0.4822, 0.4465]
std = [0.2023, 0.1994, 0.2010]
transform = transforms.Compose([
    transforms.ToTensor(),
    transforms.Normalize(mean, std)])

I'm using my ffcv.Loader the same way as I used my torch.DataLoader in the training process, except that obviously I don't move the batches to GPU in the training loop. However, I'm getting 25% test accuracy using the FFCV data loader, which is a bit weird to me. Of course I don't expect the exact same test accuracy as there could be some variations in how PyTorch and FFCV apply transformations, but I would expect some similar training outcomes at least.
Is my expectation valid? If so, is there anything that I'm doing wrong in my migration from PyTorch to FFCV? Like, am I using the corresponding transformers in FFCV correctly and in order? I would appreciate if you could help me figure out why there is such discrepancy between these two dataloaders.
Thanks!

I noticed something that looks unexpected to me. I ran the following code to investigate the test set labels using the two different loaders.
First FFCV:
labels = []
for data in dataloader:
    labels.append(data[1])
torch.cat(labels).float().mean()
# outputs tensor(3.7744, device='cuda:0')
Counter(torch.cat(labels).tolist())
# outputs:
# Counter({2: 4192,
#          1: 5042,
#          0: 1695,
#          7: 2038,
#          5: 2500,
#          4: 2531,
#          8: 1699,
#          6: 1896,
#          3: 2830,
#          9: 1609})

Then, PyTorch:
labels = []
for data in dataloader:
    labels.append(data[1])
torch.cat(labels).float().mean()
# outputs tensor(3.7525)
Counter(torch.cat(labels).tolist())
# outputs:
# Counter({5: 2384,
#          2: 4149,
#          1: 5099,
#          0: 1744,
#          6: 1977,
#          9: 1595,
#          8: 1660,
#          3: 2882,
#          4: 2523,
#          7: 2019})

Seems like the labels are not exactly the same. This is a bit worrisome, but it's probably that I'm doing something wrong, not that the decoders are messing up (at least I hope). But I'm not doing any complex transformations for the labels, thus I'm not too sure why this is happening.

Apparently, this issue also appears in the document's example: https://docs.ffcv.io/ffcv_examples/cifar10.html
labels = []
for data in loaders['test']:
    labels.append(data[1])
Counter(ch.cat(labels).tolist())

Outputs:
Counter({5: 939,
         9: 1066,
         1: 952,
         2: 910,
         0: 934,
         3: 1062,
         8: 1060,
         4: 1045,
         6: 1037,
         7: 995})

while Counter(datasets['test'].targets) outputs:
Counter({3: 1000,
         8: 1000,
         0: 1000,
         6: 1000,
         1: 1000,
         9: 1000,
         5: 1000,
         7: 1000,
         4: 1000,
         2: 1000})

Hello,
You are doing something wrong:
labels = []
for data in dataloader:
    labels.append(data[1])

Here you do now "own" data. It's FFCV's. You are allowed to use it but only during the current iteration. When you are done with your iteration, FFCV can do whatever it wants with it you are supposed to be done reading data. By adding it ton labels you are keeping a reference on something you do not own. Internally, to save memory (unlike Pytorch), FFCV will reuse arrays that are not needed. data can therefore be overwritten once your iteration is done. If you want to keep something for later you have to place it in an array you own yourself (you can clone it for example)

Closing this!

repo: libffcv/ffcv


text:
benchmark_xl fails to encode with jpegli when compiled with -D_GLIBCXX_ASSERTIONS

Describe the bug
When you compile benchmark_xl with -D_GLIBCXX_ASSERTIONS, as is done by default on Arch, it often fails to encode with jpegli.
Error is listed as below:
❯ ~/dev/libjxl/build/tools/benchmark_xl --input=jpegxl-home.jpg --codec=jpeg:enc-jpegli:xyb:q87 --save_compressed --output_dir=jpegxl-home
benchmark_xl v0.9.0 7566e4c8 [AVX2,SSE4,SSSE3,Unknown]
8 total threads, 1 tasks, 0 threads, 8 inner threads
/usr/sbin/../lib64/gcc/x86_64-pc-linux-gnu/12.2.1/../../../../include/c++/12.2.1/bits/stl_vector.h:1123: std::vector::reference std::vector<jpegli::JPEGHuffmanCode>::operator[](std::vector::size_type) [_Tp = jpegli::JPEGHuffmanCode, _Alloc = std::allocator<jpegli::JPEGHuffmanCode>]: Assertion '__n < this->size()' failed.
[1]    11439 IOT instruction  ~/dev/libjxl/build/tools/benchmark_xl --input=jpegxl-home.jpg

To Reproduce
Use any image, for exact reproduction use the image at https://jpeg.org/images/jpegxl-home.jpg (JPEG XL info page at JPEG website).
Compile benchmark_xl with -D_GLIBCXX_ASSERTIONS, for example with -DCMAKE_CXX_FLAGS="-D_GLIBCXX_ASSERTIONS".
Try to encode using benchmark_xl with codec jpeg:enc-jpegli:xyb:q87, changing the quality if you want. Most of the time (but not all the time, for example if you change the quality), the encoding will error out.
Expected behavior
benchmark_xl encodes successfully whether _GLIBCXX_ASSERTIONS is defined or not.
Environment

OS: Arch on WSL 2
Compiler version: clang 15.0.7
CPU type: x86_64
cjxl/djxl version string: JPEG XL encoder v0.9.0 7566e4c8 [AVX2,SSE4,SSSE3,Unknown]

I'm experiencing periodic crashing & failure to compress certain images at certain resolutions because of this. It'd be great if this could be resolved soon!

Could you verify that PR #2209 fixed it?

Yes, that seems to have fixed it. Thank you very much!

source: gharchive/issue

authors: gianni-rosato louie-github szabadka

repo: libjxl/libjxl

license_type: permissive

license_source: bigquery


text:
Debian Bullseye lib-hwy not found error installing libjxl-dev

Describe the bug
When installing the debian packages downloaded from the latest release (i chose the debian bullseye version when downloading)
it throws an error stating "libhwy-dev" is not installable and throws an error. So the install is not complete.
To Reproduce
Download the tar.xz file for debian bullseye. Then extract it to a folder. Install all of the debian files. It will throw the error stated above.
Expected behavior
I expect all debian packages to show a successful install.
Screenshots
https://imgur.com/w2YwtYP
Environment

OS: Debian Bullseye 11
CPU type: x86_64

Thanks for the report. Did you try to run
apt-get install libhwy-dev

before installing the package?

FYI As per the search query https://packages.debian.org/search?keywords=libhwy-dev libhwy-dev is not available in Debian Bullseye. It's available in Bookworm and later versions.


text:
tutorial error

I wrote a demo according to the official guide(https://docs.libp2p.io/tutorials/getting-started/javascript/), but an error occurred in terminal

Version:

"dependencies": {
    "libp2p": "^0.35.6"
  },
  "devDependencies": {
    "libp2p-mplex": "^0.10.5",
    "libp2p-noise": "^4.0.0",
    "libp2p-tcp": "^0.17.2",
    "multiaddr": "^10.0.1"
  }

node.js version: v14.18.2
npm version: v6.14.15
Now, i do not want to upgrade the version of node.js and npm, is there any solution ?

Platform:

 macOS 11.6
Severity:

High
Description:

This is the error by caught in terminal:
 TypeError [ERR_INVALID_OPT_VALUE]: The value "jwk" is invalid for option "publicKeyEncoding.format"
Steps to reproduce the error:

This is my demo repo:  https://github.com/zhaoyiming0803/test-libp2p

I get the same error

Hey folks,
Thanks for reaching out. From 0.35 libp2p is only supported using Node15+ https://github.com/libp2p/js-libp2p/releases/tag/v0.35.0
Per https://nodejs.org/en/about/releases/#releases we are only supporting the Active releases of libp2p. Apologies for the inconvenience and let me know if this is a problem with a newer version of Node. Closing for now, but feel free to reopen

@vasco-santos I am having the exact same error still, on a fresh install of the demo project using node v16.5.0, both on Windows and Ubuntu.
Also tested node 17, same result. any clues what might it be?

license_source: github-api


text:
[transaction builder][cleanup] remove compatibility aliases

Motivation
Following up with the migration to the code-generated helper functions (after https://github.com/libra/libra/pull/4600).
The script peer_to_peer_with_metadata will be handled separately (after people agree on a name).
Test Plan
CI
Related PRs
https://github.com/libra/libra/pull/4600

@moeziniaf Thanks for the quick review! Much appreciated because these PRs are expensive to rebase.

@bors-libra r=moeziniaf

:pushpin: Commit f7dbf36 has been approved by moeziniaf

:hourglass: Testing commit f7dbf361f4fa53ab9ba964b3d38c3155b65efcc0 with merge 6190f23a37cd4c4f9e4b4ecf1eb650265c03429c...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: moeziniaf
Pushing 6190f23a37cd4c4f9e4b4ecf1eb650265c03429c to master...

source: gharchive/pull-request

authors: bors-libra matbd

repo: libra/libra


text:
[move-prover] Update Boogie to 2.7.9

Motivation
This PR updates Boogie to version 2.7.9.   This version of Boogie prints error trace followed by the model.  This PR makes a small change in parsing of Boogie output to address this difference.
The new version of Boogie has the following improvements over 2.6.17, the one currently used by Move Prover.

Counterexample and accompanying model are printed atomically to console, even when parallel execution is used.
Boogie feature of supplying timeout per verification problem was buggy; this bug has been fixed.
The flag smt.random_seed is set to default value 0 before checking every verification problem; this default value can be overridden by annotating the procedure for the verification problem with a different random seed.
There was a bug in Boogie inliner that did not create fresh copies for bound variables in quantifiers, lambdas, and let expressions; this bug has been fixed.

Have you read the Contributing Guidelines on pull requests?
Yes.
Test Plan
Existing tests.
Related PRs

@bors-libra r=wrwg

:pushpin: Commit db4ac35 has been approved by wrwg

:hourglass: Testing commit db4ac35400f2a365db4f3ced061e8f10f12bce6c with merge fd5baf3480df26b708918bd97bec67f33b8945e4...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: wrwg
Pushing fd5baf3480df26b708918bd97bec67f33b8945e4 to master...

authors: bors-libra shazqadeer


text:
[faucet] Accept /mint path for requests

For the new k8s testnet I want to setup a single ALB which routes to
both JSON-RPC and faucet based on path. Accepting minting on both /
and /mint to support this.
Test Plan: Ran locally, tested both paths.

@bors-libra r=rustielin

:pushpin: Commit adc8783 has been approved by rustielin

:hourglass: Testing commit adc8783105794073d3a05803ef0e0aad44484895 with merge 8507cdcfd1a8cbe6c4aab0da4cfb773846fe5446...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: rustielin
Pushing 8507cdcfd1a8cbe6c4aab0da4cfb773846fe5446 to master...

authors: bors-libra mgorven


text:
[state sync] simplify chunk request version logic

Motivation
Currently there is a distinction 'known_version' and 'requested version' (requested version = known_version + 1) of a chunk request. This one-off version distinction is confusing and unnecessary, so this PR removes the notion of 'requested version', so we always identify the version of a chunk request as the known_version
Testing Plan
updated/existing tests

/land


text:
Add Support for Fantech THOR X9 Macro RGB Gaming Mouse

Is your feature request related to a problem? Please describe.
I just bought a new cheap macro gaming mouse from Fantech called Fantech THOR X9 Macro RGB Gaming Mouse (this is the first time I try a macro mouse). I wanna use the macro feature on linux but luckily there is someone who already made the driver
Describe the solution you'd like
I found this repo for this type of mouse. maybe you guys can try merger it into this repo?
Thanks :3

Since this mouse would require writing a new driver, let's close this until someone volunteers to write one.
For now the application mentioned in the top message can be used instead.

repo: libratbag/libratbag

license: MIT


text:
macosx nativemidi special case in music_internal_play()

This bug report was migrated from our old Bugzilla tracker.
Reported in version: unspecified
Reported for operating system, platform: Mac OS X (All), All
Comments on the original bug report:
On 2018-08-02 08:25:57 +0000, Ozkan Sezer wrote:

In music.c:music_internal_play()
http://hg.libsdl.org/SDL_mixer/file/0eda5db47348/music.c#l681
static int music_internal_play(Mix_Music *music, int play_count, double position)
{
int retval = 0;
#if defined(MACOSX) && defined(MID_MUSIC_NATIVE)
/* This fixes a bug with native MIDI on Mac OS X, where you
can't really stop and restart MIDI from the audio callback.
/
if (music == music_playing && music->api == MIX_MUSIC_NATIVEMIDI) {
/ Just a seek suffices to restart playing */
music_internal_position(position);
return 0;
}
#endif
As far as I can see, Mix_MusicInterface_NATIVEMIDI has a NULL
Seek function (see in music_nativemidi.c#l97) and as a result,
music_internal_position() will do nothing returning (-1), and
nothing will happen.
Is this really intended?  Am I missing something?

On 2018-08-07 07:32:56 +0000, Ozkan Sezer wrote:

Any ideas about this?

Nope, you're right, that was just old dead code.

authors: SDLBugzilla slouken

license: Zlib


text:
Warnings when building libxml

while installing XML::Fast with zef:
===> Building: LibXML:ver<0.10.5>:auth<zef:dwarring>:api<0.10.0>
[LibXML] src/xml6_gbl.c: In function ‘xml6_gbl_os_thread_get_default_sax_locator’:
[LibXML] src/xml6_gbl.c:86:5: warning: ‘__xmlDefaultSAXLocator’ is deprecated [-Wdeprecated-declarations]
[LibXML]    86 |     return &xmlDefaultSAXLocator;
[LibXML]       |     ^~~~~~
[LibXML] In file included from src/xml6_gbl.h:4,
[LibXML]                  from src/xml6_gbl.c:2:
[LibXML] /usr/include/libxml2/libxml/globals.h:330:27: note: declared here
[LibXML]   330 | XMLPUBFUN xmlSAXLocator * __xmlDefaultSAXLocator(void);
[LibXML]       |                           ^~~~~~~~~~~~~~~~~~~~~~
[LibXML] src/xml6_sax.c: In function ‘xml6_sax_locator_init’:
[LibXML] src/xml6_sax.c:132:3: warning: ‘__xmlDefaultSAXLocator’ is deprecated [-Wdeprecated-declarations]
[LibXML]   132 |   self->getPublicId = xmlDefaultSAXLocator.getPublicId;
[LibXML]       |   ^~~~
[LibXML] In file included from /usr/include/libxml2/libxml/xmlIO.h:117,
[LibXML]                  from /usr/include/libxml2/libxml/parser.h:812,
[LibXML]                  from src/xml6_sax.h:4,
[LibXML]                  from src/xml6_sax.c:2:
[LibXML] /usr/include/libxml2/libxml/globals.h:330:27: note: declared here
[LibXML]   330 | XMLPUBFUN xmlSAXLocator * __xmlDefaultSAXLocator(void);
[LibXML]       |                           ^~~~~~~~~~~~~~~~~~~~~~
[LibXML] src/xml6_sax.c:133:3: warning: ‘__xmlDefaultSAXLocator’ is deprecated [-Wdeprecated-declarations]
[LibXML]   133 |   self->getSystemId = xmlDefaultSAXLocator.getSystemId;
[LibXML]       |   ^~~~
[LibXML] /usr/include/libxml2/libxml/globals.h:330:27: note: declared here
[LibXML]   330 | XMLPUBFUN xmlSAXLocator * __xmlDefaultSAXLocator(void);
[LibXML]       |                           ^~~~~~~~~~~~~~~~~~~~~~
[LibXML] src/xml6_sax.c:134:3: warning: ‘__xmlDefaultSAXLocator’ is deprecated [-Wdeprecated-declarations]
[LibXML]   134 |   self->getLineNumber = xmlDefaultSAXLocator.getLineNumber;
[LibXML]       |   ^~~~
[LibXML] /usr/include/libxml2/libxml/globals.h:330:27: note: declared here
[LibXML]   330 | XMLPUBFUN xmlSAXLocator * __xmlDefaultSAXLocator(void);
[LibXML]       |                           ^~~~~~~~~~~~~~~~~~~~~~
[LibXML] src/xml6_sax.c:135:3: warning: ‘__xmlDefaultSAXLocator’ is deprecated [-Wdeprecated-declarations]
[LibXML]   135 |   self->getColumnNumber = xmlDefaultSAXLocator.getColumnNumber;
[LibXML]       |   ^~~~
[LibXML] /usr/include/libxml2/libxml/globals.h:330:27: note: declared here
[LibXML]   330 | XMLPUBFUN xmlSAXLocator * __xmlDefaultSAXLocator(void);
[LibXML]       |                           ^~~~~~~~~~~~~~~~~~~~~~
===> Building [OK] for LibXML:ver<0.10.5>:auth<zef:dwarring>:api<0.10.0>

version of libxml installed:
local/libxml2 2.11.5-1
    XML C parser and toolkit

Should be fixed in LibXML 0.10.6 release, which removes references to _xmlDefaultSAXLocator.

authors: demanuel dwarring

repo: libxml-raku/LibXML-raku


text:
Tileconfig used uninitialized

See https://github.com/libxsmm/libxsmm/blob/main_stable/src/generator_packed_spgemm_bcsc_bsparse_avx_avx2_avx512_amx.c#L655

This is fine, TILERELEASE has no arguments.

Make sense and then:
      libxsmm_x86_instruction_tile_control( io_generated_code, 0, io_generated_code->arch,
          LIBXSMM_X86_INSTR_TILERELEASE, LIBXSMM_X86_GP_REG_UNDEF, 0, &tile_config );

shall change to (definition libxsmm_tile_config tile_config; to be removed):
      libxsmm_x86_instruction_tile_control( io_generated_code, 0, io_generated_code->arch,
          LIBXSMM_X86_INSTR_TILERELEASE, LIBXSMM_X86_GP_REG_UNDEF, 0, NULL );

to avoid compiler warnings about using uninitialized data.

authors: alheinecke hfp

repo: libxsmm/libxsmm


text:
[ERR] CMGR: Can't accept connection: Act One: invalid handshake version: 22, only 0 is valid

Hi,
im trying to integrate  lightning payment with the  woocommerce lightning plugin for wordpress from joaodealmeida and if i connect lnd i get the following error:
....[ERR] CMGR: Can't accept connection: Act One: invalid handshake version: 22, only 0 is valid, msg=...
i have no idea, maybe related to my SSL configuration??
lnd  version 0.4.1 commit=09c997983127bb1e575d97c69aa364a82cfb1df7
Linux 3.2.0-5-amd64 #1 SMP Debian 3.2.96-3 x86_64 GNU/Linux
https://github.com/joaodealmeida/woocommerce-gateway-lightning
PLESK wordpress 4.9 with woocommerce
thanks!!

Make sure you're using the correct port to connect.

With this configuration:
https://localhost:9735
the above Error Massage appears
with this http://localhost:9735 this error appears:
...[ERR] CMGR: Can't accept connection: Act One: invalid handshake version: 80, only 0 is valid, msg=...
$ nc -zv localhost 9735

localhost [127.0.0.1] 9735 (?) open

Port 9735 is the only one i get an reaction

9735 is the peer port, you can’t use HTTP to connect to it. You need to connect to the REST port, default is 8080

Ahh, I almost thought it could not be 9735. The error is still there, but now i can look for the real problem!
The Server System is quite old (Debian 7), perhaps there is a problem with the old PHP Version (5.6.35) that the plugin in WordPress must use.
thanks!

authors: Roasbeef cfromknecht leblitzdick

repo: lightningnetwork/lnd


text:
Cannot open channel even with funds available

Background
Trying to open a channel, but get error:
 [lncli] rpc error: code = Unknown desc = not enough witness outputs to create funding transaction, need 0.005 BTC only have 0 BTC  available
My bitcoin core wallet has enough balance:
$ bitcoin-cli getbalance
0.01092586

My bitcoin core node is configured with:
addresstype=p2sh-segwit
Does it cause issues with lnd?
Your environment

version of lnd
0.5-beta-rc1

which operating system (uname -a on *Nix)
Linux

version of btcd, bitcoind, or other backend
bitcoind 0.17.99 (roughly 0.17.0)

Additional info: all  my wallet's UTXOs are P2WSH.

lnd has its own integrated wallet that handles the funds, for opening channels etc., it doesn't use the wallet of Bitcoin core.
To add funds to lnd's wallet use:
lncli newaddress p2wkh for bech32 deposit address or
lncli newaddress np2wkh for P2SH-wrapped SegWit deposit address
then after the TX is confirmed you'll be able to use those funds to open a channel

authors: cryptagoras gustavonalle


text:
Add update external IP RPC

It would be create to have an RPC for setting/updating the external IP.
I know that there is the option nat=true which sets up an external IP watcher (for NAT-PMP and UPnP) - but this is not a universal solution.
Therefore it would be good if users could use the technology of theirs choice outside of LND to detect changes and the set them over RPC (without needing to stop and start the whole LND process).

@halseth It mentioned this to you in Munich.. sadly I currently have no time to work on an PR.. maybe later in June... :-D

This issue is also resolved by #1624, correct?

If you were interested in having a hostname be resolved automatically to an IP and handle changes, then yes.

Yes, I think #4281 will cover my use case - thanks!

authors: frennkie wpaulino


text:
rm! doesn't delete directory recursively

I execute:
rm! home/'myFolder

and nothing gets deleted.
No error is reported.
The folder belongs to the current user, and has write permissions.  It contains subfolders and files.
Tested with Ammonite 1.0.1.

I just tested it on 1.0.2 on Debian 9:
@ ls! home/'Documents
res14: LsSeq =
'ammrmtest

@ ls! home/'Documents/'ammrmtest
res15: LsSeq =
'test        'test1       "text1.txt"  "text2.txt"

@ rm! home/'Documents
@ ls! home/'Documents
java.nio.file.NoSuchFileException: /home/piotr/Documents

Closing this unless you have any further info to share; it works in CI and it works on my laptop...

repo: lihaoyi/Ammonite


text:
Parser Traversal?

(from gitter)
The fastparse DSL is just fantastic to the developer!
Here I'm wondering about some mechanism to traverse the parser instance to construct a representation (say, some simplified pseudo EBNF), mainly targeted at the less-expert user, and for not-necessarily-formal documentation.
Say, operating on the expr parser in this example:
val number: P[Int] = P( CharIn('0'to'9').rep(1).!.map(_.toInt) )
val parens: P[Int] = P( "(" ~/ addSub ~ ")" )
val factor: P[Int] = P( number | parens )

val divMul: P[Int] = P( factor ~ (CharIn("*/").! ~/ factor).rep ).map(eval)
val addSub: P[Int] = P( divMul ~ (CharIn("+-").! ~/ divMul).rep ).map(eval)
val expr: P[Int]   = P( addSub ~ End )

generate something like:
expr   = addSub End
addSub = divMul ( CharIn("+-") divMul )*
divMul = factor ( CharIn("*/") factor )*
factor = number | parens
parens = "(" addSub  ")"
number = CharIn('0' to '9')+

Anybody have any hints on how to accomplish this? Perhaps worth considering adding support for this in the library itself?  Thx.

Jun 29 23:59
there is no way right now
each parser is a totally opaque Parser[T] with a totally opaque .parse method
i've had some ideas of how to make it work, but it's a hard problem that goes against the grain of how the library works right now
basically we need to make Parser[T]s less opaque so we can inspect them without executing .parse, and from there we can then do this kind of transformation/rendering

Basically, we need to let people recurse over the Parser[T] objects without executing them.
Apart from letting us pretty-print it, we could use that info to perform transformations/optimizations of the parser tree (parser tree, not the parse tree), and probably other things.
This isn't hard in niche cases: most parsers are made of typical |s, ~s, and intrinsics which can be enumerated. However, in the general case a Parser[T] can be almost anything, so we'd want a way to recurse over "unknown" parsers even if we end up ignoring them or handling them with some default handler.
I imagine a good approach may be to

Force parsers to define a def children: Iterator[Parser] attribute. This can default to empty for "leaf" parsers, and non-empty for parsers like ~ or | or .rep

Define a general def traversal[T, V](p: Parser[T]): V method that works on Parser[T]s and recurses over children, with a callback/transformation on each child

Write a callback/transformation for use with traversal[_, String] that can then be used to convert the parsers into a String. Additional transformations could be used with e.g. traversal[T, Parser[T]] to convert a parser into a more-optimized parser, etc.

This is rough and not nearly sufficiently fleshed out, but I think it could work if anyone wants to take a crack at it

authors: carueda lihaoyi

repo: lihaoyi/fastparse


text:
Update webpack role package dependencies & config

Update babel packages to v.7 and ensure all others dependencies are up to date.
This PR is a :

Improvement : https://github.com/liip/drifter/issues/229
Bugfix : https://github.com/liip/drifter/issues/230

what else needs to be done here? it's been a month this role is broken. Can I help?

@ghn @LeBenLeBen I'll fix that on thursday.

authors: ghn ludovicturmel

repo: liip/drifter

license: WTFPL


text:
开个深坑，希望加入删硬链自动同步删源文件功能。

删硬链接目标文件自动同步删源文件。
减少删资源繁琐步骤。
深坑勿扰，哈哈哈。
(^_^)

这个占用内存太大了， 需要监控文件变化

折中手段，手动命令行 检测是否源文件被删除，大家可以用定时任务来 定期检测~

能不能通过命令的方式，用序号列出对应目录所有硬链接路径（mkv的上一级文件夹），通过选择序号（可多选）同时删除硬链接路径和对应源路径文件夹
应用场景：剧集管理软件sonarr对生成的硬链接重命名导入后，因剧集自动更新高质量版本（只会自动删除媒体文件夹低质量版本的硬链接，不会删除种子文件夹低质量版本的源文件），残留了低质量版本的种子通过hlink重新生成硬链接到sonarr文件夹不会自动更名，这个时候只需要在生成的路径列表中找到不符合命名规则的路径删除不会影响媒体库。现在整理是通过手动两边删除，进一步自动化更好。

折中手段，手动命令行 检测是否源文件被删除，大家可以用定时任务来 定期检测~

能实现就OK的，定时清理这样也不错。最好是双向都能生效。删哪边都不用去找另一边。

https://github.com/likun7981/hlink/releases/tag/v0.6.0-next.1

npm i -g hlink@next

@likun7981 那如何停止监控呢 好像没找到具体的停止监控命令哦

@likun7981 那如何停止监控呢 好像没找到具体的停止监控命令哦

直接打断进程

请问那个42新加的监视模式，是直接复制那个hlink rm -w /path/to/dir就行，还是需要更改路径？然后这个命令的意义就是自动删除已经没有源文件的硬链接，其他的没有影响对吧？谢谢。

请问那个42新加的监视模式，是直接复制那个hlink rm -w /path/to/dir就行，还是需要更改路径？然后这个命令的意义就是自动删除已经没有源文件的硬链接，其他的没有影响对吧？谢谢。

这个不完善，更名了检测不到，最好先不要使用

删除命令 建议大家先不要使用，不是很完善，直接手动先删除吧

关闭此issue，使用hlink prune，见https://github.com/likun7981/hlink/releases/tag/v0.7.1
删源文件的动作还是太危险


text:
Implement Interactive Console App with Core Functionalities

Implement Interactive Console App with Core Functionalities
Description
This pull request introduces essential functionalities to the console app, addressing the project requirements outlined. The core changes involve creating and updating methods and classes in both the app.rb and main.rb files.
Changes Made

Created app.rb as the console app entry point.
Implemented methods in app.rb to:

List all books.
List all people.
Create a person (teacher or student).
Create a book.
Create a rental.
List all rentals for a given person ID.

Defined the main method in main.rb to serve as the entry point, offering users a menu of options:

Users can choose an option.
If required, parameters can be entered.
Provides a graceful exit option to quit the app.

Project Compliance
This pull request aligns with the project requirements by enabling interaction with the console app, allowing users to run the program from the command line, and implementing the specified functionalities.
Testing
The changes have been tested to ensure the correct execution of each functionality. Manual testing was performed to verify the user interaction and proper handling of inputs.
Additional Notes
This implementation aims to create a user-friendly and efficient console app that meets the outlined requirements. Any feedback or suggestions for improvement are highly appreciated.

Thank you @FrederickMih for the review.


text:
More fallbacks for user, when running on non-Unix

Description
For instance on Windows, where uid/gid/home are "different".

user.Uid and user.Gid are strings, and pretty long ones too

user.HomeDir uses windows paths, such as C:\Users\anders

But the LimaUser function can handle these, with additional fallbacks.

uid and gid need to be int32, something like 1000 or 4096 or so

guest home directory needs unix paths, such as /c/Users/anders.

PR coming
id.exe
cygpath.exe
From MSYS_NT/MINGW_NT
uname.exe

repo: lima-vm/lima


text:
Allow for opening in a separate floating window

Problem statement
It is fairly more comfortable to have the design (2D/3D) views of your project on one screen and things like scripts or the LimboAI tab in another screen. This is not easily doable right now.
Proposed solution
Put a floating window button that opens the LimboAI editor in a separate OS window, like the scripts tab has.
Alternatives
I guess worst case scenario is you need to open 2 instances of Godot to put the LimboAI tab in another screen.

You can put LimboAI into a separate window, but Inspector will stay with the main window, which isn't a great experience IMO, as inspector is a huge part of LimboAI workflow.

authors: je-sendra limbonaut

repo: limbonaut/limboai


text:
Change entity attribute type from byte[] to base64 string

Following fields:
private byte[] serverPrivateKey;
private byte[] serverPublicKey;
private byte[] devicePublicKey;

Should be fixed to Base64 strings, to improve readability for DB admins.

Fixed in 5fc86cc34a5f509b9da22727a6aac3be03fc1ed3

repo: lime-company/lime-security-powerauth


text:
Issue of having "Object of class Limoncello\Validation\Rules\Generic\AndOperator could not be converted to string" exception

@neomerx  could you give some hints when siutation will this exception throws?

Never had such one. I think you've experimented with validation rules. If you provide me with the changes you've made I'll try to add some asserts there so it would be easier to diagnose such issues.
Some background info what this thing is doing. Before controller is called the app reads all the validation rules and transforms them into an array. The array can be cached (and limoncello can do that :wink: ). The cached validation rules greatly improve validation performance.

i applied a custom validation rules which are written quite a long time ago:
<?php namespace App\Validation\Rules;

use Doctrine\DBAL\Connection;
use Limoncello\Flute\Contracts\Validation\ErrorCodes;
use Limoncello\Validation\Blocks\ProcedureBlock;
use Limoncello\Validation\Contracts\Blocks\ExecutionBlockInterface;
use Limoncello\Validation\Contracts\Execution\ContextInterface;
use Limoncello\Validation\Execution\BlockReplies;
use Limoncello\Validation\Rules\BaseRule;
use Services\Contracts\ResourceInterface;

/**
 * Class isUniqueRules
 *
 * @package App\Validation\Rules
 */
class isUniqueRules extends BaseRule
{
    /**
     * Property key
     */
    const PROPERTY_TABLE_NAME = self::PROPERTY_LAST + 1;

    /**
     * Property key
     */
    const PROPERTY_PRIMARY_KEY = self::PROPERTY_TABLE_NAME + 1;

    /**
     * Property key
     */
    const PROPERTY_COLUMN_NAME = self::PROPERTY_PRIMARY_KEY + 1;

    /**
     * @var string
     */
    private $tableName;

    /**
     * @var null
     */
    private $primaryKeyName;

    /**
     * @var string
     */
    private $columnName;

    /**
     * @inheritDoc
     */
    public function __construct($tableName, $columnName, $primaryName = null)
    {
        $this->tableName = $tableName;
        $this->primaryKeyName = $primaryName;
        $this->columnName = $columnName;
    }

    /**
     * @return ExecutionBlockInterface
     */
    public function toBlock(): ExecutionBlockInterface
    {
        $customProperties = [
            self::PROPERTY_TABLE_NAME  => $this->getTableName(),
            self::PROPERTY_PRIMARY_KEY => $this->getPrimaryKeyName(),
            self::PROPERTY_COLUMN_NAME => $this->getColumnName(),
        ];

        return (new ProcedureBlock([self::class, 'execute']))
            ->setProperties($this->getStandardProperties() + $customProperties);
    }

    /**
     * @return string
     */
    public function getTableName(): string
    {
        return $this->tableName;
    }

    /**
     * @return string
     */
    public function getPrimaryKeyName(): ?string
    {
        return $this->primaryKeyName;
    }

    /**
     * @return string
     */
    public function getColumnName(): string
    {
        return $this->columnName;
    }

    /**
     * @param                  $value
     * @param ContextInterface $context
     *
     * @return array
     * @throws \Psr\Container\ContainerExceptionInterface
     * @throws \Psr\Container\NotFoundExceptionInterface
     */
    public static function execute($value, ContextInterface $context): array
    {
        $found = false;

        if (is_scalar($value) === true) {
            /** @var Connection $connection */
            $connection = $context->getContainer()->get(Connection::class);
            $builder = $connection->createQueryBuilder();
            $tableName = $context->getProperties()->getProperty(self::PROPERTY_TABLE_NAME);
            $primaryName = $context->getProperties()->getProperty(self::PROPERTY_PRIMARY_KEY);
            $resourceIndex = $context->getContainer()->get(ResourceInterface::class)->getIndex();
            $columnName = $context->getProperties()->getProperty(self::PROPERTY_COLUMN_NAME);
            $columnNames = is_null($primaryName) || is_null($resourceIndex) ? $columnName : "`{$primaryName}`, `{$columnName}`";

            $statement = $builder
                ->select($columnNames)
                ->from($tableName)
                ->where($builder->expr()->eq($columnName, $builder->createPositionalParameter($value)))
                ->setMaxResults(1);

            $fetched = $statement->execute()->fetch();

            $found = is_null($primaryName) || is_null($resourceIndex) ?
                $fetched !== false :
                $fetched !== false && $fetched[ $primaryName ] !== $resourceIndex;
        }

        $reply = $found === false ?
            BlockReplies::createSuccessReply($value) :
            BlockReplies::createErrorReply($context, $value, ErrorCodes::UNIQUE_IN_DATABASE_SINGLE);

        return $reply;
    }
}

which are used for check uniqueness of the field with two scenario,
with create, check uniqueness against whole table
with update, check uniqueness with corresponding primary key;
custom service interface written:

<?php namespace Services\Contracts;

/**
 * Interface ResourceInterface
 *
 * @package Services\Contracts
 */
interface ResourceInterface
{
    /**
     * @param string $index
     */
    public function setIndex(string $index): void;

    /**
     * @return null|string
     */
    public function getIndex(): ?string;
}

and service written

<?php namespace Services;

use Services\Contracts\ResourceInterface;

/**
 * Class Resource
 *
 * @package Services
 */
class Resource implements ResourceInterface
{
    /**
     * @var
     */
    private $index;

    /**
     * @param string $index
     */
    public function setIndex(string $index): void
    {
        $this->index = $index;
    }

    /**
     * @return null|string
     */
    public function getIndex(): ?string
    {
        return $this->index;
    }
}

by adding a container configurator into the Container folder:

<?php namespace App\Container;

use Limoncello\Contracts\Application\ContainerConfiguratorInterface;
use Limoncello\Contracts\Container\ContainerInterface;
use Services\Contracts\ResourceInterface;
use Services\Resource;

/**
 * Class ResourceContainerConfigurator
 *
 * @package App\Container
 */
class ResourceContainerConfigurator implements ContainerConfiguratorInterface
{
    /**
     * @param ContainerInterface $container
     */
    public static function configureContainer(ContainerInterface $container): void
    {
        $container[ ResourceInterface::class ] = function (\Psr\Container\ContainerInterface $container): ResourceInterface {
            $resource = new Resource();

            return $resource;
        };
    }
}

and overriding each controllers update method holding the index value (primary key) of the update.
These are the actions i added into limoncello app;
and  having issue of"Object of class Limoncello\Validation\Rules\Generic\AndOperator could not be converted to string" exception;
but even though i get rid all these custom things out of limoncello-php app
the issue still exists...

I need more info to help. Currently, all I got is 'I have a problem with converting a class instance to string. Somewhere. After unknown changes. Even without the exception stack trace.' Can you please post at least exception stack trace?

i think i had where the issue was.
i am putting
return r::userId(); as
return r::equals(r::userId());

authors: dreamsbond neomerx

repo: limoncello-php/app

license: mit


text:
How i insert this address on a view

celery call -b redis:localhost:6379/0 cc.task.refill_addresses_queue
i want to create a address for user how i cant insert this celery task on view
i mean call task always return a address how i insert this on view? only call without write it manually

Don't run this task in a view. Run it periodically in background. Once in 10 min, for example
refill_addresses_queue task gets addresses from you bitcoind and put them into db.
Then you create instance of cc.models.Wallet model and call wallet.get_address() method
This will attach address to a wallet.
Now when you send some money to address and call query_transactions money will be on a wallet balance

What an incredible thank you. Another question from the library. If I put it into production, how can I change satoshis to an andress from my blockchain?

Sorry, I don't understand the question.
django-cc works only with blockchains based on bitcon source code. So I don't know if it is compatible with your blockchain

But i mean how i transf bitcoin to a this andress
El jue., 5 de mar. de 2020 1:25 a. m., Ivan notifications@github.com
escribió:

Sorry, I don't understand the question.
django-cc works only with blockchains based on bitcon source code. So I
don't know if it is compatible with your blockchain
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/limpbrains/django-cc/issues/17?email_source=notifications&email_token=AMT2IA37OS3FEMTGUUB6U4DRF5AWLA5CNFSM4LAQH3KKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEN34DWQ#issuecomment-595050970,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMT2IAZZKUVPYX4KG6FMPZ3RF5AWLANCNFSM4LAQH3KA
.

hello
when i use
wallet = Wallet.objects.get(id=usuario.my_wallet.id)
transaccion = wallet.withdraw_to_address('254d283e-9c11-4047-997f-434cc031cf77', Decimal('0.01'))

Invalid address,
def withdraw_to_address(self, address, amount, description=""):
if not validate(address, self.currency.magicbyte):
raise ValueError('Invalid address')
why?

even i call transaccion = wallet.withdraw_to_address('254d283e9c114047997f434cc031cf77', Decimal('0.01'))
invalid address :(

wallet.withdraw_to_address  creates WithdrawTransaction, which sends funds into bitcoin blockchain when you call cc.tasks.process_withdraw_transactions
It is not intended to transfer funds inside the service.
Address here should be a a valid bitcoin address

Does that mean that I transfer a bitcoin from here?
How do I want to transfer bitcoin here or
within the platform transfer to another user within the platform for example

On the other hand I mean internally within the platform with django-cc how could I change another user?
transaccion = wallet.withdraw_to_address('1HkazAUyRjzqpBgZdErEryHaBho3tqu3eH', Decimal('0.00022'))
suposse that is the addres of the user
04cdbb58-5a63-47d4-b038-94d344960794

To transfer funds internally, use wallet.transfer
wallet1.transfer(1, wallet2, None, 'bla bla bla')
Take a look at the source code
https://github.com/limpbrains/django-cc/blob/master/cc/models.py
It is quite simple and you can find something useful there

If it worked, thank you very much, but I mean let's say how I connect this wallet with the blockchain? I say to be able to validate the transfers with the blockchain

wallet.get_address() will give you a bitcoin address. Send bitcoins to it, then cc.tasks.query_transactions  that's it

but this address is not valid according of bitcoin :( and how i can use testnet?
and bitcoint address looks like i show you in the picture

I've remembered. wallet.get_address() returns Wallet model which has address field.
So it is wallet.get_address().address

wallet.get_address().address return this
04cdbb58-5a63-47d4-b038-94d344960794 and tell me this addres is invalid

I don't know how it is possible that you have address like 04cdbb58-5a63-47d4-b038-94d344960794
Sure it is not a valid address. You didn't tell me, are you using bitcoin ? Have you setup Currency model in django admin ? Does  refill_addresses_queue runs without errors ? What's in celery logs during run of refill_addresses_queue ?
Try purge database and setup it again.

from cc.models import Currency
currency = Currency.objects.create(
label = 'Bitcoin',
ticker = 'BTC',
api_url = 'http://root:toor@localhost:8332'
)
use this for create a new currency?
i need yo work with bitcoin

celery call -b redis://localhost:6379/0 wallet.tasks.refill_addresses_queue
got me
[2020-03-09 09:24:15,806: INFO/MainProcess] Received task: wallet.tasks.refill_addresses_queue[48181908-f93c-48c1-a687-0db6253b74c0]
[2020-03-09 09:24:15,817: INFO/ForkPoolWorker-2] Task wallet.tasks.refill_addresses_queue[48181908-f93c-48c1-a687-0db6253b74c0] succeeded in 0.01044358900000475s: None

[2020-03-09 09:49:41,107: ERROR/ForkPoolWorker-2] Task wallet.tasks.refill_addresses_queue[4c1cfbf4-6dc1-4b02-9d8c-6bab67b47b23] raised unexpected: TypeError("unsupported operand type(s) for +: 'NoneType' and 'bytes'")
Traceback (most recent call last):
File "/Users/administrador/Desktop/Nebula-project/nebula-env/lib/python3.8/site-packages/celery/app/trace.py", line 385, in trace_task
R = retval = fun(*args, **kwargs)
File "/Users/administrador/Desktop/Nebula-project/nebula-env/lib/python3.8/site-packages/celery/app/trace.py", line 650, in protected_call
return self.run(*args, **kwargs)
File "/Users/administrador/Desktop/nebula/wallet/tasks.py", line 138, in refill_addresses_queue
coin = AuthServiceProxy(currency.api_url)
File "/Users/administrador/Desktop/Nebula-project/nebula-env/lib/python3.8/site-packages/bitcoinrpc/authproxy.py", line 100, in init
authpair = user + b':' + passwd
TypeError: unsupported operand type(s) for +: 'NoneType' and 'bytes'

if i use your example with currency got me a invalid address and this got me a error

http://administrador:password@localhost:8080
on api hostname give me
File "/Users/administrador/Desktop/Nebula-project/nebula-env/lib/python3.8/site-packages/bitcoinrpc/authproxy.py", line 186, in _get_response
raise JSONRPCException({
bitcoinrpc.authproxy.JSONRPCException: -342: non-JSON HTTP response with '403 Forbidden' from server

Do you have bitcoind running on localhost with API accessible at http://root:toor@localhost:8332 ?

nop what is bitcoind ._. can you help me?

Task wallet.tasks.refill_addresses_queue[871c0395-ac05-4c0d-ae98-9131e7431b5e] raised unexpected: <JSONRPCException '-342: non-JSON HTTP response with '401 Unauthorized' from server'>
Traceback (most recent call last):

Users/username/Library/Application Support/Bitcoin/bitcoin.conf
y meti los siguientes datos
server=1
testnet=1
rpcuser='username'
rpcpassword='my_password'
entre comillas pero sigue dandome el mismo error :(

my currency api url is
http://user:password@localhost:18332/

JSONRPC server handles only POST requests return but
celery call -b redis://localhost:6379/0 wallet.tasks.refill_addresses_queue
return none when i call this task

celery call -b redis://localhost:6379/0 wallet.tasks.refill_addresses_queue
return none when i call this task
You need celery server running when you call refill_addresses_queue.

If you are running testnet you need to change your Currency model instance. Magic bytes should be "111,196"

Can you give me an email to ask for help in this project and if you like, can you participate?

I have indeed running the server but it keeps returning none

is it valid to use the bitcoin library and do this?
my_private_key = random_key()
my_public_key = privtopub(my_private_key)
my_bitcoin_address = pubtoaddr(my_public_key)
address = Address.objects.create(address=my_bitcoin_address, currency=usuario.my_wallet.currency, wallet=usuario.my_wallet)
do you want to participate in this project? it is very important and would help me a lot

is it valid to use the bitcoin library and do this?
No it is not

Your bitcoin instance keeps the private keys in local wallet.dat
django-cc just tracks pairs wallet <-> public address
What do you have in celery log when you call wallet.tasks.refill_addresses_queue ?

python manage.py runsver 8080
redis-server
celery worker -A nebula.celery --loglevel=info
celery call -b redis:localhost:6379/0 wallet.tasks.refill_addresses_queue

my email es valentincc94m@gmail.com Do you have time to participate in this project? It's very important

Add -B to the celery command
celery worker -B -A nebula.celery --loglevel=info
You need to run not just celery worker, but also celery broker

repo: limpbrains/django-cc


text:
Saving the processed data from the pylossless

My code crash is happening while exporting it to bids format. I defined a bids path like this :
from mne_bids import BIDSPath
output_path = '/Users/deepatilwani/Documents/Projects/ABC/bids'
bids_path = BIDSPath(subject=df_paths["eeg_fname"][1].split(".")[0], task='annotation',
                 extension= '.edf', datatype='eeg', root=output_path)

It creates a path like this :
BIDSPath(
root: /Users/deepatilwani/Documents/Projects/ABC/bids
datatype: eeg
basename: sub-ABC1064_task-annotation)

When I do pipeline.save(bids_path)
It crashes
error message
It says :
{
	"name": "FileExistsError",
	"message": "\"/Users/deepatilwani/Documents/Projects/ABC/bids/sub-ABC1064/eeg/sub-ABC1064_task-annotation_events.tsv\" already exists. Please set overwrite to True.",
	"stack": "---------------------------------------------------------------------------
FileExistsError                           Traceback (most recent call last)
Input In [123], in <cell line: 1>()
----> 1 pipeline.save(bids_path)

File ~/Documents/Projects/venv/lib/python3.9/site-packages/pylossless/pipeline.py:1041, in LosslessPipeline.save(self, derivatives_path, overwrite)
   1031 def save(self, derivatives_path, overwrite=False):
   1032     \"\"\"Save the file at the end of the pipeline.
   1033
   1034     Parameters
   (...)
   1039         whether to overwrite existing files with the same name.
   1040     \"\"\"
-> 1041     mne_bids.write_raw_bids(
   1042         self.raw,
   1043         derivatives_path,
   1044         overwrite=overwrite,
   1045         format=\"EDF\",
   1046         allow_preload=True,
   1047     )
   1048     # TODO: address derivatives support in MNE bids.
   1049     # use shutils ( or pathlib?) to rename file with ll suffix
   1050
   1051     # Save ICAs
   1052     bpath = derivatives_path.copy()

File <decorator-gen-464>:12, in write_raw_bids(raw, bids_path, events, event_id, anonymize, format, symlink, empty_room, allow_preload, montage, acpc_aligned, overwrite, verbose)

File ~/Documents/Projects/venv/lib/python3.9/site-packages/mne_bids/write.py:1983, in write_raw_bids(raw, bids_path, events, event_id, anonymize, format, symlink, empty_room, allow_preload, montage, acpc_aligned, overwrite, verbose)
   1979 events_array, event_dur, event_desc_id_map = _read_events(
   1980     events, event_id, raw, bids_path=bids_path
   1981 )
   1982 if events_array.size != 0:
-> 1983     _events_tsv(
   1984         events=events_array,
   1985         durations=event_dur,
   1986         raw=raw,
   1987         fname=events_tsv_path.fpath,
   1988         trial_type=event_desc_id_map,
   1989         overwrite=overwrite,
   1990     )
   1991     _events_json(fname=events_json_path.fpath, overwrite=overwrite)
   1992 # Kepp events_array around for BrainVision writing below.

File ~/Documents/Projects/venv/lib/python3.9/site-packages/mne_bids/write.py:327, in _events_tsv(events, durations, raw, fname, trial_type, overwrite)
    324 else:
    325     del data[\"trial_type\"]
--> 327 _write_tsv(fname, data, overwrite)

File <decorator-gen-306>:12, in _write_tsv(fname, dictionary, overwrite, verbose)

File ~/Documents/Projects/venv/lib/python3.9/site-packages/mne_bids/utils.py:245, in _write_tsv(fname, dictionary, overwrite, verbose)
    243 \"\"\"Write an ordered dictionary to a .tsv file.\"\"\"
    244 if op.exists(fname) and not overwrite:
--> 245     raise FileExistsError(
    246         f'\"{fname}\" already exists. ' \"Please set overwrite to True.\"
    247     )
    248 _to_tsv(dictionary, fname)
    250 logger.info(f\"Writing '{fname}'...\")

FileExistsError: \"/Users/deepatilwani/Documents/Projects/ABC/bids/sub-ABC1064/eeg/sub-ABC1064_task-annotation_events.tsv\" already exists. Please set overwrite to True."
}

When I do overwrite = True

{
	"name": "ValueError",
	"message": "Signal range [0.0, 0.137605265721] out of physical range: [0.001804231242, 0.137605265721]",
	"stack": "---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Input In [124], in <cell line: 1>()
----> 1 pipeline.save(bids_path, overwrite=True )

File ~/Documents/Projects/venv/lib/python3.9/site-packages/pylossless/pipeline.py:1041, in LosslessPipeline.save(self, derivatives_path, overwrite)
   1031 def save(self, derivatives_path, overwrite=False):
   1032     \"\"\"Save the file at the end of the pipeline.
   1033
   1034     Parameters
   (...)
   1039         whether to overwrite existing files with the same name.
   1040     \"\"\"
-> 1041     mne_bids.write_raw_bids(
   1042         self.raw,
   1043         derivatives_path,
   1044         overwrite=overwrite,
   1045         format=\"EDF\",
   1046         allow_preload=True,
   1047     )
   1048     # TODO: address derivatives support in MNE bids.
   1049     # use shutils ( or pathlib?) to rename file with ll suffix
   1050
   1051     # Save ICAs
   1052     bpath = derivatives_path.copy()

File <decorator-gen-464>:12, in write_raw_bids(raw, bids_path, events, event_id, anonymize, format, symlink, empty_room, allow_preload, montage, acpc_aligned, overwrite, verbose)

File ~/Documents/Projects/venv/lib/python3.9/site-packages/mne_bids/write.py:2110, in write_raw_bids(***failed resolving arguments***)
   2108 elif bids_path.datatype in [\"eeg\", \"ieeg\"] and format == \"EDF\":
   2109     warn(\"Converting data files to EDF format\")
-> 2110     _write_raw_edf(raw, bids_path.fpath, overwrite=overwrite)
   2111 elif bids_path.datatype in [\"eeg\", \"ieeg\"] and format == \"EEGLAB\":
   2112     warn(\"Converting data files to EEGLAB format\")

File ~/Documents/Projects/venv/lib/python3.9/site-packages/mne_bids/write.py:1175, in _write_raw_edf(raw, bids_fname, overwrite)
   1163 \"\"\"Store data as EDF.
   1164
   1165 Parameters
   (...)
   1172     Whether to overwrite an existing file or not.
   1173 \"\"\"
   1174 assert str(bids_fname).endswith(\".edf\")
-> 1175 raw.export(bids_fname, overwrite=overwrite)

File <decorator-gen-267>:12, in export(self, fname, fmt, physical_range, add_ch_type, overwrite, verbose)

File ~/Documents/Projects/venv/lib/python3.9/site-packages/mne/io/base.py:1792, in BaseRaw.export(self, fname, fmt, physical_range, add_ch_type, overwrite, verbose)
   1765 \"\"\"Export Raw to external formats.
   1766
   1767 %(export_fmt_support_raw)s
   (...)
   1788 %(export_edf_note)s
   1789 \"\"\"
   1790 from ..export import export_raw
-> 1792 export_raw(
   1793     fname,
   1794     self,
   1795     fmt,
   1796     physical_range=physical_range,
   1797     add_ch_type=add_ch_type,
   1798     overwrite=overwrite,
   1799     verbose=verbose,
   1800 )

File <decorator-gen-517>:12, in export_raw(fname, raw, fmt, physical_range, add_ch_type, overwrite, verbose)

File ~/Documents/Projects/venv/lib/python3.9/site-packages/mne/export/_export.py:76, in export_raw(fname, raw, fmt, physical_range, add_ch_type, overwrite, verbose)
     73 elif fmt == \"edf\":
     74     from ._edf import _export_raw
---> 76     _export_raw(fname, raw, physical_range, add_ch_type)
     77 elif fmt == \"brainvision\":
     78     from ._brainvision import _export_raw

File ~/Documents/Projects/venv/lib/python3.9/site-packages/mne/export/_edf.py:139, in _export_raw(fname, raw, physical_range, add_ch_type)
    135         pmax = ch_types_phys_max[ch_type]
    136         prange = pmin, pmax
    138     signals.append(
--> 139         EdfSignal(
    140             data[idx],
    141             out_sfreq,
    142             label=signal_label,
    143             transducer_type=\"\",
    144             physical_dimension=\"\" if ch_type == \"stim\" else \"uV\",
    145             physical_range=prange,
    146             digital_range=(digital_min, digital_max),
    147             prefiltering=filter_str_info,
    148         )
    149     )
    151 # set patient info
    152 subj_info = raw.info.get(\"subject_info\")

File ~/Documents/Projects/venv/lib/python3.9/site-packages/edfio/edf_signal.py:124, in EdfSignal.__init__(self, data, sampling_frequency, label, transducer_type, physical_dimension, physical_range, digital_range, prefiltering)
    122 if not np.all(np.isfinite(data)):
    123     raise ValueError(\"Signal data must contain only finite values\")
--> 124 self._set_physical_range(physical_range, data)
    125 self._set_digital_range(digital_range)
    126 self._set_data(data)

File ~/Documents/Projects/venv/lib/python3.9/site-packages/edfio/edf_signal.py:427, in EdfSignal._set_physical_range(self, physical_range, data)
    425     data_max = data.max()
    426     if data_min < physical_range.min or data_max > physical_range.max:
--> 427         raise ValueError(
    428             f\"Signal range [{data_min}, {data_max}] out of physical range: [{physical_range.min}, {physical_range.max}]\"
    429         )
    430 self._physical_min = encode_float(
    431     _round_float_to_8_characters(physical_range.min, math.floor)
    432 )
    433 self._physical_max = encode_float(
    434     _round_float_to_8_characters(physical_range.max, math.ceil)
    435 )

ValueError: Signal range [0.0, 0.137605265721] out of physical range: [0.001804231242, 0.137605265721]"
}

For the first error, maybe we can improve our error message so that it is more clear to users what they need to do. I think that 'Please pass overwrite=True to the save method', might be better than 'Please set overwrite to True'

This issue was fixed by updating to the current stable version of MNE-Python (version 1.8).
The reason this resolved the issue is because the bug that @Deepa-Tilwani was hitting originated from MNE-Python, not PyLossless, and that bug was fixed by MNE-Python in https://github.com/mne-tools/mne-python/pull/12676 , which was included in the 1.8 release.

authors: Deepa-Tilwani scott-huberty

repo: lina-usc/pylossless


text:
Update minimum Dask version

One of the tests started crashing when npartitions=2 and repeated ids were used. This appears to be due to a known bug in Dask (https://github.com/dask/dask/issues/10118) that has since been corrected. This PR updates the minimum version of Dask to pick up the fix.

Codecov Report

Merging #124 (da5e782) into main (c37fd90) will increase coverage by 0.72%.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main     #124      +/-   ##
==========================================
+ Coverage   86.77%   87.50%   +0.72%
==========================================
  Files          17       18       +1
  Lines         915     1016     +101
==========================================
+ Hits          794      889      +95
- Misses        121      127       +6

see 10 files with indirect coverage changes

authors: codecov-commenter jeremykubica

repo: lincc-frameworks/lsstseries


text:
🛑 reader is down

In 0647a68, reader ($SITE_MAIN) was down:

HTTP code: 503
Response time: 181 ms

Resolved: reader is back up in 6a1fd73.

repo: linciashu/uptime


text:
kod: update editor import path to absolute.

Absolute import paths are 1. more conventional and 2. work better with
the Go toolchain.

Great! Thanks.


text:
Fix type

Motivation:
The intended object cannot be created because the returned type is incorrect.
Modification:

From ServiceConfigBuilder

ServiceConfigSetters  -> ServiceConfigBuilder

From VirtualHostAnnotatedServiceBindingBuilder

ServiceConfigSetters -> VirtualHostAnnotatedServiceBindingBuilder

Result:
You can create the intended object.

Ow - this looks like an ABI change. Might need to deprecate the methods and come up with new names

Wouldn't it be OK as it is with minor version bump, because these methods are only overridden by final builder classes and users will never extend them?

@trustin I think code needs to be recompiled because method linkage takes into account the actual parameter and return types - so any invocation of these methods will fail with NoSuchMethodError without recompilation. While we may expect low chance of dependency hell caused by ABI change to a configuration builder, IIUC, I think it does still break semver.

Hmm, yeah. I was rather thinking of ensuring ABI compatibility between micro bumps and API compatibility between minor bumps.

Hmm - is it ok if it can still cause dependency problems when other libraries may not recompile soon enough? In Java I don't think API without ABI is enough for minor versions, though maybe some exceptions can be made for ones unlikely to be linked to like configuration classes, maybe after GitHub search? Slippery slope though - I remember when Guava caused havoc with an ABI change in Preconditions.

Yeah, I understand your concern. I think the risk is fairly low because the builders changed here are not very likely to be used in a shared component. @minwoox @ikhoon @anuraaga @renaudb @adriancole Would you mind checking the usage of the methods being updated in this class in your repositories and telling us how this will affect them?
@heowc How about adding some automated test cases which check all builder classes override all parent methods whose return type is same with the parent type?

Oh... I didn't know there was such a problem with this PR. 😅

because these methods are only overridden by final builder classes and users will never extend them?

I agree with this.

How about adding some automated test cases which check all builder classes override all parent methods whose return type is same with the parent type?

I am not familiar with this. Would you give me a guide? Can I use reflection API (or reflections)?

It's fixing an unfortunate problem so is a good PR :) I agree that the risk for these methods is very low and it could be acceptable - as long as it's a calculated risk, no problem. But I don't think a general policy of not preserving ABI on minor is ok - for example if the ABI, but not API, was changed for methods on HttpRequest, RequestContext we can expect a disaster. I mentioned Guava, but forgot we had much more direct experience with micrometer ourselves ;)

The way we have addressed this in brave library was to make TODO for next major version literally on the interface that should change. This rightly says something is tech debt, but doesn't cause a break over a minor concern.

I am not familiar with this. Would you give me a guide? Can I use reflection API (or reflections)?

@heowc You can use reflection to checking the return type. The following test code might help you. 😀
https://github.com/line/armeria/blob/df376e920e3e60ba61c4170bf7d93d025359f965/core/src/test/java/com/linecorp/armeria/common/DefaultResponseHeadersBuilderTest.java#L104-L117

Would you mind checking the usage of the methods being updated in this class in your repositories and telling us how this will affect them?

VirtualHostAnnotatedServiceBindingBuilder does not seem to be used in LINE internal repository when searching on the LINE GitHub enterprise.

You can use reflection to checking the return type. The following test code might help you. 😀

@ikhoon Thank you for the content. 😉
I would like to ask once again if I am right.

Would I write tests only for the builder classes I changed?
Would I write tests for all builder classes that meet the condition?

At first, I thought it was the second way, but I guess it wasn't.

At first, I thought it was the second way, but I guess it wasn't.

It would be nice to check and confirm that all builder methods correctly override their parent methods.

At first, I thought it was the second way, but I guess it wasn't.

It would be nice to check and confirm that all builder methods correctly override their parent methods.

If so, there is ambiguity because armeria is multi-module.
Should I just deal with the core module?

@heowc You might want to add some utility or abstract class that implements the common assertions or tests and use them in different modules.

@heowc You might want to add some utility or abstract class that implements the common assertions or tests in testing-internal and use them in different modules.

Aha! That's a good idea. 👌
I will work on it sooner or later.

The job for java8 did not run normally.

But I don't think a general policy of not preserving ABI on minor is ok

That's true.

the risk for these methods is very low and it could be acceptable

That's also true. 😅
In my humble opinion, I think it's okay to just change the return type in this case. 🤔

Thanks a lot, @heowc! We're almost there 😉 How about creating a module under it/builders, pulling all projects into runtime test classpath and testing everything there? You can select all projects using projectsWithFlags('java', 'publish', 'no_aggregation')

good idea. 👍
I will remove the abstract class and the classes I added to each module and move the test code to the builders module.

@minwoox @ikhoon PTAL again, since lots have been changed since the approval.

Happy new year ~ 🌅🥰

authors: adriancole anuraaga heowc ikhoon minwoox trustin

repo: line/armeria


text:
Lots of wgpu error messages

The lion renders in with_winit, but I get tons of these error messages to stderr:
[2024-05-03T17:20:47Z ERROR wgpu_hal::auxil::dxgi::exception] ID3D12CommandQueue::ExecuteCommandLists: Using IDXGISwapChain::Present on Command List (0x00000277AB418CD0:'Internal DXGI CommandList'): Resource state (0x4: D3D12_RESOURCE_STATE_RENDER_TARGET) of resource (0x00000277AB92CDE0:'Unnamed ID3D12Resource Object') (subresource: 0) is invalid for use as a PRESENT_SOURCE.  Expected State Bits (all): 0x0: D3D12_RESOURCE_STATE_[COMMON|PRESENT], Actual State: 0x4: D3D12_RESOURCE_STATE_RENDER_TARGET, Missing State: 0x0: D3D12_RESOURCE_STATE_[COMMON|PRESENT]. [ EXECUTION ERROR #538: INVALID_SUBRESOURCE_STATE]

Any ideas?

I had the same problem in #449
It is a problem with the dx driver on amd gpus and there's a tracking issue for that on wgpu

https://github.com/gfx-rs/wgpu/issues/4247
This is the issue.
My current solution is just to put $env:WGPU_BACKEND="vk"; before cargo run, but there I also had problems because the newest amd driver for me also completely broke Vulkan and I havent got any feedback from my bug report, so.. yeah..

Thanks, the suggestion with WGPU_BACKEND="vk" worked, and you seem to be right that it's a duplicate.

Not a duplicate, the other one was just a discovery. This one could be let open for this problem.

authors: DasLixou Mammux

repo: linebender/vello


text:
Restrict setting binary dir to CI

Motivation
I think this was accidentally deleted on #1412
Proposal
Redoing the changes
Test Plan
CI

Current dependencies on/for this PR:

main

PR #1494   👈

This stack of pull requests is managed by Graphite.

repo: linera-io/linera-protocol


text:
Add support for blobs in linera-storage::Storage

Motivation
This is the first step for supporting user blobs (issue #1981)
Proposal
Add blob support to linera-storage::Storage, and implement the functions.
Test Plan
Will test this in the PublishBlob operation, but open to suggestions of testing specific for this PR, if you guys think it should be done

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#1984  👈
#1965
#1964
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @andresilva91 and the rest of your teammates on  Graphite


text:
Lucky更新

Lucky当前版本为2.4.8，最新版为2.7.2，可以更新一下

欢迎pr到 https://github.com/linkease/istore-repo

repo: linkease/istore


text:
Burrow email alert not working

I have setup burrow in an EKS container. I have setup SES for smtp and registered email addresses in SES. The variables in the template are being replaced fine. The service runs fine . However the email notification isn't working. I am using the below section in burrow.toml. The templates are the same as in the source. I have not changed that. I have also tried with [emailnotifier "xx*xy.com"] + [smtp]  sections in the config but did not get it working:
`[notifier.myplace]
class-name="email"
interval=60
threshold=1
send-close=true
template-open="/etc/burrow/default-email.tmpl"
template-close="/etc/burrow/default-email.tmpl"
server="$smtp_server"
port=25
from="$from_email_address"
to="$to_email_address"
auth-type="plain"
username="$smtp_username"
password="$smtp_password"
noverify=true
[notifier.myplace."headers"]
Content-Type="application/json"`

Hi @anuragmathur1  Did you get a solution for this issue ? I am trying to set up the email notification in Burrow version 1.3.8 . But I am not finding a default email template . Do I need to create it ?   I am using the docker to deploy Burrow

Hi @anishma83 we have moved away from burrow. Not using it anymore. This is a very old case from me. I don't recall where I left looking into it.

Thanks @anuragmathur1  for your response !

repo: linkedin/Burrow


text:
Move server integration tests out of build target

Changes to gradle config to only run unit tests when running ./gradlew build
./gradlew test now also runs tests in the integration-test directory
Moved server tests to integration-test directory

Fixes issue #302
Previously the end to end server tests were slowing down the build speed, so now they will only run when the test target is executed independently.  Other long-running tests can be moved to an integration-test directory as needed.
Primary reviewers: Priyesh, Gopal
Time to review: 5 min.

This is very useful. Please also integrate the changes from #318 so that stack trace gets printed on error for tests in both test and unitTest tasks.

I just added the stack trace printing changes

Verified that build builds and runs unit tests and test runs the unit tests as well as the integration tests.

LGTM

Checked out and tried it and it works. Builds are super fast !
Before I merge, I want to understand the changes in the gradle file. Will talk with @cgtz and merge.

authors: cgtz pnarayanan vgkholla

repo: linkedin/ambry


text:
feat(dbt-ingestion): tag fixes and added possibility to skip specific models

Missed to use the tag prefix in last PR.
Also made it possible to filter out models that we would not want to push to DataHub. Common ones could be test seeds and such.
Updated the docs this time as well.
Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[x] Tests for the changes have been added/updated (if applicable)
[x] Docs related to the changes have been added/updated (if applicable)

Seems someone actually fixed the dbt prefix one day ago

So I guess I should only add the model_name_pattern in that case

Is it possible to rerun the checks without pushing again?

I double checked the code and it only looks at the resource_type, that is model, source, seed or test, but I would like the possibility to skip or only allow specifik models, seeds, test or sources, not the entire type

repo: linkedin/datahub


text:
Teradata JDBC Extractor and Source

Do not required extended access rights  - schema generated from generic JDBC ResultSetMetaData. Works with views and custom queries  (use source.querybased.is.metadata.column.check.enabled=false for derived columns). Tested against Teradata version 13 and 15.

Changes Unknown when pulling 0cc2c247b20de30b9bf5685d15b235ddc74b2f21 on ypopov:master into ** on linkedin:master**.

Tested the TeradataExtractor for full dumps, custom watermark ranges, custom queries and sampling, looks good!

LGTM.

authors: chavdar coveralls lbendig ypopov

repo: linkedin/gobblin


text:
Add commonProps to reduce FsStateStore memory usage when loading, and…

… also parallize get datasetStateStores

@htran1 Comments addressed. Also did a rebase.


text:
Helix cluster creation ability in GobblinServiceManager and Compiler enhancements

Added ability to create Helix cluster if not exist in GobblinServiceManager
Added flow name and group to job name and group translation in Identity Compiler
Added exception to error log in Orchestrator
Added tests for Identity compiler with or without template catalog

Primarily test additions and minor addition to GobblinServiceManager and Compiler. Self approving.


text:
Fixing setAdditionalProperties bug

Internally, we override this method, so moving the conditional into the method for backwards compatibility handling.

Codecov Report

Merging #2975 into master will decrease coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2975      +/-   ##
==========================================
- Coverage   69.27%   69.25%   -0.03%
==========================================
  Files         914      917       +3
  Lines       43529    44642    +1113
  Branches     5937     6171     +234
==========================================
+ Hits        30155    30915     +760
- Misses      11362    11684     +322
- Partials     2012     2043      +31

Impacted Files
Coverage Δ

...l/FixedByteSingleValueMultiColumnReaderWriter.java
72.64% <0%> (-27.36%)
:arrow_down:

...pinot/server/starter/helix/HelixServerStarter.java
54.19% <0%> (-26.58%)
:arrow_down:

.../pinot/core/io/writer/impl/OffHeapStringStore.java
73.03% <0%> (-21.26%)
:arrow_down:

...ava/com/linkedin/pinot/common/utils/MmapUtils.java
39.37% <0%> (-19.38%)
:arrow_down:

...pinot/core/io/writer/impl/DirectMemoryManager.java
90% <0%> (-10%)
:arrow_down:

...inot/core/segment/store/FilePerIndexDirectory.java
79.01% <0%> (-9.33%)
:arrow_down:

...l/FixedByteSingleColumnMultiValueReaderWriter.java
62.73% <0%> (-8.55%)
:arrow_down:

...re/io/reader/impl/v1/FixedBitMultiValueReader.java
92.3% <0%> (-7.7%)
:arrow_down:

...riter/impl/FixedByteSingleValueMultiColWriter.java
78.37% <0%> (-7.34%)
:arrow_down:

...e/impl/dictionary/LongOnHeapMutableDictionary.java
82.22% <0%> (-6.67%)
:arrow_down:

... and 41 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 7115324...dd455d0. Read the comment docs.

authors: codecov-io jenniferdai

repo: linkedin/pinot


text:
Fully automated releases

Problem statement
Let's automate the releases of play-parseq. Goals:

releases to Maven Central to streamline consumption by the community (and to create more engaged community)
release notes generation
example LinkedIn OS project that has full release automation

Solution options

Automate SBT build
Migrate to Gradle and automate with Gradle plugins
Add Gradle for releases, delegate to SBT

Discussion (with @FranklinYinanDing):

ad1) SBT is a dead. At LinkedIn we actively migrate to Gradle. SBT automation will duplicate Gradle automation we use in other projects.
ad2) Migrate to Gradle is ideal but adds extra effort.
ad3) Good pragmatic approach. We can get the releases automated without committing to full SBT->Gradle migration. We demonstrate how Gradle can wrap foreign build tool to automate releases. Risk exists that Gradle-SBT layer gets complicated and hard to maintain (if that happens we'll do option 2).

Implementation
I suggest to start using Shipkit Gradle plugins (http://shipkit.org) that Mockito community leverages to implement automated releases.
Suggested design

Enable Travis CI
Use and configure Shipkit Gradle plugins

Gradle will delegate to SBT to run build
Every PR merged to master will produce a new version in Maven Central
Documentation and release notes are automatically generated

Milestone 1
Automated releases to JCenter (very visible public repo)

[x] - SBT integration - #11 - @FranklinYinanDing
[x] - enable Travis CI job - #12 - @FranklinYinanDing
[x] - request admin rights to the project so that we can inspect / review / update Travis CI configuration.
[x] - Enable automated releases to Bintray - #10 - @mockitoguy
[x] - Document how releases work - #19 - @mockitoguy

Milestone 2
Automated releases to Maven Central, easy local testing.

Convenient local testing (easy way to build local snapshot) - @mockitoguy
Maven Central releases

[ ] - request Maven Central releases for "com.linkedIn.play-parseq" libraries - #18

LinkedIn Artifactory releases (optional)

Thoughts / feedback?
Exciting!!! Let's get the releases fully automated and provide an example for other LinkedIn projects 🗡

Hey team! I'm blocked on few things:

can you enable Travis CI?
can you give me admin rights to the project (see the description why)
Thanks!

Update: I updated the description with the plan.

I have contacted the open-source team for giving us admin rights, no update yet. Will keep following.

Great! I did the same.
Update: we're publishing to a test public repo, see:

https://bintray.com/linkedin/test-repo/play-parseq/0.8.1#files/com%2Flinkedin%2Fplay-parseq%2Fplay-parseq-trace-scala_2.12%2F0.8.1
https://dl.bintray.com/linkedin/test-repo/

When we're ready, we'll publish to Maven Central and JCenter.

We're in maven central. We can close this. Thanks a lot Yinan for working on all the details!

authors: FranklinYinanDing mockitoguy

repo: linkedin/play-parseq


text:
sourceMap is not supported

I try to active sourcemaps with your builder.
Here my angular.json file
	"build": {
		"builder": "@linnenschmidt/build-ng-packagr:build",
			"options": {
				"tsConfig": "projects/core/tsconfig.lib.json",
				"project": "projects/core/src/ng-package.json",
				"assets": [
					{
						"glob": "**/*.scss",
						"input": "styles",
						"output": "styles"
					},
					{
						"glob": "**/*",
						"input": "assets",
						"output": "assets"
					}
				]
			},
			"configurations": {
				"production": {},
				"dev": {
					"sourceMap": true
				}
			}
	}

The build with dev configuration fails with :

Schema validation failed with the following errors:
Data path "" should NOT have additional properties(sourceMap).

Any news about this issue ?

authors: CodeTroopers Lahciin

repo: linnenschmidt/build-ng-packagr


text:
Discuss: Tagging scheme for master

See #1110 for branching ideas. This issue is specifically for git tagging consistency ideas
Tags for:

master
bug fixes/hot fixes

Started tagging based on semver for merges into release.

repo: linode/manager


text:
Add tracking calls for analytics

add ga analytics.track( calls for #1521

While investigating options into implementation for this, consider a couple things:

do synthetic events in react bubble up to layouts and/or app root? if so, can we catch and filter these for generic components? The tracking of form submissions is ideally uniform.

if the above is not possible / cannot be implemented easily, investigate a flexible way to dispatch custom events from shared components, to be handled at the app level for tracking ( as to keep tracking well decoupled from component or view implementations ). Event reference: https://developer.mozilla.org/en-US/docs/Web/API/Event/Event


text:
M3-839 - StackScripts Landing Tests

Depends on https://github.com/linode/manager/pull/3526/ (that's why it says 35 files changed, the actual PR is like 4 files changed)
Adds tests for Stackscripts Landing
Adds page object for stackscript landing page.

To Test
yarn && yarn start
yarn selenium
yarn e2e --file e2e/specs/stackscripts/list-stackscripts.spec.js

@martinmckenna let me know if there are any potential test cases i've missed. Note, I only assert the stackscripts display on the community stackscript tab because on Dev that is the only tab that displays stackscripts.

One test failing for me:
1) StackScripts - List Suitesuite1 should display my stackscripts preselected and empty message: Expected false to be true.

Coverage remained the same at 26.822% when pulling 11f8657fb923a41643fb9ef4230de93bba8a9cde on patthiel:M3-839 into 80b07bb55c58d9d6281b72396a530fde56dd81dc on linode:develop.

authors: Jskobos coveralls patthiel


text:
[LKE] Unit test for "Create Cluster" button being disabled when 0 Node Pools added

Description
Follow-up to https://github.com/linode/manager/pull/6322.
Added a data-testid attribute to the Button in CheckoutBar component and a unit test to make sure the button is disabled when zero Node Pools have been added by user.
Type of Change

Non breaking change ('update', 'change')

Testing
yarn test KubeCheckoutBar.tsx
Note to Reviewers
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration.

Closed https://github.com/linode/manager/pull/6324 due to rebase difficulties


text:
Add allow directive in configuration file

Enhancement: Add allow directive in chrony.conf configuration file and relevant documentation.
Reason: This directive is required to configure chrony in server mode, otherwise it operates purely as an NTP client.
Result: chrony starts in server mode and listens to port 123 as described in the chrony.conf(5) man page.

As described in the README, this role is intended for configuration of NTP and PTP clients.
You can add allow to timesync_chrony_custom_settings if you really need to, but I'm not sure if want to complicate the role with setting like that.

Have you tried adding allow to timesync_chrony_custom_settings ?
There are many roles for configuring chrony. This one is specifically for clients. It supports also ntpd, which has different configuration (it cannot operate purely as a client) so this would be confusing. There are many other server-specific directives, e.g. for NTS, which is already support as a client, so this would be incomplete.

Have you tried adding allow to timesync_chrony_custom_settings ?
There are many roles for configuring chrony. This one is specifically for clients. It supports also ntpd, which has different configuration (it cannot operate purely as a client) so this would be confusing. There are many other server-specific directives, e.g. for NTS, which is already support as a client, so this would be incomplete.

@scaronni did you try this, and did it work for you?  If so, can we close this PR?

Yes it works, but not really evident. But i've seen this has been asked in the past with the same answer (https://github.com/linux-system-roles/timesync/issues/48), so let's close it.

authors: mlichvar richm scaronni

repo: linux-system-roles/timesync


text:
Add hybrid_e2e option to PTP domain

The hybrid_e2e option configures the PTP slave to send delay
requests to the unicast address of the master. This may reduce the
amount of PTP traffic in large networks.

[citest bad]

still need this PR?

still need this PR?

Yes, I still think this is useful.

[citest pending]

[citest bad]

[citest pending]

authors: mlichvar richm yontalcar


text:
Remove ignore_errors for Disable services tasks

Currently, we have errors, like these during execution role:
TASK [timesync : Disable ntpd] *************************************************************************************************************************************************************
fatal: [host1]: FAILED! => changed=false
  msg: 'Could not find the requested service ntpd: host'
...ignoring
fatal: [host2]: FAILED! => changed=false
  msg: 'Could not find the requested service ntpd: host'
...ignoring

TASK [timesync : Disable ntpdate] **********************************************************************************************************************************************************
fatal: [host1]: FAILED! => changed=false
  msg: 'Could not find the requested service ntpdate: host'
...ignoring
fatal: [host2]: FAILED! => changed=false
  msg: 'Could not find the requested service ntpdate: host'
...ignoring

To prevent errors was added additional service existing check .

Wrong commits, I will recreate PR.


text:
Submit address - Roads with Numbers

Unable to submit an address when the road name has a number. Python error created.
Traceback (most recent call last):
File "D:/Users/djjones.AD/.qgis2/python/plugins\aims\AimsUI\AimsClient\Gui\ChangeQueueWidget.py", line 119, in submitAddress
self._controller.uidm.addAddress(self.feature, respId)
File "D:\Users\djjones.AD.qgis2\python\plugins\aims\AimsUI\AimsClient\Gui\UiDataManager.py", line 129, in addAddress
self.dm.addAddress(feature, respId)
File "D:\Users\djjones.AD.qgis2\python\plugins\aims\AIMSDataManager\DataManager.py", line 201, in addAddress
self._addressAction(address,ActionType.ADD,reqid)
File "D:\Users\djjones.AD.qgis2\python\plugins\aims\AIMSDataManager\DataManager.py", line 212, in _addressAction
self._queueAction(FeedRef((FeatureType.ADDRESS,FeedType.CHANGEFEED)), at, address)
File "D:\Users\djjones.AD.qgis2\python\plugins\aims\AIMSDataManager\DataManager.py", line 271, in _queueAction
self.ioq[feedref]['in'].put({atype:(aorg,)})
TypeError: 'NoneType' object has no attribute 'getitem'
Python version:
2.7.4 (default, Apr  6 2013, 19:54:46) [MSC v.1500 32 bit (Intel)]
QGIS version:
2.8.7-Wien Wien, 8a47921
Python path: ['D:/Users/djjones.AD/.qgis2/python/plugins\processing', 'D:\Users\djjones.AD\.qgis2\python\plugins\aims', 'G:/QGIS28/apps/qgis-ltr/./python', u'D:/Users/djjones.AD/.qgis2/python', u'D:/Users/djjones.AD/.qgis2/python/plugins', 'G:/QGIS28/apps/qgis-ltr/./python/plugins', 'C:\Program Files (x86)\ArcGIS\bin', 'G:\QGIS28\bin\python27.zip', 'G:\QGIS28\apps\Python27\DLLs', 'G:\QGIS28\apps\Python27\lib', 'G:\QGIS28\apps\Python27\lib\plat-win', 'G:\QGIS28\apps\Python27\lib\lib-tk', 'G:\QGIS28\bin', 'G:\QGIS28\apps\Python27', 'G:\QGIS28\apps\Python27\lib\site-packages', 'G:\QGIS28\apps\Python27\lib\site-packages\PIL', 'G:\QGIS28\apps\Python27\lib\site-packages\jinja2-2.7.2-py2.7.egg', 'G:\QGIS28\apps\Python27\lib\site-packages\markupsafe-0.23-py2.7-win32.egg', 'G:\QGIS28\apps\Python27\lib\site-packages\python_dateutil-2.2-py2.7.egg', 'G:\QGIS28\apps\Python27\lib\site-packages\pytz-2014.2-py2.7.egg', 'G:\QGIS28\apps\Python27\lib\site-packages\win32', 'G:\QGIS28\apps\Python27\lib\site-packages\win32\lib', 'G:\QGIS28\apps\Python27\lib\site-packages\Pythonwin', 'G:\QGIS28\apps\Python27\lib\site-packages\Shapely-1.2.18-py2.7-win32.egg', 'G:\QGIS28\apps\Python27\lib\site-packages\six-1.10.0-py2.7.egg', 'G:\QGIS28\apps\Python27\lib\site-packages\wx-2.8-msw-unicode', u'D:/Users/djjones.AD/.qgis2//python', '..', '.qgis2/python/plugins/AIMS_Plugin_threaded', '/opt/eclipse/plugins/org.python.pydev_4.4.0.201510052309/pysrc', 'D:\Users\djjones.AD\.qgis2\python\plugins\intramaps_qgis\ui', 'G:\QGIS28\apps\qgis-ltr\python\plugins\ElectoralAddressPlugin', 'G:\QGIS28\apps\qgis-ltr\python\plugins\fTools\tools', '.qgis2/python/plugins/AIMS_Plugin_threaded', '/opt/eclipse/plugins/org.python.pydev_4.4.0.201510052309/pysrc']

Unrelated issue. Was unable to create any addresses. Now fixed. Successfully created addresses on No 3 Arterial Road.

repo: linz/QGIS-AIMS-Plugin


text:
能够统计观看时长吗，快进的不算。

视频教学项目要求用户必需看够指定时长，才能完成学时！
请问大概要怎么做？

可以实现
继承JZVideoPlayerStandard，复写setProgressAndText函数，这个函数可以取得播放进度。
你可以复写setProgressAndText函数中，累加时间。
复写onComplete函数(表示停止或者播放其他视频)和onAutoComplete函数(表示自动播放完成)，记录下累加的时间

谢谢回复，我尝试下，要是上线了，把代码分享出来

么么哒

谢谢回复，我尝试下，要是上线了，把代码分享出来

你好，请问实现该功能了吗？

继承jzvdstd复写onProgress函数，记录累加播放时长，这个函数在正常播放的时候每秒会被调用好几次。
---原始邮件---
发件人: "seraphzxz87"<notifications@github.com>
发送时间: 2020年3月15日(周日) 晚上7:56
收件人: "lipangit/JiaoZiVideoPlayer"<JiaoZiVideoPlayer@noreply.github.com>;
抄送: "State change"<state_change@noreply.github.com>;"Nathen"<1066666651@qq.com>;
主题: Re: [lipangit/JiaoZiVideoPlayer] 能够统计观看时长吗，快进的不算。 (#1325)
谢谢回复，我尝试下，要是上线了，把代码分享出来
你好，请问实现该功能了吗？
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or unsubscribe.

authors: lipangit lmdiloveu seraphzxz87

repo: lipangit/JiaoZiVideoPlayer


text:
MuseTalk 运行的时候 是不是目前不支持对话呀 运行的命令是 python app.py --model musetalk --transport webrtc

然后打开 http://127.0.0.1:8010/rtcpushchat.html
的时候链接不上服务器 无法进行相关的操作没有视频显示 也不能进行对话
运行http://127.0.0.1:8010/webrtcapi.html 这个是可以按照你提示什么 他读什么 但是不能对话

你是在aududl 上运行的吗

项目里llm那块代码功能没改完，需要自己把前端请求改成chat，然后app.py 里面有llm_response函数，改成自己习惯用的大模型接口

谢谢 我试试

authors: Qiang-Lin anstonjie musexiaoluo

repo: lipku/metahuman-stream


text:
Replace tab character with 4 spaces

Impact

[ ] Bug fix (non-breaking change which fixes expected existing functionality)
[X] Enhancement/New feature (adds functionality without impacting existing logic)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description
There are many places were tab character is used instead of 4 spaces.
This PR was done by a script which replaces all tabs in ascii files to 4 spaces.

Things to be aware of

Things to worry about

Additional Context

I am concerned that merging this will make the git history obscured for these files, a tool that I rely on heavily.

Hi @asashour,
I've been talking to the team about this PR and we all agree we wouldn't like to update git history of a lot of lines of that many files. We plan to start using EditorConfig from IntelliJ anytime soon.
I'll be closing this PR for now. We very appreciate your contribution and desire to enhance Liquibase code every day, we hope to see more PRs coming from you.
Thanks,
Daniel.

authors: MalloD12 StevenMassaro asashour

repo: liquibase/liquibase


text:
Add option to compress unloaded CSV files

LiquiBase does have the option to load compressed CSV data into the database, but no option to store unloaded data into compressed CSV files.
This patch works the following way:

LiquiBase creates separate CSV files, when the dataDir configuration parameter ist set.
With this patch you can add ":gz" to this dataDir configuration parameter to create compressed CSV files in the data directory.

Hi @MarkusBernhardt ,
Would you resolve branch conflicts and consider adding tests for this PR?  Here's some guidance on that below:
Thanks for your pull request!
Here’s what happens next:
A member of the Liquibase team will take a look at your contribution and may suggest:

Changes based on guidelines for PR submission
Additional tests (unit and/or integration)
Provide other feedback, like requesting changes.

The PR will be prioritized according to our internal development and testing capacity.
We’ll let you know when it’s ready to move to the next step or if any changes are needed.

Hello @MarkusBernhardt ! It has been a long time since it has been proposed and we had no activity here - also Liquibase code base changed a lot during this time. I'm closing the PR but feel free to reopen it if you think this would still be required or for any other comments.

authors: MarkusBernhardt filipelautert ro-rah


text:
responsive design

Het design moet responsive worden gemaakt zodat het toegankelijk is voor verschillende devices.
Momenteel:

repo: lisavanmansom/tribeforlife-profilecard


text:
Add GitHub actions to run tests on multiple lisp implementations

Using the clfoundation lisp Docker images, add GitHub actions scripts to run the FiveAM tests. Hoping this will lead to better development.

The history of this pull request is a hot mess because of my need to debug on GitHub itself. So I argue that this should definitely be merged but it must be squash-merged.

Couldn't you squash it from your side?

Couldn't you squash it from your side?

I could, but GitHub would do it for us. And since I can't actually merge it, it doesn't seem worth the trouble.

Not much trouble here, just use git rebase -i e11dee752a8f59065033ef9d60641d4a2f1e8379 from branch github-actions, then replace the first pick with reword and all other pick with fixup, then enter your new commit message, then git commit --amend -C HEAD --reset-author to reset the commit to the current date, then force push to github. :)

@rpgoldman I don't care what Github can do. I want to see a single clean commit.

Ok, I’ll do the rebase then. I’ll get it done in the next hour
--
Robert P. Goldman
On August 5, 2023 at 20:46:45, Stelian Ionescu @.@.)) wrote:

@rpgoldman(https://github.com/rpgoldman) I don't care what Github can do. I want to see a single clean commit.
—
Reply to this email directly, view it on GitHub(https://github.com/lispci/fiveam/pull/93#issuecomment-1666672772), or unsubscribe(https://github.com/notifications/unsubscribe-auth/AAAAZSW5EXTPGYRUAM54U23XT3ZQLANCNFSM6AAAAAATCGMSV4).
You are receiving this because you were mentioned.Message ID: @.***>

OK, it's done.

Testing a merge on my fork, I get this odd error testing on Allegro. This seems to be some weird runner issue, not an issue with anything CL.  Anyone seen this before? Any idea what it means?
A little poking around suggests that maybe this is an issue with the Docker image, but I can't say for sure.

On second thought, git reset --soft e11dee752a8f59065033ef9d60641d4a2f1e8379 then git commit -a would have been much simpler. 😅

OK, this seems to have fixed things. No idea why this went wrong, but this should be good to merge now.

Now that this is squashed, could it be merged, please?

I think this is ready to go now.  Thanks for the improvements.

Looks good. I'll merge it as-is to see how it goes.
One major improvement would be to open an issue with the maintainer of the Docker image and ask to include a QL setup, that would allow users to avoid the boilerplate of build.lisp and test.lisp.

authors: Hexstream rpgoldman sionescu

repo: lispci/fiveam


text:
音量在播放时无法调整

播放时调整音量无反应，必须将音乐暂停再重新播放后新音量才会生效。

已经解决


text:
一个小BUG

win10在桌面歌词点击鼠标右键歌词会跟随鼠标移动，无法取消

mac中同样有这种情况，但是不止是右键。双击也会这样


text:
一个小功能建议

希望能在歌单列表或播放页面增加能够手动选择歌曲播放源的功能（单歌曲，非整体）并且能够记忆用户的选择，希望能够在歌单列表显示每首歌曲的当前播放源

建议mac端开启iCloud同步，并与iOS端共享数据

authors: fndxj jornihe


text:
Use original CWD when opening files in the ipc plugin

Fixes an issue where if you're using the ipc plugin, you can only open a file from the terminal if you are in the same directory as it.

So wait; perhaps I'm just not seeing it; but could we not simply do something like
local dir = os.getenv(PLATFORM == "windows" and "CD" or "PWD")
local path = dir .. PATHSEP .. ARGS[i]

Instead of changing directories? I'm not sure we even need to use system.absolute_path here if we do something like this.

I guess, I just want to avoid missing some edge case(s) that absolute_path handles.

Also, that wouldn't work for something like ~/Repos and ~/Repos/wgpu/Cargo.toml. I'm not even sure what would happen if you just concatenated them and tried to open it.

Oh, good point. Ideally though, we just minimize the amount of global state we have to deal with. How about something like this, then?
local dir = os.getenv(PLATFORM == "Windows" and "CD" or "PWD")
local path = common.home_expand(ARGS[i])
if not common.is_absolute_path(path) then
  path = dir .. PATHSEP .. path
end
path = system.absolute_path(path)

That'll probably work.

Also, that wouldn't work for something like ~/Repos and ~/Repos/wgpu/Cargo.toml. I'm not even sure what would happen if you just concatenated them and tried to open it.

You should never be getting ~ from the command line anyways. It will be expanded by the shell when calling Lite XL.

Oh, I just used ~ as a shorthand so I wouldn't have the write the full thing here.

Then an absolute path check should be enough, right?

Yes.

Could you try with something like:

Get "original" cwd via local original_cwd = system.absolute_path(".") on plugin load, so outside any functions.
Add a function like:local function get_absolute_path(filename)
  if common.is_absolute_path(filename) then
    return common.normalize_path(filename)
  else
    return original_cwd .. PATHSEP .. common.normalize_path(filename)
  end
end

Replace local path = system.absolute_path(ARGS[i]) with the above function local path = get_absolute_path(ARGS[i]).

The problem is that by the time the plugin is loaded, the CWD has changed.

Ah yeah, it's the user module that gets loaded before, alright.

Still, instead of the weird double cwd change, you could still use PWD from the environment variable in my proposed function instead of original_cwd.

authors: DUOLabs333 Guldoman adamharrison

repo: lite-xl/lite-xl-plugins


text:
chore(infrastructure): update dependencies

This PR updates the dependencies. Additionally it handles skipping the beanie tests locally - since we do not install beanie except in CI.

This is currently failing because it downgrades Pydantic to <2

this is what poetry 1.6 does, for some weird reason.

This is currently failing because it downgrades Pydantic to <2

this is what poetry 1.6 does, for some weird reason.

Another poetry pain point..

ok, lets kill it

ok, this is ready to be merged. lets do the PDM and hatch stuff in a later scope. @provinzkraut - please approve and merge if you can.

repo: litestar-org/litestar


text:
🛑 USTC Mirrors (Chinanet) is down

In f0c82c0, USTC Mirrors (Chinanet) (https://chinanet.mirrors.ustc.edu.cn) was down:

HTTP code: 0
Response time: 0 ms

Resolved: USTC Mirrors (Chinanet) is back up in a3247f2.

repo: littlekud/sites-status


text:
🛑 USTC Mirrors is down

In 5339c89, USTC Mirrors (https://mirrors.ustc.edu.cn) was down:

HTTP code: 0
Response time: 0 ms

Resolved: USTC Mirrors is back up in eca29f5.


text:
Change libinput.h to libinput_drv.h

Since the indrv.mk add the path to include directories,
compiler cannot determine which libinput.h to read only by using
#include <libinput.h> and #include "libinput.h"

Good point. Thanks!

authors: embeddedt summershrimp


text:
Function to delete item from lv_list_t

It would be good to have way to delete a list item.

The return value of lv_list add is the button on the list. You can delete it with lv_obj_del(list_element_1)

Of course I can! Thanks.

I updated the online documentation to make it clear.
http://www.gl.littlev.hu/object-types/list-lv_list
(Ctrl + F5 to refresh with cache clear.)

repo: littlevgl/lvgl


text:
Ability to change payment method after selecting check

Say you checked out having selected the option to pay by check, but the due date passed, and you want to pay by stripe now. You should be able to do that.

Also if you say you're going to pay by check but then change your mind for whatever reason. (Maybe you're out of checks.)

authors: melinath nmorduch

repo: littleweaver/django-brambling


text:
10X fastq barcode+index and bam for Trust4

Hi,
I have tcr fastq datasets, and the barcode+umi is 20bp (NCCCAAGGGT+AAAGGTAGTA) instead of the usual 26bp. I wondered if Trust4 could work successfully in this scenario?
Another question is: One of the bam files in the vdj_t folder (from cellranger multi pipeline) is consensus.bam, can Trust4 use this kind of bam file as input?
Thanks

I have tcr fastq datasets, and the barcode+umi is 20bp (NCCCAAGGGT+AAAGGTAGTA) instead of the usual 26bp. I wondered if Trust4 could work successfully in this scenario?

Yes, the format should be fine. You just need to adjust the --readFormat option accordingly.

One of the bam files in the vdj_t folder (from cellranger multi pipeline) is consensus.bam, can Trust4 use this kind of bam file as input?

Is consensus.bam file already the result from cellranger's assembly? While TRUST4 can take it as input, I don't see the need for that. Do you mean you want to reannotate those cellranger's assemblies?

Thanks for your reply. Yes, I just wanted the reannotation of the assemblies.

It might not be directly supported, as the consensus.bam, is not the alignment to the reference genome, so the chromosome IDs will cause some issues. You may need to convert the BAM file to fastq file first.

Thanks a lot. I used the raw data in fastq format and the 26 bp (barcode+format) format and my Trust4 run was successful. The 20 bp format that I earlier indicated was wrong.
Have a good day!


text:
🛑 proships.ru is down

In 7925317, proships.ru (https://proships.ru) was down:

HTTP code: 0
Response time: 0 ms

Resolved: proships.ru is back up in a133434.


text:
🛑 forum.tanki.su is down

In 2c485c5, forum.tanki.su (https://forum.tanki.su) was down:

HTTP code: 0
Response time: 0 ms

Resolved: forum.tanki.su is back up in c2c45d1.