text:
pip install trako fails

    gmake[2]: *** [CMakeFiles/draco_compression_attributes_dec.dir/src/draco/compression/attributes/kd_tree_attributes_decoder.cc.o] Error 1
    gmake[1]: *** [CMakeFiles/draco_compression_attributes_dec.dir/all] Error 2
    gmake: *** [all] Error 2
    Traceback (most recent call last):
      File "/tmp/pip-build-env-gm55xlip/lib/python3.7/site-packages/skbuild/setuptools_wrap.py", line 577, in setup
        cmkr.make(make_args, env=env)
      File "/tmp/pip-build-env-gm55xlip/lib/python3.7/site-packages/skbuild/cmaker.py", line 482, in make
        os.path.abspath(CMAKE_BUILD_DIR())))

    An error occurred while building with CMake.
      Command:
        "cmake" "--build" "." "--target" "install" "--config" "Release" "--"
      Source directory:
        /tmp/pip-install-evsbjt8l/TrakoDracoPy
      Working directory:
        /tmp/pip-install-evsbjt8l/TrakoDracoPy/_skbuild/linux-x86_64-3.7/cmake-build
    Please see CMake's output for more information.

    ----------------------------------------
Command "/tmp/miniconda3_2/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-evsbjt8l/TrakoDracoPy/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-ata12qwi/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-evsbjt8l/TrakoDracoPy/

cc @yrathi

Thanks, @tashrifbillah ! I am not sure about this error but maybe CMake's output helps?

@haehn , please see the log that you asked for:
trako_install.log
By the way, when opening the issue, I didn't realize there was a python setup.py install step after creating the conda environment named TRAKO. Later, I tried that step. The step gives same error as that of pip install trako.
That being said, I have not been able to install trako in the following environment at all:
Linux pnl-z840-2 3.10.0-957.27.2.el7.x86_64 #1 SMP Mon Jul 29 17:46:05 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

pip install trako should just do it (on Ubuntu 18.04 and Mac).. the python setup.py install is only for the developer installation.
Which OS are you running? Which compiler? The log file points to some C++ errors in the Draco library (overloading) so I expect some version mismatch.

And you said it worked with python=3.6?

And you said it worked with python=3.6?

I didn't.
Please see my earlier comment with OS specification. It is a CentOS 7.
You can send me the cmake/gmake build commands. Maybe I can also help in developing a robust installation scheme.

I unfortunately don't know how to build it on CentOS 7.
The pip install trako is a general source distribution and builds on most modern systems.

Which Anaconda version are you using?

The pip install trako is a general source distribution and builds on most modern systems.

Which is why it is wired that it failed on my machine.

Which Anaconda version are you using?

We build all our software from a skeletal miniconda3

I can replicate the issue on a google cloud vm running centos7
Starting from a fresh instance:
$ uname -a
Linux instance-1 3.10.0-1062.18.1.el7.x86_64 #1 SMP Tue Mar 17 23:49:17 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
$ sudo yum -y update && sudo yum -y install python3 python3-pip gcc gcc-c++
$ sudo pip3 install scikit-build
$ sudo pip3 install trako

and I get the same build errors as in the log.  Looks like a TrakoDracoPy level c++ issue with an overloaded method.

From the log I posted:

CMake Error: CMake was unable to find a build program corresponding to "Ninja".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
-- Configuring incomplete, errors occurred!

Doesn't this bother us?

@haehn how can I build just TrakoDracoPy from source if I check out your repo?

@haehn how can I build just TrakoDracoPy from source if I check out your repo?

I am already working on it!

Thanks @tashrifbillah - let us know what you find!  I wouldn't worry about the ninja error since it appears to fall back to makefiles.

@haehn, it appears that https://pypi.org/project/TrakoDracoPy/ installation fails in first place.
With pip install TrakoDracoPy, I get the same error that I reported here.
After I took out TrakoDracoPy from setup.py of this repo:
'six>=1.13.0',
'stringcase>=1.2.0',
# 'TrakoDracoPy',
'typing-extensions>=3.7.4.1',
'typing-inspect>=0.5.0',

python setup.py install of TRAKO works fine.
Based on the above, I believe the error traces its root in https://github.com/seung-lab/draco/ which is what you try to build here.
I can try to build draco from source and try to sort out the issue.

Thanks, @tashrifbillah and @pieper !

Hi @pieper , I would like to share my experiment. Please see the hierarchy below:
Google Draco (succeeds)
   |-Seung-lab Draco (fails)
      |-TrakoDracoPy (fails)

https://github.com/google/draco is the root of all, builds fine

https://github.com/seung-lab/draco, which is a fork of Google Draco doesn't build. I didn't find the output log helpful. Posting it below:
CMakeOutput.log

If @haehn has forked from there, it makes sense that his fork would fail too.

Hi @tashrifbillah - thanks for digging in to this 👍
I can confirm that the google version builds for me and the seung version fails.
But I do not get weird cmake errors like you did.  Maybe because I installed the very latest release.  Here's what I get for the seung version:
INFO|Draco: ignoring empty build type, forcing release mode.
-- The C compiler identification is GNU 4.8.5
-- The CXX compiler identification is GNU 4.8.5
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Checking CXX compiler flag support for: -std=c++11
-- Performing Test HAVE_CXX_FLAG
-- Performing Test HAVE_CXX_FLAG - Success
Checking CXX compiler flag support for: -fPIC
-- Found Git: /usr/bin/git (found version "1.8.3.1")
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pieper/seung/draco-build

But then I get the same compile errors for the method overrides that you saw originally in trako.
Let me see if I can come up with a fix.

Hmm, looks like the seung version stripped out some DRACO_OLD_GCC blocks and did some other reformats.  I didn't see an obvious fix for gcc.
But clang works for building draco - @tashrifbillah would clang be an option for you?
This works:
sudo yum install clang
CC=clang CXX=clang++ cmake ../draco; make

But this fails:
CC=clang CXX=clang++ pip3 install trako

@haehn would you be able to look and see if you can see what's going on in the pip part?
Here's the error message:
    clang -Wno-unused-result -Wsign-compare -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I_skbuild/linux-x86_64-3.6/cmake-install/include/ -I/usr/include/python3.6m -c ./src/TrakoDracoPy.cpp -o _skbuild/linux-x86_64-3.6/setuptools/temp.linux-x86_64-3.6/./src/TrakoDracoPy.o -std=c++11 -O3
    clang: error: unknown argument: '-fstack-protector-strong'
    error: command 'clang' failed with exit status 1

Hi @pieper ,

CC=clang CXX=clang++ cmake ../draco; make
works for seung-lab/draco

But contrary to what you observed, both works for me:
CC=clang CXX=clang++ pip install trako

# and

conda -y create --name TRAKO python=3.6
conda activate TRAKO
cd haen/draco
CC=clang CXX=clang++ python setup.py install

At least the build went fine.
I am going to try with pip install clang because not everyone will have sudo.

Ok - great. We can also maybe try to build against upstream draco rather than Seung's lab.

Hello @haehn , I have been exploring this idea for a while. If you change this line to google/draco and then try pip install . for TrakoDracoPy, google/draco builds fine but the following error appears in the linking stage:
  /tmp/miniconda3-TrDrGoogle/envs/TRAKO/compiler_compat/ld: /tmp/miniconda3-TrDrGoogle/envs/TRAKO/lib/libdraco.a(geometry_metadata.cc.o): relocation R_X86_64_32S against symbol `_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4' can not be used when making a shared object; recompile with -fPIC
  /tmp/miniconda3-TrDrGoogle/envs/TRAKO/compiler_compat/ld: /tmp/miniconda3-TrDrGoogle/envs/TRAKO/lib/libdraco.a(dynamic_integer_points_kd_tree_decoder.cc.o): relocation R_X86_64_32 against `.bss' can not be used when making a shared object; recompile with -fPIC
  /tmp/miniconda3-TrDrGoogle/envs/TRAKO/compiler_compat/ld: /tmp/miniconda3-TrDrGoogle/envs/TRAKO/lib/libdraco.a(float_points_tree_decoder.cc.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
  /tmp/miniconda3-TrDrGoogle/envs/TRAKO/compiler_compat/ld: /tmp/miniconda3-TrDrGoogle/envs/TRAKO/lib/libdraco.a(attributes_decoder.cc.o): relocation R_X86_64_32S against symbol `_ZTVN5draco17AttributesDecoderE' can not be used when making a shared object; recompile with -fPIC
  /tmp/miniconda3-TrDrGoogle/envs/TRAKO/compiler_compat/ld: /tmp/miniconda3-TrDrGoogle/envs/TRAKO/lib/libdraco.a(sequential_attribute_decoder.cc.o): relocation R_X86_64_32S against symbol `_ZTVN5draco26SequentialAttributeDecoderE' can not be used when making a shared object; recompile with -fPIC
  collect2: error: ld returned 1 exit status
  error: command 'g++' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for TrakoDracoPy
Failed to build TrakoDracoPy
ERROR: Could not build wheels for TrakoDracoPy which use PEP 517 and cannot be installed directly

I traced the source of error to this line:

extra_link_args = ['-L{0}'.format(lib_dir)] + library_link_args

If you remove library_link_args, the pip install . works fine.
Given the above, maybe @pieper can help us finding a solution?

@tashrifbillah maybe try adding -fPIC to the end of extra_link_args?

I tried adding here:
extra_compile_args=[
  '-std=c++11','-O3'
],

Again, tried where you said. But same error.

@tashrifbillah are you allowed to use singularity?  We could build a trako image.

Sure, containerization is a way around with clang. But it's not an option on Partners HPC yet, so no.

Do they specifically prohibit singularity or just not provide it?  I was able to install it from source on centos7 on my vm (I don't use ERIS, or at least not for years).

The first requirement is Centos7. Partners has only 3 compute nodes running Centos7. The rest are running Centos6. Maybe this is why they haven't installed it.
On the other hand, I was under the impression that I need sudo to install singularity, no?

You probably need to have some prerequisite packages, but then you can install singularity itself to your own userspace.  Might be able to install the prereqs too I guess.  I actually haven't tried it much but it seems like a possible workaround.
Probably better to just get the link error fixed.  Let's see what @haehn says.

Yes, I agree let's try to get the linking fixed. But I have no idea how to fix it :)

Maybe some of the sysadmins know this error since they are CentOS experts?

Maybe some of the sysadmins know this error since they are CentOS experts?

Except it is not their job to help us develop software, so I wouldn't hold my breath.
The riddle to solve here should be: google/draco builds fine from source while python wrapped source fails.
The problem addressed by this software and given solution sound promising, which is why I am just trying to make it usable by more people. In my experience, most Linux users are RHEL compared to Ubuntu where you may have perfected it. Anyways, when I get some more time, I might be able to find a workaround.

The sysadmins helped me before because of the older CentOS versions so I would ask them. I appreciate you trying to debug - thank you.

Way to reproduce error:
cd TrakoDracoPy
pip install . --no-clean
cd /tmp/build/directory/from/above

gcc -pthread -B /tmp/miniconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I_skbuild/linux-x86_64-3.7/cmake-install/include/ -I/tmp/miniconda3/include/python3.7m -c ./src/TrakoDracoPy.cpp -o _skbuild/linux-x86_64-3.7/setuptools/temp.linux-x86_64-3.7/./src/TrakoDracoPy.o

Notice the already included -fPIC flag in bold. The above runs fine but the next step runs into error:

gcc -pthread -B /tmp/miniconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I_skbuild/linux-x86_64-3.7/cmake-install/include/ -I/tmp/miniconda3/include/python3.7m -c ./src/TrakoDracoPy.cpp -o _skbuild/linux-x86_64-3.7/setuptools/temp.linux-x86_64-3.7/./src/TrakoDracoPy.o

A more proper title of this issue should be:
skbuild.setup() fails in linking libraries to executables which originates in
https://github.com/haehn/TrakoDracoPy/blob/master/setup.py#L58

It looks like it is a known issue originating from skbuild:
https://github.com/scikit-build/scikit-build/pull/121#issuecomment-238642797

Hi @pieper , our @yrathi increased the priority of TRAKO installation on our HPC. Accordingly, I have made this Singularity container and tested on a few cases. It seems to work fine.
Hi @haehn , if PR is welcome, I can integrate my Singularity recipe in a folder with TRACO.

That is awesome @tashrifbillah !  I had no idea that singularity was an option on the cluster, but it sounds like an ideal solution.  Will it satisfy the use case long-term?  If so we don't need to work on the back porting project.

I had no idea that singularity was an option on the cluster

Hi @pieper , it was not until recently. We pushed for its availability and got it.

Will it satisfy the use case long-term? If so we don't need to work on the back porting project.

It should. I agree, we may not need Kitware support for fixing this anymore (not sure if that is what you meant).

That's great @tashrifbillah.  Yes, I was referring to the project we were working on with @jcfr to change the compilation of trako to work with older OS versions.  We can drop that project now.

I was still planing on updating TrakoDracoPy so that wheels are published on all three platforms.

authors: haehn jcfr pieper tashrifbillah

repo: haehn/TRAKO


text:
[Visualization question]: CPU versus GPU

I need a SVG graphics visualizing two processes. One takes an image as input, applies a Gaussian blur and produces a new imagw as output. All that happens on the CPU. The other process needs to transfer the data to GPU, applies the Gaussian blur there, and transfers the image back to the CPU. In the drawing, time goes from top to bottom and box heights represent time. While the Gaussian blur is faster on the GPU, the back and forth transfer together with the Gaussian blur takes longer than the Gaussian blur on the CPU. CPU and GPU are visualized as columns.
git-bob try to achieve this SVG graphics

Ok, git-bob try again with these modifications: make the boxes on the GPU side less high. Add boxes for input and output images. Represent them as data with a silo like shape.

Almost perfect! Just add arrows between the boxes as explained above!
git-bob try again

source: gharchive/issue

repo: haesleinhuepf/git-bob-playground

license_type: permissive

license_source: github-api


text:
sound doesnt work

sound doesn't work anymore, i don't know why

sounds stop when using text editors like: Atom, SublimeText, VsCode.
Maybe that's a priority issue?

here doesnt work on any scenario, just dont makes any sound

authors: ShadyTollipop ryuuzera

license: MIT


text:
Object Browser Filter Not Working

Hello Team,
I am new to vscode.
This may be question already answered but when I am creating filter for one of our systems it is not working and not bringing up source files in vscode. In output logs I see it is generated temp file in ILEDITOR and able to fetch data but not able to write in vscode. There may be some copy command missing.
Any idea how to fix this? This is working for me on another IBM i system. Below are logs -
Anything missing on user profile level?
"DSPFD FILE(PGMSLD/*ALL) TYPE(*ATR) FILEATR(*PF) OUTPUT(*OUTFILE) OUTFILE(ILEDITOR/O_C286XigC)"
{
"code": 0,
"signal": null,
"stdout": "CPF9861: Output file O_C286XIGC created in library ILEDITOR.\nCPF9862: Member O_C286XIGC added to output file O_C286XIGC in library ILEDITOR.\nCPF3030: 3 records added to member O_C286XIGC in file O_C286XIGC in ILEDITOR.",
"stderr": ""
}
LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
SELECT * FROM ILEDITOR.O_C286XigC
{
"code": 0,
"signal": null,
"stdout": "DB2>",
"stderr": ""
}

Hi @sldeshpande08!
See the 'No results from SQL execution' section on this page: https://halcyon-tech.github.io/docs/#/pages/tips/setup?id=no-results-from-sql-execution
That should solve your problem.

@worksofliam It worked :) Thank you so much.

From the response:

From the response: See the 'No results from SQL execution' section on this page: https://halcyon-tech.github.io/docs/#/pages/tips/setup?id=no-results-from-sql-execution   ===  the link no longer works. Does anyone have access to the answer that was provided at this link?

@bigsdavid halcyon-tech has been renamed to codefori, so your link should be https://codefori.github.io/docs/#/pages/tips/setup?id=no-results-from-sql-execution
The documentation link in the extension has been changed to the new URL. and so has the link in the About section of the repository frontpage.
Hope this helps! :smiley:

authors: bigsdavid chrjorgensen sldeshpande08 worksofliam

repo: halcyon-tech/vscode-ibmi


text:
⚠ ClamAV has degraded performance

In c3e3aaa, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 69 ms

Resolved: ClamAV performance has improved in 4beecb1 after 30 minutes.

repo: hamboneZA/caffeine


text:
⚠ ClamAV has degraded performance

In 0d9ec88, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 76 ms

Resolved: ClamAV performance has improved in 2924b57 after 5 minutes.


text:
⚠ ClamAV has degraded performance

In 8027252, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 660 ms

Resolved: ClamAV performance has improved in 0d5ef49.


text:
⚠ ClamAV has degraded performance

In 541ad0f, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 570 ms

Resolved: ClamAV performance has improved in 219d7c7.


text:
⚠ ClamAV has degraded performance

In fecde18, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 278 ms

Resolved: ClamAV performance has improved in 8d80635.


text:
⚠ ClamAV has degraded performance

In ae24e21, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 548 ms

Resolved: ClamAV performance has improved in 14ee233.


text:
⚠ ClamAV has degraded performance

In cddbbca, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 75 ms

Resolved: ClamAV performance has improved in bb34797.


text:
⚠ ClamAV has degraded performance

In 4875a7e, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 71 ms

Resolved: ClamAV performance has improved in 52a226e.


text:
⚠ ClamAV has degraded performance

In 6c23cab, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 195 ms

Resolved: ClamAV performance has improved in a3c3cbe.


text:
⚠ ClamAV has degraded performance

In b139684, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 45 ms

Resolved: ClamAV performance has improved in 259bf72.


text:
⚠ ClamAV has degraded performance

In 6f3e37a, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 329 ms

Resolved: ClamAV performance has improved in 851672c.


text:
⚠ ClamAV has degraded performance

In 5a8152e, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 209 ms

Resolved: ClamAV performance has improved in bc5490e.


text:
Closing socket from client side will cause a crash in the server[tcp_server example]

How to reproduce?
Run the only example(./build/a1.out | tcp_server's code ) in this code base and then run following ruby codes.

def close_from_client_crashs
  x = TCPSocket.new "localhost", 9090
  x.close
end

def close_from_server_is_okay
  x = TCPSocket.new "localhost", 9090
  x.puts "close"
  sleep(2)
  x.close if !x.closed?
end

close_from_server_is_okay
close_from_client_crashs

this will happen on the server side.
======= Backtrace: =========
/lib64/libc.so.6(+0x791fb)[0x7f22db2c01fb]
/lib64/libc.so.6(+0x8288a)[0x7f22db2c988a]
/lib64/libc.so.6(cfree+0x4c)[0x7f22db2cd2bc]
./a1.out(_ZNSt14_Function_base13_Base_managerISt5_BindIFSt7_Mem_fnIMN7libevpp7network12async_socketEFvPciRKSt8functionIFvlEEEEPS5_S6_iS9_EEE10_M_managerERSt9_Any_dataRKSJ_St18_Manager_operation+0x54)[0x409954]
./a1.out(_ZN7libevpp10event_loop14socket_watcher9call_readEv+0x9f)[0x40b17f]
/lib64/libev.so.4(ev_invoke_pending+0x53)[0x7f22dbeb9113]
/lib64/libev.so.4(ev_run+0x966)[0x7f22dbebc706]
./a1.out(main+0x39)[0x407549]
/lib64/libc.so.6(__libc_start_main+0xf1)[0x7f22db267401]
./a1.out(_start+0x2a)[0x4075aa]
======= Memory map: ========
00400000-0040f000 r-xp 00000000 08:09 10359442                           /home/hamid/adro/libevpp/build/a1.out
0060e000-0060f000 r--p 0000e000 08:09 10359442                           /home/hamid/adro/libevpp/build/a1.out
0060f000-00610000 rw-p 0000f000 08:09 10359442                           /home/hamid/adro/libevpp/build/a1.out
01430000-01462000 rw-p 00000000 00:00 0                                  [heap]
7f22d4000000-7f22d4021000 rw-p 00000000 00:00 0
7f22d4021000-7f22d8000000 ---p 00000000 00:00 0
7f22db247000-7f22db404000 r-xp 00000000 08:07 925496                     /usr/lib64/libc-2.24.so
7f22db404000-7f22db603000 ---p 001bd000 08:07 925496                     /usr/lib64/libc-2.24.so
7f22db603000-7f22db607000 r--p 001bc000 08:07 925496                     /usr/lib64/libc-2.24.so
7f22db607000-7f22db609000 rw-p 001c0000 08:07 925496                     /usr/lib64/libc-2.24.so
7f22db609000-7f22db60d000 rw-p 00000000 00:00 0
7f22db60d000-7f22db623000 r-xp 00000000 08:07 925049                     /usr/lib64/libgcc_s-6.3.1-20161221.so.1
7f22db623000-7f22db822000 ---p 00016000 08:07 925049                     /usr/lib64/libgcc_s-6.3.1-20161221.so.1
7f22db822000-7f22db823000 r--p 00015000 08:07 925049                     /usr/lib64/libgcc_s-6.3.1-20161221.so.1
7f22db823000-7f22db824000 rw-p 00016000 08:07 925049                     /usr/lib64/libgcc_s-6.3.1-20161221.so.1
7f22db824000-7f22db92c000 r-xp 00000000 08:07 925632                     /usr/lib64/libm-2.24.so
7f22db92c000-7f22dbb2b000 ---p 00108000 08:07 925632                     /usr/lib64/libm-2.24.so
7f22dbb2b000-7f22dbb2c000 r--p 00107000 08:07 925632                     /usr/lib64/libm-2.24.so
7f22dbb2c000-7f22dbb2d000 rw-p 00108000 08:07 925632                     /usr/lib64/libm-2.24.so
7f22dbb2d000-7f22dbca5000 r-xp 00000000 08:07 926122                     /usr/lib64/libstdc++.so.6.0.22
7f22dbca5000-7f22dbea5000 ---p 00178000 08:07 926122                     /usr/lib64/libstdc++.so.6.0.22
7f22dbea5000-7f22dbeaf000 r--p 00178000 08:07 926122                     /usr/lib64/libstdc++.so.6.0.22
7f22dbeaf000-7f22dbeb1000 rw-p 00182000 08:07 926122                     /usr/lib64/libstdc++.so.6.0.22
7f22dbeb1000-7f22dbeb5000 rw-p 00000000 00:00 0
7f22dbeb5000-7f22dbec2000 r-xp 00000000 08:07 925662                     /usr/lib64/libev.so.4.0.0
7f22dbec2000-7f22dc0c1000 ---p 0000d000 08:07 925662                     /usr/lib64/libev.so.4.0.0
7f22dc0c1000-7f22dc0c2000 r--p 0000c000 08:07 925662                     /usr/lib64/libev.so.4.0.0
7f22dc0c2000-7f22dc0c3000 rw-p 0000d000 08:07 925662                     /usr/lib64/libev.so.4.0.0
7f22dc0c3000-7f22dc0e8000 r-xp 00000000 08:07 928337                     /usr/lib64/ld-2.24.so
7f22dc2c9000-7f22dc2ce000 rw-p 00000000 00:00 0
7f22dc2e5000-7f22dc2e8000 rw-p 00000000 00:00 0
7f22dc2e8000-7f22dc2e9000 r--p 00025000 08:07 928337                     /usr/lib64/ld-2.24.so
7f22dc2e9000-7f22dc2ea000 rw-p 00026000 08:07 928337                     /usr/lib64/ld-2.24.so
7f22dc2ea000-7f22dc2eb000 rw-p 00000000 00:00 0
7ffd7898c000-7ffd789ad000 rw-p 00000000 00:00 0                          [stack]
7ffd789e2000-7ffd789e4000 r--p 00000000 00:00 0                          [vvar]
7ffd789e4000-7ffd789e6000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
[1]    17476 abort (core dumped)  ./a1.out

NOT FIXED yet

The reason this happens:
Is when a socket goes out of scope(and its resources gets deallocated) it also deletes the "socket_watcher" it's carrying around with. that socket_watcher has all the stack frames in its queue for the read(and write) actions. so we also free the stack frames and the crash happens. fuck my mind.

Yeah never let a socket deallocates when you are IN a callback :|

repo: hamidr/libevpp

license: mit

license_source: bigquery


text:
Replace Unit with ()

example:
test :: IO ()
test = do
x <- getLine
return ()

Fixed in 0.1 release

authors: EMQ-YangM emqplus

repo: hamler-lang/hamler


text:
add: footer

add footer in index.html

it should always stick at the bottom
says "Made with ❤"

I am in

Oh Yes :)

resolved https://github.com/hammadsaedi/regex-pro/pull/12

repo: hammadsaedi/regex-pro


text:
Data Class Return Types

I'm using you library for some external stuff and I built some data classes - I wanted to know if you would be open to some PR's to add them into this lib?
I think it would be nice to get structured return data if possible.
Just wondering your thoughts? This is what I was messing with -
Don't want to waste effort if you aren't interested :)

@dataclass
class MonarchAccount:
    """Dataclass to store & parse account data from monarch accounts."""

    id: str
    logo_url: str | None
    name: str
    balance: float
    type: str  # type will be used for icons
    type_name: str  # type name will be used for device
    subtype: str
    subtype_name: str
    data_provider: str
    institution_url: str | None
    institution_name: str | None
    last_update: datetime
    date_created: datetime

    @property
    def is_value_account(self):
        """Return true if we are tracking a value type asset."""
        return self.type in ["real-estate", "vehicle", "valuables", "other_assets"]

    @property
    def is_balance_account(self):
        """Whether to show a balance sensor or a value sensor."""
        return not self.is_value_account

@dataclass
class MonarchCashflow:
    """Cashflow data class."""

    income: float
    expenses: float
    savings: float
    savings_rate: float

@dataclass
class MonarchData:
    """Data class to hold monarch data."""

    account_data: list[MonarchAccount]
    cashflow_summary: MonarchCashflow

def _build_cashflow(data: dict[str, Any]) -> MonarchCashflow:
    """Build a monarch cashflow object."""
    return MonarchCashflow(
        income=data["sumIncome"],
        expenses=data["sumExpense"],
        savings=data["savings"],
        savings_rate=data["savingsRate"],
    )

def _build_monarch_account(data: dict[str, Any]) -> MonarchAccount:
    """Build a monarch account object."""
    institution = data.get("institution") or {}
    credential = data.get("credential") or {}

    return MonarchAccount(
        id=data["id"],
        logo_url=data.get("logoUrl"),
        name=data["displayName"],
        balance=data["currentBalance"],
        type=data["type"]["name"],
        type_name=data["type"]["display"],
        subtype=data["subtype"]["name"],
        subtype_name=data["subtype"]["display"],
        data_provider=credential.get("dataProvider", "Manual entry"),
        last_update=datetime.fromisoformat(data["updatedAt"]),
        date_created=datetime.fromisoformat(data["createdAt"]),
        institution_url=institution.get("url", None),
        institution_name=institution.get("name", "Manual entry"),
    )

Actually I'm going to just make a wrapper lib ...

https://github.com/jeeftor/monarchmoney-typed
Just wrapped what I need for now.

repo: hammem/monarchmoney


text:
API Version

API版本问题如何解决

请参考https://stackoverflow.com/questions/59385378/when-running-docker-compose-i-get-client-version-1-38-is-too-new-maximum-suppo上的问题。


text:
Infinite compile time in Release mode with MSVC

Not a CTRE issue but a compiler one that may be interesting for you to follow: https://developercommunity.visualstudio.com/content/problem/1107230/msvc-version-1670-preview-31-release-build-never-completes-ran-for-12-hours-debug-build-takes-seconds.html
TLDR: With a long regex, Release build with latest MSVC and CTRE 2.8.3 never completes.

Ran into this trying to deal with the bad optional pattern
https://github.com/hanickadot/compile-time-regular-expressions/issues/109
When optional was separate struct I removed forceinline and that pretty much reduced the compile time to nothing, something's definitely a bit off w/ the MSVC compiler though.

I guess this is a duplicate of #91, but unfortunately links in that issue are now wrong - azure removed the old logs.
The regex that I had tried was this:
R"(^([^\t\n\r]++)\t([^\t\n\r]++)\t.*?" "language:([^\t\n\r]++).*?$)";

I'm working on a big refactoring of loops, which will remove a long standing bug and will work differently, hopefully better :)

I realize this is a known issue, and I read some of the previous posts. I guess it has something to do with forced_inline. I just am posting that I also experienced this issue. I saw that disabling the inline optimizations should help. So I'm adding this to my CMakeLists.txt for the app that uses ctre. This works fine in my case. It's just a little app.
if (MSVC)
    target_compile_options(${PROJECT_NAME}_tile_csv_to_map
            PRIVATE /Ob0)
endif ()

https://docs.microsoft.com/en-us/cpp/build/reference/ob-inline-function-expansion?view=msvc-160
Here's the regular expressions I'm using.
(\.([1-3])\.[cC][sS][vV])

(\d+),"?0x([0-9A-F]+)"?,(\d+),(\d+),"?([A-Za-z ]+)"?,(\d+),(\d+),(\d+),(\d+),(\d+),(\d+),(\d+),(\d+),(-?\d+),(-?\d+),(\d+)

This issue is solved by more recent MSVC versions (17.3+)

authors: Andersama Sebanisu bstaletic hanickadot jeanga


text:
Add ordered_match() function

I added an ordered_match() function that can be used to compare targets to all possible matches for a given subject. This relationship is encoded in the ctre::partial_ordering type which can be equal, less, greater or unordered. This can be useful for efficient searching in ordered collections of strings.
Usage:
constexpr auto re = "abc[1-3]"_ctre;
constexpr auto ord = ctre::partial_ordering(re.ordered_match("aaa"));
static_assert(ord == ctre::partial_ordering::less);

I only made a handful of manual tests and I didn't find any target, subject pair where it returns an unexpected result. It sure needs lots of testing though.

What should be ordering of subject "B" against regex "A|C"?

unordered

So for ordered_match I need to check all branches? If I understand it correctly...
if it match the subject => equal
if not and all fails are after (encoded as numbers) a not matched char  => less than
if not and all fails are before (encoded as numbers) a not matched char  => greater than
if it`s neither of above => unordered
??

I rebased the branch on the other refactoring method, now it merges without conflict.
This is how I understand how it works with an example: Suppose we have the target "[a-c]+". By default all three of less, greater or equal are potential return values. By evaluating the stack we eliminate possible return values when it's appropriate. For example if the first character of the subject is 'b' then we can eliminate both greater and less at that point since there are potential matches starting with both a and c. Then when the next character is for example 'x' then the result is unordered since we eliminated both less and greater, and now equal.
I think my approach in some rare cases can return unordered when it could potentially return less or greater. I don't think it's a correctness issue, unordered only means that it's not a match. However when we return less or greater then it's guaranteed that the subject compare less or greater to all possible matches.

source: gharchive/pull-request


text:
执行open_small.py时报'utf-8' codec can't decode byte 0xb4 in position 0: invalid start byte

作者大大，本人小白在尝试使用hanlp2.1执行train的demo时，一直卡在导入from hanlp.datasets.ner.msra import 导入数据这关，然后也搜索了您论坛上的解决方案，如下设置

但还是一直执行后报如下错误

请问是什么原因呢，先感谢大佬了

[x] I've completed this form and searched the web for solutions.

Hi, please refer to the doc: https://github.com/hankcs/HanLP/blob/2ab077001c7a08d7a9ac51e77d9b8603fdb16fa1/docs/api/hanlp/datasets/index.md#L12

authors: hankcs hiking-coder

repo: hankcs/HanLP


text:
Hanlp2.x版本的本地调用（依存句法分析）问题

关于依存句法分析，我在本地尝试了不同的 HanLP 2.x 版本，包括单任务和多任务的不同版本，然而，我发现本地部署的输出结果与在线演示存在较大差异。我想了解一下，在线版本对应的是本地部署的哪一种版本或搭配？另外，我希望得到一些建议，以便通过本地部署实现与在线演示相同的效果。
谢谢！

【自动回复】您好，感谢反馈。
由于未按要求填写，本issue被自动关闭，将在一小时内自动删除。
如果您提的是bug或feature request，请按issue模板认真修改，然后耐心等待下周末处理。
否则，咨询类的问题GitHub概不受理。请先搜索一下，99.9%的问题已经反复回答过了，人类的本质是复读机。如果您确信您提了个新问题，那么欢迎写清楚前因后果发在论坛而不是GitHub上。
开源项目维护不易，HanLP用户以十万计，而主要维护者只有我一人。我有自己的full-time研究工作，只能在周末受理友好的提问，造成不便还望海涵。

authors: PKQZPC hankcs


text:
SpannableString support

Hi!
This library is very good, but when if I use SpannableString for different character color (ForegroundColorSpan) that doesn't work fully. Keep all character the original state. No available to change. Pls help me. By the way if I use AbsoluteSizeSpan also bad.
We are waiting for your reply, thanks!

@hDusan  Animation effects to text, not really textview , so it do not support SpannableString

authors: hDusan hanks-zyh

repo: hanks-zyh/HTextView


text:
Code quality fix - Constant names should comply with a naming convention.

This pull request is focused on resolving occurrences of Sonar rule
squid:S00115 - Constant names should comply with a naming convention.
You can find more information about the issue here:
https://dev.eclipse.org/sonar/rules/show/squid:S00115
Please let me know if you have any questions.
Faisal Hameed

@faisal-hameed I used lower case  for the  Type definition has another purpose, in the JSP page, I used it combined to the alert- prefix for css.
eg.  Created a AlertMessage, Type.info
In the page, there is a alert-info css will be applied in the message panel.
Please read the template.jsp code in the webapp folder.

For compatibility, you can define the enum as "
 Type{
     INFO("info"), WARN("warning");

    String type;
    class Type(String type){this.type= type;}
     public String toString(){
         return this.type;
     }
 }

authors: faisal-hameed hantsy


text:
Quantize multiplier

@1033Forest said in #5:

I am thinking of more quantizations based on speed mod.
Halved noteskin, makes it look like you are playing at double BPM.
Thirdsed: Regular quantizations, but removes triplet colors (12th=red, 24th=blue, 48th=yellow). This will make it look like playing at 3x BPM.
Quartered: 4th-16th red, 24th and 48th green, 32nd blue, 64th yellow. Looks like playing at 4x BPM.

This feature might not compatible with #7.

https://github.com/hanubeki/noteskin-hanubeki/commit/88066810fd1a0389a84fe157dc87ceda8112e8b8
https://github.com/hanubeki/noteskin-hanubeki/commit/f76b7e365576295c2d17567dc804feeb990151da

Close this after you verified behavior, @1033Forest.

https://github.com/hanubeki/noteskin-hanubeki/commit/e4bff702591b9b9e639e7233f30a7b9fc0c7a793

Another quantize multiplier: Semi Halved
Same as halved but leaves 24ths and 48ths intact
4th = 4th
8th = 4th
12th = 12th
16th = 8th
24th = 24th
32nd = 16th
48th = 48th
64th = 32nd
96th = 96th
192nd = 192nd

#22

repo: hanubeki/noteskin-hanubeki


text:
'mps' NotImpementedError' - information FYI

On a Mac M2 I get the error message:

NotImplementedError: Output channels > 65536 not supported at the MPS device. As a temporary fix, you can set the environment variable PYTORCH_ENABLE_MPS_FALLBACK=1 to use the CPU as a fallback for this op. WARNING: this will be slower than running natively on MPS.

According to the PyTorch site this message is incorrect; fallback also errors . See:https://github.com/pytorch/pytorch/issues/134416)
https://github.com/pytorch/pytorch/issues/129207
According to the latter they

have tracked this down to a kernel side issue in MPS which will take longer to fix (as at Nov 2024)

Closed because issues was accidentally duplicated


text:
[Question] How to load local model files

Question
I have dowloaded model files to local hard drive. I set the model_path value pointing to the local model folder, but seems the model worker still trying to download model files from huggingface.

@deadpipe I ran the model worker with below command:
python3 -m llava.serve.model_worker --port 40000 --model-path /opt/models/llava/llava-v1.6-34b --controller http://localhost:10000 --worker http://localhost:40000 --load-8bit
the /opt/models/llava/llava-v1.6-34b is the local folder on server which contains the Llava-1.6-34b model files.

@thiner  Okay and what error are you getting?

@thiner  I earlier tried to load files from a different directory and i was facing a similar issue
Try creating a folder "liuhaotian" within the LLaVA directory and keep the model "llava/llava-v1.6-34b" inside the folder
then run this command -
python3 -m llava.serve.model_worker --port 40000 --model-path liuhaotian/llava-v1.6-34b --controller http://localhost:10000 --worker http://localhost:40000 --load-8bit

authors: deadpipe thiner

repo: haotian-liu/LLaVA


text:
When matching, "OSStatus 200500" error is returned

Hello, I started to run this existing library on an android application. But I have some problems.
The first one works for android API 28 and above, this library does not work for lower versions.
Second, I developed an application in API 28 version. I can show myself as bridge in IOS Homekit application. but
When I match, enter the password and click the next button, I get an "OSStatus 200500" error.

I solved this problem！
I get "OSStatus 200500" because this exception:
W/i*.g*.h*.s*.i*.c*.Http*: Could not handle request     javax.json.JsonException: Provider org.glassfish.json.JsonProviderImpl not found         at javax.json.spi.JsonProvider.provider(JsonProvider.java:97)         at javax.json.Json.createArrayBuilder(Json.java:257)         at io.github.hapjava.server.impl.json.AccessoryController.listing(AccessoryController.java:31)         at io.github.hapjava.server.impl.connections.HttpSession.handleAuthenticatedRequest(HttpSession.java:74)         at io.github.hapjava.server.impl.connections.ConnectionImpl.doHandleRequest(ConnectionImpl.java:55)         at io.github.hapjava.server.impl.connections.ConnectionImpl.handleRequest(ConnectionImpl.java:49)         at io.github.hapjava.server.impl.http.impl.AccessoryHandler.channelRead0(AccessoryHandler.java:52)         at io.github.hapjava.server.impl.http.impl.AccessoryHandler.channelRead0(AccessoryHandler.java:17)         at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)         at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)         at io.netty.channel.AbstractChannelHandlerContext.access$600(AbstractChannelHandlerContext.java:56)         at io.netty.channel.AbstractChannelHandlerContext$7.run(AbstractChannelHandlerContext.java:365)         at io.netty.util.concurrent.DefaultEventExecutor.run(DefaultEventExecutor.java:66)         at io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1044)         at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)         at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)         at java.lang.Thread.run(Thread.java:764)
I check my project and find my gradle configuration is that:
implementation files('libs\\slf4j-android-1.6.1-RC1.jar') // hap-java     implementation ('io.github.hap-java:hap:2.0.0') {         exclude group:'org.glassfish', module: 'javax.json'         exclude group:'org.zeromq', module: 'curve25519-java'         exclude group:'org.slf4j', module: 'slf4j-api'     }
fix the first exclude:
implementation files('libs\\slf4j-android-1.6.1-RC1.jar') // hap-java     implementation ('io.github.hap-java:hap:2.0.0') {         exclude group:'javax.json', module: 'javax.json-api'         exclude group:'org.zeromq', module: 'curve25519-java'         exclude group:'org.slf4j', module: 'slf4j-api'     }
by the way, slf4j is not work good in Android,so this problem is too hard to find reason,util I find slf4j for android, so if we want run this project in Android, recommend replace slf4j.

I solved this problem！
My device get "OSStatus 200500" because this exception:
W/i*.g*.h*.s*.i*.c*.Http*: Could not handle request
    javax.json.JsonException: Provider org.glassfish.json.JsonProviderImpl not found
        at javax.json.spi.JsonProvider.provider(JsonProvider.java:97)
        at javax.json.Json.createArrayBuilder(Json.java:257)
        at io.github.hapjava.server.impl.json.AccessoryController.listing(AccessoryController.java:31)
        at io.github.hapjava.server.impl.connections.HttpSession.handleAuthenticatedRequest(HttpSession.java:74)
        at io.github.hapjava.server.impl.connections.ConnectionImpl.doHandleRequest(ConnectionImpl.java:55)
        at io.github.hapjava.server.impl.connections.ConnectionImpl.handleRequest(ConnectionImpl.java:49)
        at io.github.hapjava.server.impl.http.impl.AccessoryHandler.channelRead0(AccessoryHandler.java:52)
        at io.github.hapjava.server.impl.http.impl.AccessoryHandler.channelRead0(AccessoryHandler.java:17)
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
        at io.netty.channel.AbstractChannelHandlerContext.access$600(AbstractChannelHandlerContext.java:56)
        at io.netty.channel.AbstractChannelHandlerContext$7.run(AbstractChannelHandlerContext.java:365)
        at io.netty.util.concurrent.DefaultEventExecutor.run(DefaultEventExecutor.java:66)
        at io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1044)
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.lang.Thread.run(Thread.java:764)

I check my project and find my gradle configuration is that:
implementation files('libs\\slf4j-android-1.6.1-RC1.jar')
    // hap-java
    implementation ('io.github.hap-java:hap:2.0.0') {
        exclude group:'org.glassfish', module: 'javax.json'
        exclude group:'org.zeromq', module: 'curve25519-java'
        exclude group:'org.slf4j', module: 'slf4j-api'
    }
    implementation "com.google.zxing:core:3.3.0"

fix the first exclude:
implementation files('libs\\slf4j-android-1.6.1-RC1.jar')
    // hap-java
    implementation ('io.github.hap-java:hap:2.0.0') {
        exclude group:'javax.json', module: 'javax.json-api'
        exclude group:'org.zeromq', module: 'curve25519-java'
        exclude group:'org.slf4j', module: 'slf4j-api'
    }
    implementation "com.google.zxing:core:3.3.0"

by the way, slf4j is not work good in Android,so this problem is too hard to find reason,util I find slf4j for android, so if we want run this project in Android, recommend replace slf4j.

repo: hap-java/HAP-Java


text:
The sneak key (shift key) is invalid

If you hold down the sneak key (shift key) and walk forward at the border, you will fall into the void

在mc的早期版本也是一样， 你可以在github上issue一下就可以了

From: Student.Huang @.>
Sent: Wednesday, April 17, 2024 8:42 PM
To: happyleibniz/Minecraft_python_Edition @.>
Cc: Subscribed @.***>
Subject: [happyleibniz/Minecraft_python_Edition] The sneak key (shift key) is invalid (Issue #4)
If you hold down the sneak key (shift key) and walk forward at the border, you will fall into the void
―
Reply to this email directly, view it on GitHubhttps://github.com/happyleibniz/Minecraft_python_Edition/issues/4, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A5CFXZJIBAM74AUUXDUPNW3Y5ZU2TAVCNFSM6AAAAABGLHWUU6VHI2DSMVQWIX3LMV43ASLTON2WKOZSGI2DQMRQGIYDEOI.
You are receiving this because you are subscribed to this thread.Message ID: @.***>


text:
gotealeaf.com/books/git

http://www.gotealeaf.com/books/git/read/introduction#gettingstarted
开头就很让人痛快。

let's take a step back and quickly talk about what code source control is

对啊，我的书里也应该有

Local vs. Remote

直接上来就抽象的开始聊了，这个不适合我的观众，一些没有用过版本控制的人们。

已经阅读到了 http://www.gotealeaf.com/books/git/read/branching
还是吸取了很多精华内容的。

http://www.gotealeaf.com/books/git/read/github 已经阅读完毕。

已经看完。

repo: happypeter/gitbeijing


text:
Improved argument handling

Added check of required arguments.
Changed to return error because it uses RunE.
Added support for multiple arguments.

If you don't need multiple arguments, please remove them.

@all-contributors please add @noborus for code

authors: harakeishi noborus

repo: harakeishi/whris


text:
Support for multiple scopes

Hi,
Thank you for this awesome code.
Would you consider adding support for multiple search scope (for example, via LDAPSearchUnion)?

Hi
Thanks for your feedback.
Do you mean multiple search scope for authentication or authorization?
Authentication (AUTH_LDAP_USER_SEARCH) is not planned, because our organisation does not have multiple places where the users are. Therefore we are not able to test it. Nevertheless, a similar approach as used in AUTH_LDAP_USER_PROFILE  or AUTH_LDAP_USER_TO_BUSINESS_UNIT  (where you can specify multiple groups as a tuple) should be easy to implement.
For authorization (AUTH_LDAP_USER_PROFILE  and AUTH_LDAP_USER_TO_BUSINESS_UNIT ) I already mentioned it. It is possible to specify multiple AD/LDAP groups as a tuple.

Hi Haribert,
I mean something like this:
AUTH_LDAP_USER_SEARCH = ('DC=eu,DC=company,DC=corp','DC=us,DC=company,DC=corp')
With LDAPSearchUnion, this would look like this:
AUTH_LDAP_USER_SEARCH = LDAPSearchUnion(
    LDAPSearch("DC=eu,DC=company,DC=corp", ldap.SCOPE_SUBTREE, "(sAMAccountName=%s)"),
    LDAPSearch("DC=us,DC=company,DC=corp", ldap.SCOPE_SUBTREE, "(sAMAccountName=%s)"),
)

This would in theory allow you to specify a group at AUTH_LDAP_USER_PROFILE with users from multiple domains.
I understand if this is not in the scope of your project, I just thought I'd ask in case it is something trivial for you to add.

@msiostrom Can you please test my branch dev_1.0.1. I do not have the infrastructure to test several groups.
I just implemented it the way I think it should work.  If you tell me, that it is working, I can merge it to the master branch. Afterwards, the code will be moved to the sal repository.

@haribert Apologies for my delayed response.
Nice work! I think you are really close to making it work!
I noticed an issue with specifying AUTH_LDAP_USER_DOMAIN = 'company.com'
When a user from the xx subdomain signs in, you need to set this variable to AUTH_LDAP_USER_DOMAIN = 'xx.company.com'. If you don't do this, the connector will try to sign in as username@company.com instead of username@ee.company.com which will fail.
One simple way to solve this would be to allow an array to be specified at AUTH_LDAP_USER_DOMAIN and loop trough the domains until user gets authenticated.

@haribert I'm unfortunatelly not able to make it work. Maybe we should skip this feature in favour of your original code so you can move on with more important things :)

ok, I reverted the commits.
Can I close this issue?

Yes please

authors: haribert msiostrom

repo: haribert/sal-ActiveDirectory


text:
doc: [CDS-69091]: Update harness-git-ops-application-set-tutorial for optional params

Ignore optional parameters with empty value in the Update Release Repo Step for GitOps pipelines
Screenshot:

Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the maintainers.
What Type of PR is This?

[ ] Issue
[x] Feature
[ ] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[ ] Tested Locally
[x] Optional Screen Shoot.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app

review link : https://648279d5635923008695f69d--harness-developer.netlify.app/docs/continuous-delivery/gitops/harness-git-ops-application-set-tutorial#review-execution-steps

repo: harness/developer-hub


text:
[PL-47074] Patch for PL 1.24.7 Release Notes

PL-47074
Adding two RN Summary as requested by engineers:
adding PL-46486 as requested by Sahiba
adding PL-46492 as requested by Nataraja
https://harness.atlassian.net/browse/PL-46485
https://harness.atlassian.net/browse/PL-46492
What Type of PR is This?

[ ] Issue
[ ] Feature
[ ] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[x] Tested Locally
[ ] Optional Screenshot.

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

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65cdbcaa31cf517cee58390e--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65cde2fa31cf51a37e583bd8--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65cde5447769f29d490d14a7--harness-developer.netlify.app

@saifeemustafaqharness Please add a RN for https://harness.atlassian.net/browse/PL-43686

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65ce1e65366ab119811bc2cd--harness-developer.netlify.app

authors: CLAassistant bot-gitexp-user brian-f-harness saifeemustafaqharness


text:
Method does not exist in the parent class

Hi!
I use the last version of master, but the code below involves the error:
Method "f1" does not exist in the parent class. (called using 'super()')
My code:
var A = Class({
    'public function f1': function() {
        console.log("A.f1");
    },
    'public function f2': function() {
        console.log("A.f2");
        this.f1();
    }
});
var B = Class({'extends': A}, {
    'public function f3': function() {
        this.f2();
    }
});

var b = new B();
b.f3();

Is it a JOII bug?

That's defo a bug. And a rather critical one as well.
I'm on it!

So, I managed to fix your specific usecase with the following code:
// PrototypeBuilder.js @ line 248
prototype['super'] = function(method_name) {
    // FIXME: BUG. InheritanceTest (115:12) is BROKEN!
    // FIXME: BUG: WARNING: This code totally messes up cross-scoping.

    var args         = Array.prototype.slice.call(arguments, 1),
        method       = this.__joii__.parent[method_name],
        curr_scope   = this,
        target_scope = method.target_scope || this,
        parent_scope = this.__joii__.parent;

    var applyProps = function () {
        if (typeof curr_scope[method_name] !== 'undefined') {
            curr_scope[method_name].target_scope = target_scope;
            curr_scope[method_name].parent_scope = parent_scope;
        }
        curr_scope = parent_scope;
        if (typeof parent_scope !== 'undefined') {
            parent_scope = parent_scope.__joii__.parent;
            applyProps();
        }
    };
    applyProps();

    if (typeof method.call_index !== 'undefined') {
        method = method.parent_scope[method_name];
    }

    method.call_index = 0;

    var r = method.apply(method.target_scope, args);

    // Clean up...
    delete method.target_scope;
    delete method.parent_scope;
    delete method.call_index;
    return r;
};

However, as you might be able to notice, the following problem occurs:
Because the functions need to be called in the parent scope, any values assigned to properties are not assigned to the actual class but to the inherited parents. In order to call the super() method from a parent scope, it needs to be able to go deeper in the inheritance chain. Otherwise you'll be stuck in recursion.
To illustrate the issue, the following example breaks with this "fix":
    var A = JOII.ClassBuilder({}, {a: 1});
    var B = JOII.ClassBuilder({'extends': A}, {
        setA: function (value) {
            // When executing super(setA) from this class, the context of the generated
            // setter will have 'this' assigned to the scope of class 'A' instead
            // of the late static binding class, which in this case is either 'B' or 'C'.
            this['super']('setA', value);
        }
    });
    var C = JOII.ClassBuilder({'extends': B}, {});

    var b = new B();
    b.setA(2);

    var c = new C();
    c.setA(10);

    // b.getA() returns the value of B.a, which is expected. But super(setA) modified
    // A.a instead of B.a. The same applies to c.getA().
    console.log('b: Expected 2, got ', b.getA());
    console.log('c: Expected 10, got ', c.getA());

There's a real danger here. Swapping the instantiation of b and c will produce the expected results, indicating the scoping gets messed up between 2 completely unrelated classes.
If you, or anyone else, has a fix for this, please let me know and I'll personally donate 50 euros to your paypal account ;)

Verified & approvied. Nicely done :)

authors: haroldiedema psch

repo: haroldiedema/joii


text:
Feature/improve slicing

This PR solves the problem of currently having a too specific way for identifying the scope of the testing.
What we need is a general approach for finding all the modified functions and their callers, without having to consider each kind of refactoring separately.
It also tries to implement a better API for the diff output, providing a simpler semantic layer for the domain of diffs.

I have some difficulties when I'm trying to pair each hunk with the function that changed in it.
It usually works, but there are corner cases where it fails to find the right function.
For example, consider this change:
2707 fatom(R) ->                                       2707 fatom(R) ->
2708     list_to_atom(flatten(xref:format_error(R))).  2708     list_to_atom(fstring(R)).
2709                                                   2709
....                                                   2710 fstring(R) ->
....                                                   2711     flatten(xref:format_error(R)).
....                                                   2712
2710 start(Server) ->                                  2713 start(Server) ->
2711     ?line case xref:start(Server) of              2714     ?line case xref:start(Server) of

If these were two different hunks, then it would correctly find that fatom was modified, and fstring was created, because it had no counterpart in the original code.
Unfortunately they form a single hunk, so my current implementation incorrectly assumes that fatom was renamed to fstring.
This is because in the case of modified functions, I'm taking the last line of the hunk, and I search for the first function signature before it, which finds fstring in the refactored code, which is not the right function.
I was considering other options for finding the right function signature, but it's easy to come up with counterexamples (e.g.: what if I start searching backwards from the first line of the hunk? But then it could be that there is a new comment/newline/anything before the refactored function, and it will find the previous one).
Do you have an idea, what could be the right approach here?

My approach would be to do this:

find all the functions in each hunk
test all of them

I think this should do the right thing. I don't think it's too difficult to find the lines spanned by each function, making the reasonable assumption that all functions take complete lines, and there's no overlapping.

My approach would be to do this:

find all the functions in each hunk
test all of them

I think this should do the right thing. I don't think it's too difficult to find the lines spanned by each function, making the reasonable assumption that all functions take complete lines, and there's no overlapping.

I agree. You need to project the hunk back to the original files and that should outline all functions involved in the change. Admittedly, coupling needs some heuristics, but the position in the diff might not work best in all cases - I think matching the names or the initial lines of the functions may work better in this particular case.

After trying several approaches to get the function boundaries, I still haven't been able to come up with a solution that's robust enough for all cases.
The regexp based approach is just too crude, there are too many ways that it can go wrong.
Parsing the file with the epp module expands macros, which on the one hand needs extra information, like where can it find the include files, that makes it more complicated to use, but more importantly, it can mess up the boundaries by shifting positions while expanding.
Using the erlang lexer and parser results in error messages, because it cannot parse the macros.
@daniel-horpacsi had the idea to use the epp_dodger module, which can parse the file by bypassing the macro expansions, which in theory should work, but  it still gives me errors for more complex macro definitions.
I found an open issue about this from 2019: https://github.com/erlang/otp/issues/4056.
But even if it worked, the erlang AST, used by the erl_syntax module, doesn't contain all the tokens that the original source has.
E.g.: in the case of case expressions, it leaves out the end token, which is usually on its own line.
Also the dots are emitted, which can be on their own lines too.
So for example, if someone modified a function that had an end on its last line, by adding some new lines of code at the end, I wouldn't be able to say that it changed that particular function, because it would be outside the recognized boundary.
Do you think it would be worthwhile to try salvaging this solution by adding a bunch of heuristics in cases like these, or I should look at the problem in an other way?

I agree with you on avoiding regex-based function localization. Also, macro expansion is to be avoided at this phase.

@daniel-horpacsi had the idea to use the epp_dodger module, which can parse the file by bypassing the macro expansions, which in theory should work, but it still gives me errors for more complex macro definitions.
I found an open issue about this from 2019: erlang/otp#4056.

From the official module description:

This module tokenises and parses most Erlang source code without expanding preprocessor directives and macro applications, as long as these are syntactically "well-behaved".

That is, macros that are not well-behaved (i.e. do not expand to syntactically complete code fragments) will not be handled properly. For now, you may just assume that the macros in the code under check are well-behaved (and if not, simply correct them by hand).

But even if it worked, the erlang AST, used by the erl_syntax module, doesn't contain all the tokens that the original source has.

Are you sure this disallows determining the last line of the function definition? Isn't it attached to a larger syntactic element as a meta-info? Well, if not, in the worst case you may assume that the last line of the function is the predecessor of the first line of the next one (or the EOF).

Are you sure this disallows determining the last line of the function definition? Isn't it attached to a larger syntactic element as a meta-info? Well, if not, in the worst case you may assume that the last line of the function is the predecessor of the first line of the next one (or the EOF).

As far as I could tell, this information is lost.
Consider this function:
is_function_sig(Line) ->
    % Regexp for finding top-level function definitions
    case re:run(Line, "^[^-[:space:]%].*\\(.*?\\).*", []) of
        nomatch -> false;
        _       -> true
    end.

It starts on line 66 and its last line is 71.
Now if I look at the AST, I can't tell if it had anything to do with line 71:
{tree,function,
      {attr,66,[],none},
      {func,{tree,atom,{attr,66,[],none},is_function_sig},
            [{tree,clause,
                   {attr,66,[],none},
                   {clause,[{var,66,'Line'}],
                           none,
                           [{tree,case_expr,
                                  {attr,68,[],none},
                                  {case_expr,{tree,application,
                                                   {attr,68,[],none},
                                                   {application,{tree,module_qualifier,
                                                                      {attr,68,[],none},
                                                                      {module_qualifier,{atom,68,re},{atom,68,run}}},
                                                                [{var,68,'Line'},
                                                                 {string,68,"^[^-[:space:]%].*\\(.*?\\).*"},
                                                                 {nil,68}]}},
                                             [{tree,clause,
                                                    {attr,69,[],none},
                                                    {clause,[{atom,69,nomatch}],none,[{atom,69,false}]}},
                                              {tree,clause,
                                                    {attr,70,[],none},
                                                    {clause,[{var,70,'_'}],none,[{atom,70,true}]}}]}}]}}]}}

My best idea was to just look at all the forms that behave similarly, and correct the line number manually, but even then it can be that I have a bunch of comments between, which would result in an incorrect ending line number.

Now if I look at the AST, I can't tell if it had anything to do with line 71:

I see your point. Unfortunately, the end token is left out in the erl_syntax tree, indicating that it is not a concrete syntax tree (i.e. it abstracts away some details about the concrete tokens). I see two possible approaches to mitigating this issue: (1) you follow my previous advice and simply use the beginning position of every function as the ending position of the preceding function, or (2) you manipulate the token stream as a preprocessing step and inject tokens that are not discarded by the parser (e.g. you may add an Erlang attribute after each full stop). I don't like this latter but it may give more accurate results (for example, when there are comments after the function, as you mentioned).
PS: You are using the quick parse option from epp_dodger, right?

repo: harp-project/wrangler-equiv-checking


text:
Wasm

I think it will work - albeit slowly

Merging this as I have had enough for now.
Things to do before webassembly works as part of the web app:

Run in webworker
Get estimate of progress out
Hook up to UI.
(Worry about performance.)

repo: harrysarson/primeimage


text:
Harshasi/final runbook

Added, data, runbook and config for the final runbook.
Had to change the command that stores the results via h5py. Earlier command took an hour for the final_runbook. Now it is under a minute with a small change.
I am uploading the GT files, and will test the update later today. Will also validate the end to end run a couple of different machines before we merge.

https://github.com/harsha-simhadri/big-ann-benchmarks/issues/174

repo: harsha-simhadri/big-ann-benchmarks


text:
abc

asd

repo: haruki-kino/github-slideshow


text:
Add gas cache logic to release 0.1

Description:
Release 0.1 is missing cache logic for gas calls.

Add cache for feeHistory
Add cahce for gasPrice

Related issue(s):
Related to #174
Notes for reviewer:

Checklist

[ ] Documented (Code comments, README, etc.)
[ ] Tested (unit, integration, etc.)

Codecov Report

Merging #182 (43d4efd) into release/0.1 (d145b0b) will decrease coverage by 0.77%.
The diff coverage is 30.76%.

:exclamation: Current head 43d4efd differs from pull request most recent head b7b669e. Consider uploading reports for the commit b7b669e to get more accurate results

@@               Coverage Diff               @@
##           release/0.1     #182      +/-   ##
===============================================
- Coverage        66.46%   65.68%   -0.78%
===============================================
  Files                4        5       +1
  Lines              492      510      +18
  Branches            66       68       +2
===============================================
+ Hits               327      335       +8
- Misses             148      158      +10
  Partials            17       17

Impacted Files
Coverage Δ

packages/relay/src/lib/eth.ts
50.00% <10.00%> (-1.43%)
:arrow_down:

packages/relay/src/lib/constants.ts
100.00% <100.00%> (ø)

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 d145b0b...b7b669e. Read the comment docs.

authors: Nana-EC codecov-commenter

repo: hashgraph/hedera-json-rpc-relay


text:
Enable sidecar file for mirror node

Description:
Enable sidecar file for mirror node
Related issue(s):
Fixes #157
Notes for reviewer:
Checklist

[ ] Documented (Code comments, README, etc.)
[ ] Tested (unit, integration, etc.)

Completed by https://github.com/hashgraph/hedera-local-node/pull/168

repo: hashgraph/hedera-local-node


text:
[Solidity Assembly Yul support] memory coverage

Problem
The Hedera network supports smart contracts as part of EVM equivalence.
Occasionally items have shown up that surfaced inequivalence at the language or opcode layer.
Solidity supports inline assembly usage of the Yul language.
However, it may not be clear what coverage the Hedera Smart Contract Service 2.0 has for them
Solution

Add solidity contract example that utilize memory-coverage options for assembly using Yul

Add a contract under contracts/yul/memory-coverage and tests under respective directories

Ref: https://docs.soliditylang.org/en/latest/yul.html#evm-dialect
Alternatives
No response

duplicated #520

repo: hashgraph/hedera-smart-contracts


text:
Upgrading private vault cluster

I built a HA, private vault/consul cluster based on vault-cluster-private example 2 years ago.
Now I want to update both  private AMI and vault/consul version.
What should I do to upgrade and keep everything safe?

Figure out what version of this repo you used: look for version = "xxx" or ?ref=xxx.
Go to the release notes.
Follow the upgrade instructions in each release.

@brikis98 Thanks!

repo: hashicorp/terraform-aws-vault


text:
Getting started documentation

I wanted to quickly write an example of a handler in an effect system and I have been recommending effectful, so I thought why not use that in the example.
So, I opened up Hackage and went to the effectful package. The first problem I noticed is that it has no documentation for the Effectful module. That's unfortunate, but the description does say that you can go to the effectful-core package to view that documentation.
There I find a nice introduction which almost has what I need:

The library provides:

The Eff monad that tracks effects at the type level. This is going to be the main monad of your application.
A set of predefined, basic effects such as Error, Reader, State and Writer.
Utilities for defining new effects and interpreting them, possibly in terms of already existing ones.

That last bullet point is exactly what I need, but alas, it does not link to further explanation.
That hackage documentation seems like a dead end.
At this point I backtracked and went to the readme here on GitHub, but the only relevant part seems to be the links to examples:

For the examples see the Introduction sections of Effectful.Dispatch.Dynamic and Effectful.Dispatch.Static.

I guess I could look at that, but I'd have to make a choice between Dynamic or Static effects which puts me off.
So, I'd suggest:

Add links in that first "The library provides:" section of the main documentation.
Choose either Dynamic or Static to be the default and first introduction and write a focused "getting started" documentation for that.

But I'm open for other ideas.

That last bullet point is exactly what I need, but alas, it does not link to further explanation.

Isn't what you want above the bullet list? :thinking:

Choose either Dynamic or Static to be the default and first introduction and write a focused "getting started" documentation for that.

Yeah, I can add a note that when in doubt, start with dynamic dispatch. Especially since there will be some upcoming changes to Effectful.Labeled that make it very easy/efficient to work with dynamic labeled effects.

I've put a PR that should fix this. @noughtmare can you have a look?

authors: arybczak noughtmare

repo: haskell-effectful/effectful


text:
Add references to hsimport in the lists of tools

Here is an other tool to add in the list of tools to incorporate: hsimport
Extend the import list of a Haskell source file
https://hackage.haskell.org/package/hsimport-0.7
https://github.com/dan-t/hsimport
can't do the PR now

also add notes about http://mpickering.github.io/posts/2015-11-22-hlint-refactor.html

also add notes about haskdogs

https://hackage.haskell.org/package/haskdogs-0.4.4
https://github.com/grwlf/haskdogs

repo: haskell/haskell-ide-engine