Support DB2 driver not compliant to ODBC spec

IBM DB2 driver is not compliant to ODBC spec for indicators in 64bit
SQLLEN is still defined 32bit (int) but spec requires 64bit (long).
ref: https://bugs.php.net/bug.php?id=54007

A workaround that we successfully used in production for several years includes casting certain 64-bit ODBC values down to 32-bits when comparing for SQL_NULL_DATA. It essentially changes PHP to conform to an outdated ODBC spec that IBM requires. It doesn't break other "real" 64-bit ODBC drivers as long as you aren't pulling back individual values > 4GB.

2 new cmake options introduced (default is OFF, replaces the if (NOT $ENV{TRAVIS}) hack
  -DWITH_ODBC_TEST_DB2=ON
  -DSOCI_ODBC_TEST_DB2_CONNSTR="test-db2.dsn"

tested on macOS build:
ctest -R soci_odbc
Test project /Users/heikorabe/Builds/soci_4.0
    Start  9: soci_odbc_test_mssql
1/8 Test  #9: soci_odbc_test_mssql ...............   Passed   15.32 sec
    Start 10: soci_odbc_test_mssql_static
2/8 Test #10: soci_odbc_test_mssql_static ........   Passed   15.62 sec
    Start 11: soci_odbc_test_mysql
3/8 Test #11: soci_odbc_test_mysql ...............   Passed   10.85 sec
    Start 12: soci_odbc_test_mysql_static
4/8 Test #12: soci_odbc_test_mysql_static ........   Passed   13.51 sec
    Start 13: soci_odbc_test_postgresql
5/8 Test #13: soci_odbc_test_postgresql ..........   Passed    8.38 sec
    Start 14: soci_odbc_test_postgresql_static
6/8 Test #14: soci_odbc_test_postgresql_static ...   Passed    8.88 sec
    Start 15: soci_odbc_test_db2
7/8 Test #15: soci_odbc_test_db2 .................   Passed   63.35 sec
    Start 16: soci_odbc_test_db2_static
8/8 Test #16: soci_odbc_test_db2_static ..........   Passed   67.20 sec

100% tests passed, 0 tests failed out of 8

Total Test time (real) = 203.12 sec

closes #660

@mloskot @vadz any thoughts about this?

@hrabe Do you want me to push the "Update branch" to merge the latest changes from master into this branch or you prefer to do it yourself?
=I guess, the commits will be squashed on merge.

What's wrong with valgrind ?
/home/travis/build/SOCI/soci/scripts/travis/common.sh: line 38: valgrind: command not found

@vadz Any objections for merging this?

No, not at all. I admit I haven't really looked at this but I just don't know anything (nor, to be honest, care about) DB/2.
Thanks!

@hrabe Thank you

Hi. This commit provokes warnings in my build (VS 2017), that previously were not there. Warning being:
C4068	unknown pragma	e:\des\libs\soci\include\soci\odbc\soci-odbc.h	Line: 488
in several lines, all seemingly caused by symbol GCC_diagnostic. I suppose VS should ignore it, but it's probably not explicit.
Thanks.

@jparrai It's better to avoid the warning indeed. It should be fixed now. Thanks for catching this.


feat: Solving week 5 assignment

What is this issue? 🚀
Solve assignment of week 3, with using skeleton python file
TODO 🏃♀

[x] Complete skeleton python file
[x] Get two figures from code; scatter chart and histogram chart.

Complete!


Passing Input parameters of HANA to odxl

I've been trying to download data from a calculation view to xlsx format.
But no matter what I do, I cannot pass the input parameters of the calculation view to ODXL.
Can we have support for this in the future?
Keep up the good work!
Cheers,
Joel

Joel, sounds like a great feature!
In the interest of delivering something quickly, that is not too hard to implement, I suggest we add a $parameters query option which we use to pass them. Sounds good?

@joel-myworld  actually, upon inspection, it seems the feature is already there.
If I create a very simple view on DUMMY with one parameter IP_TEST, and then select that paramter in a calculated column, I can do:
http://hanahost:hanaport/system-local/public/rbouman/odxl/service/odxl.xsjs/%22_SYS_BIC%22/%22system-local.public.rbouman.hxmla.models/CA_DUMM_PARAMETERS_GRA_001%22(IP_TEST='bla')?$format=sql
And this is the SQL that is generated:
SELECT
*
FROM
"_SYS_BIC"."system-local.public.rbouman.hxmla.models/CA_DUMM_PARAMETERS_GRA_001"('PLACEHOLDER' = ('$$IP_TEST$$', 'bla'))
It executes too, and gives me the expected result.
So, since the functionality is already there, we should probably keep it that way.
The question now is,

what does your view look like,
how does it define its parameters
how do you call ODXL
what is the output of odxl if you specify $format=sql (i.e. what SQL does that generate)
can you execute that SQL inside HANA studio or webide?
what happens if you specify $format=csv, what output or error message do you get?

@joel-myworld Is your issue solved? Can I close this issue?

Yes. Thank you.


Add node-engine to Ruby language family ordering?

Asset pipeline is fairly common in most rails apps that serve JS/CSS, and to build a rails app using it at the moment, I'd need to build it with node-engine.
Does it seem reasonable to add node-engine into the language family ordering so that users can build rails apps easier?

@ryanmoran is this issue relevant anymore now that we have the rails assets buildpack? I'm assuming that we can close it out once the language family ordering is updated with the rails ordering.

@ryanmoran is this issue relevant anymore now that we have the rails assets buildpack? I'm assuming that we can close it out once the language family ordering is updated with the rails ordering.


Consider allowing remote repositories

I have implemented support for remote git repositories in both GitVersion and GitHubLink. I think that could be a great addition to this project as well. Maybe if I find some time next week I will try to create a pull request.

:+1:

As I also needed this feature, and as @GeertvanHorrik has already done most of the hard work in other projects, I thought I'd have a go at moving this accross and refactoring it in. I'll submit a PR for you to do with what you will, assuming I succeed :)

Have submitted PR #64

Works. Thanks for the contribution @dazinator


PR aimed at finding missing signal names

On some systems computers , the process of converting tf systems into LinearIOSystems in the interconnect function loses signal names -- if the transfer function is static. For example, if a system is defined as sys=tf(1, 2, inputs='a', outputs='b'), an error is raised when that system is interconnected with others because sys gets copied but loses its signal names, something along the lines of Signal 'a' not found.
But this doesn't happen on my system on Python 3.9, 3.10, or 3.11. Maybe something peculiar to windows?
This PR adds unit tests in an attempt to see if our test suite catches this bug.

Coverage: 94.535%. Remained the same when pulling 78f5aec6f35b69d33584da3ce4830e7eced2f7c5 on sawyerbfuller:static-signal-names into 1e1c8ebcc50f1d99961bcb814ba70cdc78b2dd07 on python-control:main.

Found it! Losing signal names when slycot is not installed.
Working on a fix.

Found the bug and squashed it. _convert_to_statespace was not passing signal names correctly in all cases, particularly with no slycot.

@sawyerbfuller Should the system name be copied over directly or should it be modified by appending $converted or something along those lines?  One reason not to change the system name is that if you use interconnect with transfer functions, it is more natural to use the same system name.  But this means that you can have two objects (the original TransferFunction and a StateSpace object) both having the same name...

@murrayrm my first thought is that the private method should keep the same system name because it is being used is internally.
But maybe if the system was changed by the user using ‘ss’, then that default should be overrided and the system should get a new name. sys$converted?

I like the idea of having "$converted" appended when you do an explicit conversion (eg, via ss applied to a TransferFunction).  That way you don't end up with two explicit objects floating around that have the same name but aren't the same object.
If we do that, we should probably generate a utility function/method that renames objects, probably in namedio.py so that we get some uniformity (including use of prefix and/or suffix, setting configuration defaults, etc).  That goes beyond this PR, so could be split off as a separate issue?

HI @murrayrm that sounds good. Yes there are a few issues surrounding when to add $converted that may be outside of scope for this PR.  E.g. if you call LinearIOSystem on a StateSpace system, does that get a suffix? if you call ss on a system, what method is responsible for adding $converted.
For this PR, OK if we leave it as it is, with _convert_to_statespace not changing the name? This is what you want when you are interconnecting TransferFunction and StateSpace objects and the former are being converted internally.


Correction for raw affiliation MISTEA, Lbe

Correction needed for raw affiliation MISTEA, Lbe
raw_affiliation_name: MISTEA, Lbe
new_rors: 01pd2sz18;022m8c549
previous_rors: 01pd2sz18
works_examples: W2950260736;W4298259174
contact: 99dc4d6652ba89cfc02f30ef1fb1831a:bad7277eef3e5a27668d24495b3cd4bcde42 @ inrae.fr

This issue was accepted and ingested by the OpenAlex team on 2024-11-18. The new affiliations should be visible within the next 7 days.


fix(material/core): fix opacity in elevation mixin

Fix elevation opacity, which was reintroduced by https://github.com/angular/components/pull/26015/commits/951759e2954ee8bd514520becd1b0a4d27d7aa97.

@crisbeto @andrewseguin Any update on this. I tested my apps with v16, I see this issue. This is a blocker for to upgrade to v16 when it releases next month.

Can you rebase to resolve the integration tests error?


wlfreerdp segfaults

This should include all relevant info. You can see the version of freerdp, the command line args, and the backtrace.
$ coredumpctl gdb
           PID: 3335 (wlfreerdp)
           UID: 1000 (cole)
           GID: 1000 (cole)
        Signal: 11 (SEGV)
     Timestamp: Sat 2019-11-02 15:25:48 PDT (15s ago)
  Command Line: wlfreerdp<EMAIL_ADDRESS>/p:******** /v:<IP_ADDRESS> /rfx +fonts
    Executable: /nix/store/nhmg4nrjjdsxcg5mpz4rgyzmwlxqj7yc-freerdp-2.0.0-rc4/bin/wlfreerdp
 Control Group: /user.slice/user-1000.slice/session-1.scope
          Unit: session-1.scope
         Slice: user-1000.slice
       Session: 1
     Owner UID: 1000 (cole)
       Boot ID: f24f7427aac14a1480dd32950dab7055
    Machine ID: a424ec43f0684d2090d7ca6fe22ebf8a
      Hostname: xeep
       Storage: /var/lib/systemd/coredump/core.wlfreerdp.1000.f24f7427aac14a1480dd32950dab7055.3335.1572733548000000000000.lz4
       Message: Process 3335 (wlfreerdp) of user 1000 dumped core.

btGNU gdb (GDB) 8.3.1
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...

Reading symbols from /nix/store/nhmg4nrjjdsxcg5mpz4rgyzmwlxqj7yc-freerdp-2.0.0-rc4/bin/wlfreerdp...
(No debugging symbols found in /nix/store/nhmg4nrjjdsxcg5mpz4rgyzmwlxqj7yc-freerdp-2.0.0-rc4/bin/wlfreerdp)
[New LWP 3335]
[New LWP 3338]
[New LWP 3337]
[New LWP 3339]
[New LWP 3340]
[New LWP 3336]
[New LWP 3341]
[New LWP 3342]
[New LWP 3343]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/nix/store/qn76sklvyalzw9ilnxz6sh0020gl2qn6-glibc-2.27/lib/libthread_db.so.1".
Core was generated by `wlfreerdp<EMAIL_ADDRESS>/p:******** /v:<IP_ADDRESS> /rfx +fonts'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f9214960be0 in raise () from /nix/store/qn76sklvyalzw9ilnxz6sh0020gl2qn6-glibc-2.27/lib/libc.so.6
[Current thread is 1 (Thread 0x7f92106bbac0 (LWP 3335))]
(gdb) bt
#0  0x00007f9214960be0 in raise () from /nix/store/qn76sklvyalzw9ilnxz6sh0020gl2qn6-glibc-2.27/lib/libc.so.6
#1  0x00007f9214c1af90 in fatal_handler () from /nix/store/nhmg4nrjjdsxcg5mpz4rgyzmwlxqj7yc-freerdp-2.0.0-rc4/bin/../lib/libfreerdp2.so.2
#2  <signal handler called>
#3  0x00007f9212cb7274 in wl_proxy_marshal_constructor ()
   from /nix/store/641prxh0dppg0d0cd1hkhcs83sq75g7b-wayland-1.17.0/lib/libwayland-client.so.0
#4  0x00007f9214d71eb1 in UwacCreateWindowShm () from /nix/store/nhmg4nrjjdsxcg5mpz4rgyzmwlxqj7yc-freerdp-2.0.0-rc4/bin/../lib/libuwac0.so.0
#5  0x0000000000402e70 in wl_post_connect ()
#6  0x00007f9214c735d9 in freerdp_connect () from /nix/store/nhmg4nrjjdsxcg5mpz4rgyzmwlxqj7yc-freerdp-2.0.0-rc4/bin/../lib/libfreerdp2.so.2
#7  0x00000000004024e5 in main ()
(gdb)

Does this affect nightlies too? Wayland client got some attention since then

Sorry, I wrote the comment several times but failed to send, I guess - this issue does not affect nightlies. We can go ahead and close it. I look forward to a new release. Thank you for your work on FreeRDP!

@akallabeth Is there a release planned soon? I just realized I dropped my patched package for my system and I'm back to hitting this. It'd be great to have a new version to package.


Post compilation psdr_cuda not found

Hi,
I have successfully installed the psdr but I am unable to import the module in python.
I am using Ubuntu 20.04, with Nvidia GPU. I used the system python rather than Anaconda installation.
@shuangz25  Can you please help?

Did you add the build/lib folder to your python path?

Yes, still there is no change, I am still receiving the import error.
My python path PYTHONPATH=/home/dhawals/repos/mitsuba2/dist/python:/home/dhawals/repos/mitsuba2/build/dist/python:/home/dhawals1939/repos/psdr-cuda/build/lib
the build folder has following contents
.
├── bin
│   └── ptx
├── CMakeCache.txt
├── CMakeFiles
│   ├── 3.16.3
│   ├── 3.18.4
│   ├── cmake.check_cache
│   ├── CMakeDirectoryInformation.cmake
│   ├── CMakeError.log
│   ├── CMakeOutput.log
│   ├── CMakeRuleHashes.txt
│   ├── CMakeTmp
│   ├── Makefile2
│   ├── Makefile.cmake
│   ├── progress.marks
│   ├── psdr_cuda.dir
│   ├── ptx.dir
│   └── TargetDirectories.txt
├── cmake_install.cmake
├── lib
│   ├── psdr_cuda.so
│   └── ptx
└── Makefile

9 directories, 14 files

emmm, looks fine. Make sure you also add enoki to the correct path btw.
Are you even able to import psdr_cuda or import enoki if you start your python shell in /lib/ folder?
If not, try ldd psdr_cuda.so and see what is the output. This command will show you if there is any dependency problem.

Hi,
This is the result I get when I run the import from lib directory.
>>> import psdr_cuda
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: /home/dhawals/repos/psdr-cuda/build/lib/psdr_cuda.so: undefined symbol: _ZN7Imf_2_317globalThreadCountEv

The output of ldd is as follows
 linux-vdso.so.1 (0x00007ffc1dddf000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007efe34885000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007efe3487a000)
        libenoki-cuda.so => /home/dhawals/repos/mitsuba2/build/ext_build/enoki/libenoki-cuda.so (0x00007efe3472c000)
        libenoki-autodiff.so => /home/dhawals/repos/mitsuba2/build/ext_build/enoki/libenoki-autodiff.so (0x00007efe34640000)
        libHalf.so => /lib/x86_64-linux-gnu/libHalf.so (0x00007efe345fb000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007efe345d6000)
        libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007efe343f4000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007efe342a5000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007efe3428a000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007efe34098000)
        /lib64/ld-linux-x86-64.so.2 (0x00007efe34b22000)
        libcuda.so.1 => /lib/x86_64-linux-gnu/libcuda.so.1 (0x00007efe329b2000)
        libcudart.so.11.0 => /usr/local/cuda-11.2/lib64/libcudart.so.11.0 (0x00007efe32721000)
        libc++.so.1 => /lib/x86_64-linux-gnu/libc++.so.1 (0x00007efe3265f000)
        libc++abi.so.1 => /lib/x86_64-linux-gnu/libc++abi.so.1 (0x00007efe32627000)

When I run from other directories/location other than build/lib I still get module not found error.
My LD_PATH_LIBRARY is as follows  /home/dhawals/repos/mitsuba2/build/ext_build/tbb:/usr/local/cuda-11.2/lib64:/home/dhawals/repos/mitsuba2/build/ext_build/enoki which includes the required enoki cuda and enoki autodiff packages

It looks like you have an old/inconsistant openEXR version with system and psdr_cuda or maybe your openEXR didn't add to LD path?
Try to upgrade your openEXR and make sure you are using that openEXR version while you call cmake psdr_cuda (with path added)
I recommand using openexr 2.5 with and find its Imf...-2_5.so with path included.
Again, make sure the building openEXR version for psdr_cuda should be same as the system default.
For example, if you build psdr_cuda with openexr 2.5 but you system find 2.3 as default, you will get this import error. (and if you are outside this folder you will see no found error without telling you what happened in details)


code for extracting object level features

Hi Hlings,
I hope you are doing well.
I read your work and it is amazing!!!
Now I am exploring the code but cannot find the lines of code for extracting the object-level features, could you please guide me to this block of code?
I appreciate any help you can provide.

HI. Sorry for the late reply due to so many busy things :(.
You can refer here for the code to extract ins-level features.
I find the train.py file misses the corresponding function and I'll fix it ASAP.
You can refer the training files in the train_for_abl folder if you are in a hurry :)


Testing for RC 2.1.0

Hey @amiralies, could you check out the latest master and test if coc-rename works for you?
Added the newest LSP impl and want to make sure it works on someone else's machine this time.
Anyone else here, feel free to test as well!

I've tested with both coc and neovim's lsp client. neovim is fine, coc has that problem you shared in another issue. I try to find more info about that.

should be good now


Touch Event on Mobile Executes One Event Behind

Describe the bug
This problem is specifically when making objects in the a-scene clickable. I have an event trigger when the object is touched using the raycaster, but I essentially need to touch the screen again to get it to execute the desired function. Also, the clicking is off on the object itself (doesn't line up exactly with the object in scene, though that's another issue). Events are executing behind by one touch. For instance, if the object is indeed intersected by the raycaster and it is considered a hit, the next touch input to the screen camera area will trigger the event, even if nothing is intersected by the raycast. What is interesting though, is if there is an event "on deck" and you click a button that is outside of the a-scene (like a gui button), it will reset the queue and you will need another two clicks (one on the object, one anywhere else) in order to get the event to fire again. What is also interesting is that this is only a problem with events on raycasted objects. This is not an issue with the gui button that is not included in the a-scene.
I have tried using various forms of input triggers for the event listener (click, mousedown, mouseup, touchstart, etc.) and all of them seem to either reproduce the issue or not work at all.
Note: I'm using the following versions:
A-Frame: 0.6.1
Three: ^0.86.0
WebVR Polyfill: ^0.9.36
AR.js: 1.6.2
To Experience the issue I am referring to
https://www.techstuffandsuch.com/AR.js-master/aframe/VideoAndButton/newindex.html
I have it hosted it in the above link. You can go to it on mobile and test it on the marker image in the link below. The video is not clickable, but the image covering the image marker is clickable (you pretty much need to hit it in the middle for the raycast to recognize it as a hit).
https://techstuffandsuch.com/wp-content/uploads/2019/06/pattern-UnityLogoARjs-copy.png
Expected behavior
Upon the first click, the event will execute.
Desktop (please complete the following information):
Chrome Mobile (Android Pie)
Smartphone (please complete the following information):
Pixel 3

The code looks like the following:

            Unmute

    <!-- BEGIN: Unity Compiled Assets -->
    <a-assets>
        <video id="Video_Asset_0" autoplay="false" loop crossorigin="anonymous" src="videos/Unity3D-Trailer.mp4"
            webkit-playsinline playsinline controls muted></video>
    </a-assets>
    <!-- END: Unity Compiled Assets -->
    <!-- BEGIN: Add Image Target (marker) -->
    <a-marker id="marker" type="pattern" preset="custom" src="pattern-UnityLogoARjs.patt"
        url="pattern-UnityLogoARjs.patt" emitevents="true" button>
        <!-- END: Add Image Target (marker) -->

        <!-- BEGIN: Unity Compiled Objects -->
        <a-video src="#Video_Asset_0" id="Video_0" class="intersectable" width="1" height="0.59016"
            position="0 0.301 -0.471" rotation="329.6259 0 0" color="#FFFFFF" transparent=False>
        </a-video>
        <a-plane src="textures/46607-otherunitylogo.png" id="Plane_1" class="intersectable" width="0.9535136"
            height="0.9535136" position="-0.003 0.009000001 0.082" rotation="270 0 0" color="#FFFFFF"
            transparent=True>
        </a-plane>
        <!-- END: Unity Compiled Objects -->

        <!-- BEGIN: Bottome HTML -->
    </a-marker>
    <a-entity camera></a-entity>
</a-scene>

Wow, I've been struggling with this for days but as soon as I post about it online I figure it out lol. I switched to using A-Frame version 0.9.2 and it fixed it. Changed the code at the top from this:
<script src="../demos/vendor/aframe/build/aframe.min.js"></script>

to this:
<script src="https://aframe.io/releases/0.9.2/aframe.min.js"></script>


autoupdate for non-privileged projectors

See issue #2302 and PR #2241.

Fix 1: Autoupdate now checks the projector get_requirement permissions. Thus, these data will be updated after the projector is loaded.
Fix 2: projector slides that watch user names will check if the users are  in the cache, if not, they will retreive them.

Result: Slides update with all information if user has can_see_projector, but information retrieval is restricted to the actual content.

Done by #2394 .


Not an issue - which files should I send to PCBWay?

Hello! I see you have many different versions of the gerber file, which one should be used? Also, is the washer.stl file required? What is it for?
Thank you so much! If I build it, how would I go about running BASIC?
-Kizuo

Also, what service did you use for getting the custom keycaps? Are the keyboard gerbers included in the repo? And finally, is there a complete parts list for the computer and one for the keyboard?

Hello!

Hello! I see you have many different versions of the gerber file, which one should be used? Also, is the washer.stl file required? What is it for?

You need to compress all files in the folder "gerbers" for the main board (or "kbd_gerbers" for the keyboard) and upload that zip file to PCB vendor of your choice.
Each gerber file represents a copper layer, drill positions and sizes, edge cut outs, silk screen labels and drawing etc. So all of them are needed to manufacture a single board.
Washers are needed for self-tapers that attach main board to the bottom of the enclosure if they are too long.

Thank you so much! If I build it, how would I go about running BASIC?

BASIC interpreter needs to be ported to this computer or written from scratch. I have an intent to do it after I finish emulator.

Also, what service did you use for getting the custom keycaps? Are the keyboard gerbers included in the repo? And finally, is there a complete parts list for the computer and one for the keyboard?

I used WASD keyboards to manufacture custom keycaps. Gerber files for the keyboard PCB are in the "kbd_gerbers" folder. For the part list - did not have a chance to work on the complete readme file explaining build process and providing part list with vendor part numbers. Will do that a bit later, but for now part numbers are provided on the mainboard schematic.

Thanks! This is really cool :)


WorkSpaceTool.setup(): error

Hi,
I Really loved the face capture video. But when I tried it with blender 2.81a, I got lots of errors. Might be because of python version and at the end even though I did tried everything I could do, on blender 2.81a when I run the python code on script, blender just closes and doesn't opens project. So I tried it with blender 3.1. But even though I get no error from code, When I clicked the OpenCV Animation Panel I get this error. Could you help me please?

Hi There,
I’m really happy to hear that from you, can you try the version i used 2.8
and let me know if it works for you!
Le dim. 27 mars 2022 à 15:13, KronkTR @.***> a écrit :

[image: OpenCVButton]
https://user-images.githubusercontent.com/102475585/160287913-6883d98a-75f6-4fc8-9fbb-7b96cd581558.PNG
[image: Error]
https://user-images.githubusercontent.com/102475585/160287926-03784a52-d847-45ec-84dc-aa45d92921c2.PNG
Hi,
I Really loved the face capture video. But when I tried it with blender
2.81a, I got lots of errors. Might be because of python version and at the
end even though I did tried everything I could do, on blender 2.81a when I
run the python code on script, blender just closes and doesn't opens
project. So I tried it with blender 3.1. But even though I get no error
from code, When I clicked the OpenCV Animation Panel I get this error.
Could you help me please?
—
Reply to this email directly, view it on GitHub
https://github.com/joeVenner/control-3d-character-using-python/issues/11,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOSKSULEB7XTU6Q5P3KTE7LVCB3IPANCNFSM5RY5HM3A
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Finally!
It worked. Thank you so much. I downloaded 2.80 but there were some errors with pip, first i needed to solve that with pip ensure. Then when I use import cv2 blender crashed. so I have to try every pip installation of opencv-contrib and find a compatible version of numpy with it. But with a little(not) bit of trying I finally find the perfect two combination that did not crashed blender with import cv2. Thank you so much again.

Hello Joe, thanks for your work.
I think I'm having the same issue here.
But i don't have 2.8, the earliest blender I have is 2.9.
Any chance you can improve the code universal that can work for the lastest blender or any other version ?
Thanks in advance.

Hey there!
Sorry, I'm not into this much lately, so the latest compatible version is
2.8, 2.9 you will face issues.
Thanks
On Thu, Jul 28, 2022 at 10:28 AM xiaowen214 @.***>
wrote:

Hello Joe, thanks for your work.
I think I'm having the same issue here.
But i don't have 2.8, the earliest blender I have is 2.9.
Any chance you can improve the code universal that can work for the
lastest blender or any other version ?
Thanks in advance.
—
Reply to this email directly, view it on GitHub
https://github.com/joeVenner/control-3d-character-using-python/issues/11#issuecomment-1197895700,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOSKSUINQXL3CXHJE7TX5MTVWJHD5ANCNFSM5RY5HM3A
.
You are receiving this because you commented.Message ID:
@.***
com>


Draw polyhedron bug with atomic mixing

plot_polyhedron fails to draw a polyhedron with files with atomic mixing.
261241.cif
mixing type: full_occupancy_atomic_mixing

250685.cif
mixing type: full_occupancy_atomic_mixing

Cause of problem
There are duplicate points during symmetry operations when there are two sites that contain the identical fractional coordinates.
How to fix
Use only unique points and combine the site labels as Er1, Er2.

Fixed in  https://github.com/bobleesj/cifkit/pull/9


Page availability across multiple books and chapters

Reading through the discussion on #48 I'm not sure where the discussion of being able to reference a page in multiple books went. Is this something that is being considered?

is this not handled by the attribute system?

Possibly. Not sure how that works in the editor. I have tried adding a hyperlink, but I am not quite sure how I point to another page other than getting the entire link for that page and pasting it to the url field. Is that how this works? Or is the attribute system only available in markup editor?


support Components

each component gets its own DatabaseFake.
implement nested transactions with writes for each level of the transaction so they can be rolled back if the inner mutation errors. Nested transactions are not isolated from each other, since I couldn't figure out how to do that. Only outer transactions are isolated.
Also implement function handles as static strings of the form function://${componentPath};${udfPath}

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

i'll do this soon

...can we try writing a test for code that uses a packaged component

but i think this PR is good to land as-is. it's an improvement on the current state of things, allowing us to at least write test in example apps within component repos

turns out it does work, although it's more than hacky
/// <reference types="vite/client" />

import { expect, test } from "vitest";
import { convexTest } from "convex-test";
import { api, internal } from "./_generated/api";
import schema from "./schema";
import aggregateSchema from "../node_modules/@convex-dev/aggregate/dist/esm/component/schema";

const modules = import.meta.glob("../convex/**/*.*s");
const aggregateModules = import.meta.glob("../node_modules/@convex-dev/aggregate/dist/esm/component/**/*.*s");

test("action calling query", async () => {
  const t = convexTest(schema, modules);
  t.registerComponent("aggregate", aggregateSchema, aggregateModules);
  await t.mutation(api.messages.send, { body: "foo", author: "test" });
  const c = await t.query(api.messages.count);
  expect(c).toStrictEqual(1);
});


Redeploy Service On Every Apply - does not exists in pulumi

File: themes/default/content//registry/packages/aws/api-docs/ecs/service
This whole snippet is "copied" from Terraform docs but there's no alternative in pulumi, nor the term apply exists.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.ecs.Service("example", {
    forceNewDeployment: true,
    triggers: {
        redeployment: "plantimestamp()",
    },
});

Thanks for filing an issue on this! Right now there's not a way to directly fix this documentation issue, but I'll share this feedback with the Terraform bridge engineering team to see if there's a way to enhance that process in the future.


Temporary failure in name resolution causing severe problems running embassy

This is a follow up of #7 and #3.
When debugging not being able to resolve the UI URL for the ItchySats service (#7) I noticed that I still kept seeing the Temporary failure in name resolution problem that I reported in #3.
I noticed that this problem actually affects the whole system, somehow the nameserver is not configured correctly which results
This not only has an affect on ItchySats, but on the whole system. Notably, bitcoind eventually started running into sync problems because the reported system time was incorrect (i.e. in the past) because due to not being able to properly resolve names the raspi was unable to sync with the time server.
Note: I had ran into the Temporary failure in name resolution problem when using the embassy with multiple different routers. I don't exactly understand what is causing this issue. I did not have such kind of issues with my Umbrel node (or any other of my raspberries).

Eventually I was able to overcome this problem by manually configuring a nameserver on the embassy:
sudo sh -c 'echo "nameserver <IP_ADDRESS>" >> /etc/resolv.conf'

Once DNS was properly working again all the problems went away. Bitcoind worked properly again and I could resolve the service URL.
I tried to configure the nameserver more permanently by installing resolveconf (as described in this tutorial) but somehow /etc/resolv.conf does not reflect the configured nameserver.
I can still overcome the problem by manually adding the nameserver to resolv.conf but I have to do that after each restart otherwise the system time is incorrect and resolving names might not work.
Does the embassy configure it's own DNS that overwrites /etc/resolv.conf?
What could cause this problem?

This should be fixed by https://github.com/Start9Labs/embassy-os/pull/1741


Add support for custom SQL aggregates

Would there be interest in supporting SQLite custom aggregates (and if so, possibly also custom window functions)? This PR adds support for custom aggregates implemented in swift, allowing both a relatively low-level API requiring unsafe pointers to maintain state, as well as a more user-friendly, reduce-style API. I've attempted to follow the style of the existing code implementing custom SQL functions, and added tests for both API styles.

This wasn't quite ready for merging yet. The tests crash intermittently, investigating.

Do not assign an instance of a nontrivial type through pointee to uninitialized memory. Instead, use an initializing method, such as initialize(to:count:).

6d5bb0ca1d561589cbcf5ffbacd154e5c05659cf


Create an SAP Fiori App Using SAP Business Application Studio

Tutorials: https://developers.sap.com/tutorials/appstudio-fioriapps-create.html
At step 1:
4. The Application Router Generator Wizard tab is opened. For Application Router Configuration, select the following, and click Finish. :
A | Application router project path | /home/user/projects (default)
B | MTA ID | FioriDemo
C | MTA Description | Can be left empty (default)
D | MTA version | 0.0.1 (default)
E | Add route module | Managed Approuter
Here, the "MTA version" is not asked, so this parameter can be removed. The screenshot in the document is correct though:

Please update the document accordingly.
Labels:
Landscape Labels: trail2, trail3
Scenario Label: SCPTest-fbizapp
Priority: Low
Sprint Label: SCPTest-2112B
Thanks and Regards,
Farozan

Thanks, @FarozanFarman .
The update will be available soon.
Regards - Raz

@raz-korn What's the status?

Done.


Realtime Web Style

Tidy up web style using the same css as blogtest.inasafe.org

Closing this issue. Already addressed in #75


Contribution for more precision. FOV Speed Modifer and slower speed with Ctrl.

I only made the change to the Hitman keyboard camera. Feel free to transfer it to Tomb raider and the controller cameras as well.
Feel free to clean up/adapt/rename/change/dispose of the code as you see fit.
I don't use Ctrl for Instinct so I don't have an issue with timestop stopping. So, that will need to be remapped.
BTW Thanks for making this tool!
If you're so inclined, check out some screens I've made using it:
http://www.hitmanforum.com/t/the-hitman-screenshot-thread/145/910
Others on the thread are putting it to good use as well.

Hi :)
Ctrl can't be used for speed modifier, as the game maps that key to the action to scan your surroundings, and that uses the gamespeed variable which is used for timestop :) Initially I had Ctrl as speed modifier, but when you then pause the game and press ctrl, the game unpauses (as it sets the gamespeed, which the camera has just set to 0.000001f back again to 1.0f) ;)
So I don't think this is going to work. Did you need an even slower speed modifier? I saw that when you have very low FoV the speed of the camera is, even with Shift, a bit too high perhaps. Perhaps the FoV can be used to calculate the extra speed modifier: (0.7/actualfov)

"Ctrl can't be used for speed modifier."
That's why I suggested changing the code to another key in the post above. (Or perhaps you can suggest to the user to change the default key to something else? That's probably not a good idea, but Ctrl is so conveniently placed! Haha)
"Did you need an even slower speed modifier?"
Yes. That's why I created the code.
"I saw that when you have very low FoV the speed of the camera is, even with Shift, a bit too high perhaps."
The settings I chose are serving me just fine.
"Perhaps the FoV can be used to calculate the extra speed modifier: (0.7/actualfov)"
That's beyond my skill level. If you want to do that, go right ahead.

Camera updated to 1.0.5
Fov is now much slower so it should work in your case. Movement is a bit slower, modifiers are now slowing even more. right-control is now used as it works better and isn't used by game. Other new features you will likely like :)
So didn't merge your code, but I'm sure the new camera will likely be what you wanted anyway. ;)
https://github.com/FransBouma/InjectableGenericCameraSystem/releases/tag/Hitman2016_v105


The problem when I stop the miner and then try to connect to it

I wrote code for test.
async def reboot_miners(ips:list, counter:int) -> None:
    net = MinerNetwork(ips)
    pyasic_miners = await net.scan_network_for_miners()
    data = await asyncio.gather(*[item.get_data() for item in pyasic_miners])
    await pyasic_miners[0].stop_mining()

Then i tried get miner's data
   async def reboot_miners(ips:list, counter:int) -> None:
    net = MinerNetwork(ips)
    pyasic_miners = await net.scan_network_for_miners()
    data = await asyncio.gather(*[item.get_data() for item in pyasic_miners])

And got this warning
<IP_ADDRESS>: Ping And Get Miner Exception: name 'url' is not defined

After that i can't take miner's information

What type of miner is this?  I fixed this for BraiinsOS+ in the dev-miner_data branch, as there were a few issues with data gathering and getting miner types that were showing up related to that.
You can test this with that version, installed with pip install pyasic@git+https://github.com/UpstreamData/pyasic@dev-miner_data.
Additionally, I wouldn't use scan_network_for_miners, you probably want to do that once, then store the IPs and use pyasic.get_miner, or just store the miner objects.  pyasic has issues with identifying miners that are shut down, which I have been working to resolve, but its very tough since a lot of miners do weird things when shut down.

i tried to use other branch , bit when i use miner.get_data() , i get this error
   gathered_data = await self._get_data(allow_warning, data_to_get=data_to_get)
 File "c:\Users\sam\OneDrive\Desktop\manager\venv\lib\site-packages\pyasic\miners\base.py", line 431, in _get_data
   pools_data = await function(**args_to_send)
   data_object = await controle_object.get_data()
 File "c:\Users\sam\OneDrive\Desktop\manager\venv\lib\site-packages\pyasic\miners\base.py", line 476, in get_data
   gathered_data = await self._get_data(allow_warning, data_to_get=data_to_get)
 File "c:\Users\sam\OneDrive\Desktop\manager\venv\lib\site-packages\pyasic\miners\base.py", line 431, in _get_data
   pools_data = await function(**args_to_send)
 File "c:\Users\sam\OneDrive\Desktop\manager\venv\lib\site-packages\pyasic\miners\backends\bosminer.py", line 770, in get_pools
   pools = {"quota": group["strategy"]["quota"]}
TypeError: 'NoneType' object is not subscriptable```

When i try use pyasic.get_miner with this miner i can take pools, config but can't take data of miner by get_data() . I get error
'NoneType' object is not subscriptable
  File "C:\Users\aipro\OneDrive\Desktop\AIPROMAP_manager\core\asic_funcs.py", line 50, in getMinerData
    miner_from_task = await asyncio.gather(miner.get_data())
  File "C:\Users\aipro\OneDrive\Desktop\AIPROMAP_manager\services\queue_connecter\tags\miners\miner_add.py", line 12, in miner_add```

Try updating that branch again and see if it works.  I added a check for a TypeError there.

looks like same error that I was getting that is now fixed?

Yeah same error.  Give it a test now and see?

I test and this fix work for me, thanks!


ENH: Denoising options for preprocessing

It would be nice if we had some denoising options available for preprocessing data. A few options that I was thinking of tsPCA (Cheveigné, 2007), and CALM (Adachi, 2001), which can be a special case of tsPCA.
there's a package on git (https://github.com/pealco/python-meg-denoise) that contains an implementation, as well as source code (http://www.isr.umd.edu/Labs/CSSL/simonlab/Denoising.html).
use case for those whose lab implement these tools in Matlab, or private software, those don't have license for maxfilter but would like cleaner data.

can you hack something with MNE using the python code? just to see how well
it works?
btw Alain de Cheveigné is in Paris so you could see him IRL :)
PS : don't spend one week on it :)

I'll follow up on my question regarding denoising external sources here, because it's likely to generate a long discussion perhaps even a PR..

TSPCA
(Time Shift PCA, sorry @choldgraf, it was indeed a spelling mistake)

So thanks @teonlamont for the refs and links. I've tried the git package, but without success: neither for raw nor epoched data. The code is pretty messy, and I keep encountering data shape issues (see my gist here). @teonlamont have you successfully preprocess your data with these scripts?
Before re-coding the entire script, I thought of checking up how the TSPCA actually cleans my data, using some in-lab wrapper (['of wrapper ' for ii in range(5)]). Here is a gist which condensed the 600 lines of this wrap-wrapper, hopefully without a mistake.
The benefit of this procedure is far from being obvious to me. The evoked responses (high versus low tones) are basically the same, the decoding performance is nearly identical (but it's multivariate, so it could makes sense...).

Similar results were obtained when the components were not fitted with an empty room but with the subjects data.

SSS

I've tried to use the SSS implementation of mne-python but got stuck pretty quickly. I am using a KIT, which is composed of i) axial gradiometers, that are actually considered as magnetometers by mne-python (which makes sense) ii) and 3 magnetometers (x,y,z) further away from the head to be used as a reference). However, the maxwell_filter function picks grads only, and thus fails to find the sensors. Does anyone know whether I could apply a quick hack to circumvent this, and compare the results to the TSPCA?
from mne.io import read_raw_kit
from mne.preprocessing.maxwell import maxwell_filter
bad_sensors = [20, 40, 64, 112, 115, 152]
fname = os.path.join(data_path, fname_subject)
raw = read_raw_kit(fname, preload=True)
events = mne.find_events(raw)
for bad in bad_sensors:
    raw.info['bads'] += ['MEG %.3i' % bad]
raw_sss = maxwell_filter(raw)

=> picking error
I'd be happy to share empty room, single tone and dual tone data from a KIT if that helps.

the repo https://github.com/pealco/python-meg-denoise does not contain data
that can be used for testing easily. Maybe CTF spm data can used as it has
ref_meg channels.
I had not realized that dss required a ref channel...
regarding SSS, it has not been tested on non neuromag systems and so far it
is not clear how to handle reference channels.

regarding SSS, it has not been tested on non neuromag systems and so far it
is not clear how to handle reference channels.

I meant disregarding the ref and trying to apply the sss on the axial gradiometers. Would this make sense ?

maybe @staul can comment

It makes sense to apply SSS on the axial gradiometers after leaving out the reference sensors. However, if the reference sensor signals are available in the data without the coupling to the axial gradiometers, it would be even better to use all channels in SSS (axial gradiometers + refs). By coupling I mean extrapolation and subtraction of the reference-based interference, which is the way the reference channels are traditionally used. Just to double check: How many axial gradiometers are there in the KIT system?

Thanks. In our KIT, there are 157 whole-head axial gradiometers and 3 (xyz)
reference magnetometers.
On 29 November 2015 at 00:23, Samu Taulu<EMAIL_ADDRESS>wrote:

It makes sense to apply SSS on the axial gradiometers after leaving out
the reference sensors. However, if the reference sensor signals are
available in the data without the coupling to the axial gradiometers, it
would be even better to use all channels in SSS (axial gradiometers +
refs). By coupling I mean extrapolation and subtraction of the
reference-based interference, which is the way the reference channels are
traditionally used. Just to double check: How many axial gradiometers are
there in the KIT system?
—
Reply to this email directly or view it on GitHub
https://github.com/mne-tools/mne-python/issues/2112#issuecomment-160372765
.

Thanks for the info. Since I am not sure how accurately the KIT sensors are calibrated and given the relatively small number of sensors (<200), I would use tSSS, which is less sensitive to calibration errors than the plain SSS, and I would also test the performance with internal expansion order (L_in) values of 6, 7, and 8. Do we know if the raw signals are already compensated for based on the 3 reference magnetometers?

Do we know if the raw signals are already compensated for based on the 3
reference magnetometers?

My understanding is that no, the raw data  is not compensated based on
these magnetometers but I ll check. However it is compensated online by an
active shielding using 6 coils placed around the MEG room.
@Eric89GXL is there a tSSS implemented in MNE ?
On Tuesday, 1 December 2015, Samu Taulu<EMAIL_ADDRESS>wrote:

Thanks for the info. Since I am not sure how accurately the KIT sensors
are calibrated and given the relatively small number of sensors (<200), I
would use tSSS, which is less sensitive to calibration errors than the
plain SSS, and I would also test the performance with internal expansion
order (L_in) values of 6, 7, and 8. Do we know if the raw signals are
already compensated for based on the 3 reference magnetometers?
—
Reply to this email directly or view it on GitHub
https://github.com/mne-tools/mne-python/issues/2112#issuecomment-160813006
.

@kingjr yes, tSSS is now implemented in mne-python. @staulu I don't know much about these systems, but I do know that the FIF file contains information about different forms of compensation matrices that can be applied to the data. So I suspect we can detect whether or not compensation has been done. But it would be good to get input from people who really know (@kingjr if you are one of those people or can ping someone who is it would be very helpful here!).

Thanks to our meg engineer Jeffrey Walker, here are some clarifications from the KIT team.

From: ADACHI Yoshiaki<EMAIL_ADDRESS>Date: Tuesday, December 1, 2015
Subject: Meg kit
To<EMAIL_ADDRESS><EMAIL_ADDRESS>
Hi Jeff,
Actually, there is a way for the online compensation using the signals
from the reference magnetometers. It is tentatively called 'direct open loop
in-phase component input (DOLPHIN),' The beta version of DOLPHIN was
implemented to our magnetospinograpm system in Tokyo and tested recently.
It works well and 90% of the low band noise can be removed according to our
test. Please see the attached paper.
It is possible to implement DOLPHIN to MEG systems but the electronics must
support direct feedback from the reference sensors.
The SQUID electronics of the MEG system in Abu Dhabi is relatively new
and DOLPHIN could be implemented even though some modification were necessary.
However, we need to replace all the SQUID electronics if we implement DOLPHIN
to the MEG system in New York because their electronics do not support
direct feedback from the reference magnetometers.

cute acronym, they are really trying to keep up the ocean metaphors ;) so from my reading, and from my experience, there is currently no online compensation done to the MEG data in New York.
@kingjr, I wasn't able to get it to work (but I also didn't invest too much time in it). i wonder if it would be easier to go from the MATLAB code to a Python implementation than the currently defunct meg-denoise repo. The nice thing about about tsPCA is that when it's reduced down to no shifts, it is equivalent to the CALM procedure, so it encompasses multiple denoising techniques.
unfortunately, I can only be a cheerleader on this issue :metal::clap:

@kingjr is there a way to tell if DOLPHIN has been performed on the data
during acquisition? If it hasn't been, is it then safe to assume data has
not been compensated? Thanks for looking into this stuff.

i wonder if it would be easier to go from the MATLAB code to a Python implementation than the currently defunct meg-denoise repo.

Perhaps, but from what I've seen, the python repo is pretty much a direct translation of chevigne's toolbox. The main issue with the latter is that there are a lot of peripheral functions to normalize columns, demean etc, that are not systematic (these functions typically check the input size and apply a different function accordingly). So I think the best is probably to start from the equations directly.
From my end, I would first need to know whether there's an actual benefit in applying these  denoising techniques, as compared to the tSSS. If there is, I'll implement it.

@kingjr is there a way to tell if DOLPHIN has been performed on the data during acquisition? If it hasn't been, is it then safe to assume data has not been compensated? Thanks for looking into this stuff.

You mean, in the header? I haven't any DOLPHIN data, so it's hard to check but I'll ask. In my specific case, I know our squids are not compatible with this online denoising procedure.

From my end, I would first need to know whether there's an actual benefit in applying these denoising techniques, as compared to the tSSS. If there is, I'll implement it.

It would be great if we could get SSS (and trivially thereafter tSSS) working. We want to release maxwell_filter in a couple of weeks. Do you have time to work on testing it on your data? I'm happy to help fix bugs when they come up.

You mean, in the header? I haven't any DOLPHIN data, so it's hard to check but I'll ask. In my specific case, I know our squids are not compatible with this online denoising procedure.

Yeah, it would be best if we could tell from the header information that some form of online compensation has been applied. That way we know whether or not we can use SSS. It sounds like only one site is using it currently so it might not be a big deal currently, but it would be good to get support for it as early as possible.

Nothing in the headers apparently. Here are their reply:

DOLPHIN is a method to reduce the low band noise before the digital recording
and it has just been tested at one of our research site in Tokyo. The file
header doesn't have the information to tell whether DOLPHIN is applied or not
because the DOLPHIN is not 'officially' supported yet.  Anyway, both of the MEG systems in New York and Abu Dhabi don't have the function for the DOLPHIN yet, unfortunately. To implement DOLPHIN to your MEG systems, we need to modify the SQUID electronics. Please check my previous e-mail sent to Jeff. The algorithm of the DOLPHIN is basically same as the continuously adjusted least- squares method (CALM) but the window to calculate weight coefficients is fixed
and sufficiently long, say 5 minutes or so. The effect of the DOLPHIN was similar to the CALM but we can increase the gain upon the digital recording because the low band noise is removed before amplifying. If you would like to see some 'DOLPHINed' data, I will try to send them to you. Best, Yoshiaki Adachi

I'm stuck at the SSS transform, the data format is not easily compatible with the current script. I'll try to hack it this weekend, and ll report you what I get.
Here

Can you reproduce with any of the files in the testing dataset?

That's what we'll probably want to use to make tests eventually. It is hopefully something minor with the picking functions.

@kingjr any way you could have a look by Monday or Tuesday and hopefully reproduce with test data, or otherwise share a failing file? That way I can have a look. It would be nice to work out whatever bug before releasing 0.11, which we hope to do at the end of next week.

OK today will be a bit difficult for me but I'll try to give it a try
tomorrow.
On Saturday, 12 December 2015, Eric Larson<EMAIL_ADDRESS>wrote:

@kingjr https://github.com/kingjr any way you could have a look by
Monday or Tuesday and hopefully reproduce with test data, or otherwise
share a failing file? That way I can have a look. It would be nice to work
out whatever bug before releasing 0.11, which we hope to do at the end of
next week.
—
Reply to this email directly or view it on GitHub
https://github.com/mne-tools/mne-python/issues/2112#issuecomment-164195256
.

@Eric89GXL I had to make several changes to prevent maxwell_filter from crashing.

@teonlamont  In read_raw_kit, we need to specify the mrk, hsp and elp to be able to use the SSS. My hsp and elp files are apparently incompatible with the current script. I had to comment out the initial lines so as to only leave out the data arrays (remove headers and consider '//' as a comment).

minor: I think the mrk, hsp and elp triplets are not very explicit; I would push for enhancing the doc on this aspect

In maxwell_filter I had to manually enable the ignore_ref and set elekta_def to False, else it was crashing. See https://github.com/kingjr/mne-python/commit/ee5ec68e8932cf34431bba6d3a2fcfe662fc6080

I'm not entirely sure whether i) my parameters are set in the optimal place and ii) whether they actually are valid.

I'm not really convinced by what I'm getting. Here is the ERF of a tone without the SSS; we expect the N100 generated from A1, so ~ two symmetrical dipoles on side of the front channels around 100 ms after stim onet. Which is what we roughly get before SSS:

However, here is what we obtain after SSS:

It looks a bit crazy to me. no?

@Eric89GXL Is there a an available KIT so that I can make a test script? Else, here's an example on how I used it with my brain response.

import os.path as op
import numpy as np
import matplotlib.pyplot as plt
from mne.io import read_raw_kit
from mne.preprocessing.maxwell import maxwell_filter
from mne import Epochs, find_events

data_path = '/media/DATA/Pro/Projects/NewYork/audio_wm/data/'
subject_dir = 'R1022_Audio_Sequence_11.25.15'
# file with coils position in MEG reference.
mrk = op.join(data_path, subject_dir, 'R1022_Marker7_11.25.15.sqd')  # HPI
# file with head shape. Need to comment out every non-3D array
# (especially `'//'`)
hsp = op.join(data_path, subject_dir, 'R1022_11.25.15_test.hsp')
# file with coil position in head-reference. Need to comment out every non-3D
# array (especially `'//'`)
elp = op.join(data_path, subject_dir, 'R1022_11.25.15_test.elp')
# MEG recordings
fname = op.join(data_path, subject_dir, 'R1022_2Tones_11.25.15.sqd')

# Read data
raw = read_raw_kit(fname, mrk=mrk, elp=elp, hsp=hsp, preload=True)
# Manually indicate bad sensors
bad_sensors = [20, 40, 64, 112, 115, 152]
for bad in bad_sensors:
    raw.info['bads'] += ['MEG %.3i' % bad]
# SSS tranform
raw_sss = maxwell_filter(raw, acquisition_system='kit')

# Test topography
events = find_events(raw_sss)
for this_raw in [raw, raw_sss]:
    this_raw.filter(.7, 30)
    epochs = Epochs(this_raw, events=events, event_id=dict(high=1, low=2),
                    tmin=0, tmax=.300, preload=True, baseline=None)
    evoked = epochs.average()
    evoked.data = np.median(epochs._data, axis=0)
    evoked.plot_topomap(contours=False, show=False)
plt.show()

Things are never easy, are they? :) I agree those dipolar patterns are not so good in the Maxwell filtering case.
@staulu you were thinking we should include reference sensors in SSS decomposition, right?
You shouldn't need to pass the acquisition system -- we can improve the SSS code to try using Elekta defs, and fall back to mne defs if they're not available. That should be easy enough to implement.
I can give it a shot. I'll make some some basic test from these files:
https://github.com/mne-tools/mne-python/tree/master/mne/io/kit/tests/data
We can't really validate the quality of the output using those files, but we can at least make some tests that ensure the algorithm runs on those data. I think we'll need to get your dataset working better to start validating the algorithm. Have you tried tSSS at all?

Also, how many components were kept due to regularization (you can see it with verbose=True)? It's possible that the regularization is too harsh / not tuned for other systems.

@kingjr the elp and hsp should not be *.elp and *.hsp in the reader. They should be the direct export from FastScan as text files (sorry for the confusing nomenclature). We don't currently support the legacy format (see https://github.com/mne-tools/mne-python/pull/1001, although this pr can be resurrected if you want, was getting slight numerical accuracy problems).
if you use those files, you're going to do an improper head rotation since *.elp and *.hsp have a different transformation than expected.

@kingjr looks like when I run the test file I get only 30 components kept due to regularization (!). Try using regularize=None and hopefully it'll look better for you. I'll update the maxwell_filter documentation.

Have you tried tSSS at all?

No, but I have only one run in this case, so I guess it won't change much, or will it? Can you point me the script that runs tSSS?

how many components were kept due to regularization

        Resulting information: 228.1 bits/sample (98.4% of peak 231.8)
        Using 46/80 inside and 15/15 outside harmonic components

@kingjr the elp and hsp should not be *.elp and *.hsp in the reader.

Ah ok. Well, that changes everything, except that it's still crappy :)

Try using regularize=None and hopefully it'll look better for you.

This is what I get with no regularization with the correct hsp and elp files. Still doesn't look correct

Not sure what to do from here, but thanks a lot for your help.

Hmm... I wonder if there is still some problem with the transforms. Have you successfully computed a forward/inverse for this dataset? The forward code and Maxwell filtering code use the same set of transforms, so if the forward works, it suggests the transforms are not the problem.

Hmm... I wonder if there is still some problem with the transforms. Have you successfully computed a forward/inverse for this dataset? The forward code and Maxwell filtering code use the same set of transforms, so if the forward works, it suggests the transforms are not the problem.

No I only have a pilot data for now. I have an old MRI of myself, so I could try segment it and all, but this will take a while. Is there a quicker way of checking this up?

Not that I can think of offhand :( I am about to open a PR that contains some minor fixes that might make it work better for you, though.

Just a couple of thoughts: 1) Would it be possible to check the condition number of the normalized SSS basis before transforming the data from sensors to multipole moments? Also, 2) it just occurred to me that since this system only has gradiometers (when references are omitted), the first three external basis vectors will be zero, or some random vectors due to numerical inaccuracies. This is because those vectors correspond to homogeneous fields, which ideal gradiometers are insensitive to. So, the three homogeneous vectors should be excluded from the model, otherwise the SSS matrix may be quite ill-conditioned.
It would be beneficial to include the reference sensors in the SSS model, but I don't think it would fix the reported problem. Maybe the above points help us find the cause of the problem.

Would it be possible to check the condition number of the normalized SSS basis before transforming the data from sensors to multipole moments?

It would be straightforward to add this. Are you thinking we should throw a warning if it's too large (e.g., > 1000)? We could also throw an error I suppose, to be really safe. Actually condition_check='error' | 'warning' | 'ignore' option might be best. The question would be whether error or warning is the better default.

it just occurred to me that since this system only has gradiometers (when references are omitted), the first three external basis vectors will be zero, or some random vectors due to numerical inaccuracies. This is because those vectors correspond to homogeneous fields, which ideal gradiometers are insensitive to. So, the three homogeneous vectors should be excluded from the model, otherwise the SSS matrix may be quite ill-conditioned.

Do you think the safest approach is to numerically check for zero-ness (e.g., check if norm is greater than some reasonable default), or to infer it based on a n_magnetometer > 0 check? Either one is also straightforward to add.

Any chance one of you could guide me in the maxwell_filter script to test
these two points? I've tried to manually set the first three external
vectors to 0 but it generates errors, and it s clear that I won't master
the code before a while.
@EricGXL89 your PR works fine with my kit data (ie it doesn't crash but
produces a similar weird result)
On Tuesday, 15 December 2015, Samu Taulu<EMAIL_ADDRESS>wrote:

Just a couple of thoughts: 1) Would it be possible to check the condition
number of the normalized SSS basis before transforming the data from
sensors to multipole moments? Also, 2) it just occurred to me that since
this system only has gradiometers (when references are omitted), the first
three external basis vectors will be zero, or some random vectors due to
numerical inaccuracies. This is because those vectors correspond to
homogeneous fields, which ideal gradiometers are insensitive to. So, the
three homogeneous vectors should be excluded from the model, otherwise the
SSS matrix may be quite ill-conditioned.
It would be beneficial to include the reference sensors in the SSS model,
but I don't think it would fix the reported problem. Maybe the above points
help us find the cause of the problem.
—
Reply to this email directly or view it on GitHub
https://github.com/mne-tools/mne-python/issues/2112#issuecomment-164845769
.

@EricGXL89 your PR works fine with my kit data (ie it doesn't crash but
produces a similar weird result)

Rats.

Any chance one of you could guide me in the maxwell_filter script to test
these two points?

I'll do better and just implement the changes. Give me a few minutes (hope I can get to it).

@staulu added a check (let me know if 1000. is a reasonable value or if something else would be better):
RuntimeError: Matrix is badly conditioned: 768670824 >= 1000

So yes, it looks like the condition is bad. Now to fix it as recommended...

Yes, I think 1000 is a reasonable limit in case it's based on the basis after dropping of the poorly detectable columns.
As for the zero vectors, it's best to check if the system consists of ideal gradiometers only. Note that if we have information about gradiometer imbalance, modeled as point-like magnetometer contribution, then the homogeneous components should be included even for a system with gradiometers only.

@staulu okay, I'll go ahead and implement it that way. I implemented it the norm-comparison way first because it was simpler code-wise, and tests work for it. Swapping in and checking the grad-check version should be doable given the tests that exist now.
BTW, the condition is often more than 1000 if no regularization is performed.

Using the coil type worked for BTi and CTF, but not KIT, but I think [it's a bug in our channel picking functions] (https://github.com/mne-tools/mne-python/issues/2711).

Ok, this has made some changes: it's getting closer?..

Ah no, it just with the regularization that is does this. Else, it's like before.

I have compared several denoising options

for noisy KIT data: acquired at NYC with 157 sensors, n=2 ('jr', 'sg', in the report)
@teonlamont 's Abu Dhabi clean KIT data: more channels, cleaner environment, n=3, 'teon*'

All subjects performed a passive two-tones protocol: ~ 3 minutes of pitch presentation, no task. We expect two lateral dipoles generated from the auditory cortices.
The full report is here: https://dl.dropboxusercontent.com/u/3518236/report.html.

LS indicate a least square correction fitted from ref channels, the python code's available here. ('1'=applied, '0'=not applied). [Bad channels were removed for jr and sg, but not for teon]
SS for signal space is either none (no correction), ssp for signal space projection or sss for the maxwell filter. [no bad channels exclusion, otherwise the KIT layout breaks]

In brief,

Abu Dhabi KIT's data is cleaned and additional method didn't change anything. I suspect they actually make reference projection at acquisition time.

the least square fit on ref channels seems to be more efficient that the others methods. It reduces the variance before the auditory ERF.
e.g. : no correction

ls correction:

LS reduced the variance after the early auditory ERFs, but I think the topo looks artefactual, so it should be fine.
e.g. without ls correction

e.g. with ls correction

Unsurprisingly, LS is very sensitive to bad channels. It is thus easy to introduce crazy components if we do not reject bad trials:
before

after

Consequently, I am wondering whether we could have a regularlized version to automatically discard bad chans? But this may breaks the linearity right?

Finally, the SSS and SSP didn't change much at all. I have also tested TSPCA on one subject (I didn't manage to translate it in python, too long), and didn't see much difference either.

I haven't tried to fit these correction from an empty room.

I'm now onto checking the fwd and inv models to see whether we get what we expect; that would provides an additional check that the maxwell_filter correct.

sorry to go off on a tangent, but I like that code snippet thing in mne-report. Any chance you could share that code?

@jasmainak You'll find it very hackish, I made a class to simplify the MNE-report which detects whether you're running the caller is ipython or an actual script and extract its code. The class is also used to not initialize the save dir, and allows updating to dropbox; feel free to incorporate some of the concepts to mne reports.

Off-topic: looks like there are some potentially interesting pieces for
meeg-preprocessing in this report class.
On Thu, Jan 21, 2016 at 6:26 PM, Jean-Rémi KING<EMAIL_ADDRESS>wrote:

@jasmainak https://github.com/jasmainak You'll find it very hackish, I
made a class
https://github.com/kingjr/jr-tools/blob/master/jr/utils.py#L47 to
simplify the MNE-report which detects whether you're running the caller is
ipython or an actual script and extract its code. The class is also used to
not initialize the save dir, and allows updating to dropbox; feel free to
incorporate some of the concepts to mne reports.
—
Reply to this email directly or view it on GitHub
https://github.com/mne-tools/mne-python/issues/2112#issuecomment-173644259
.

@kingjr am I missing something or are you only showing SSP vs LS?

evoked.joint_plot is pretty nice isn't it? :)

@dengemann  > Sorry, I had updated the wrong report; see https://www.dropbox.com/s/2z2i6emtbb25htb/report.html?dl=0. SSS didn't change anything, but perhaps I should tweak some params? I'm happy to put the data online.

Off-topic: looks like there are some potentially interesting pieces for meeg-preprocessing in this report class.

Feel free to copy, but I think you'll find too hackish.
@jona-sassenhagen yep, and it actually helps a lot :]

@Eric89GXL The forward and inverse model seem to be roughly ok on me (i.e. sound activates A1) :

Finally, the SSS and SSP didn't change much at all.

This is surprising to me. By eye it looks like SSS did nothing to the data. Is it easy to compute and report what raw.estimate_rank() says for the original raw data, SSP'ed data, SSS'ed data, and SSP + SSS'ed data?
Have you tried tSSS (e.g., st_duration=10. or st_duration=60.)?

Here are the results. Note that the rank is computed on the raw, and that the SSP is computed afterwards.
My conclusions:
Least square projection
LS should be applied before data filtering, otherwise it introduces strong oscillatory artefacts.
filter => LS

LS => filter

(t)SSS

doing filtering before or after sss doesn't change anything

I'm not sure whether filtering should be done before or after tSSS (st_duration=10.), but they clearly lead to different results..

raw:

filter > tsss : the ERF components are stable (no wiggling around baseline)

tsss > filter : the ERF components are oscillatory

SSP
The way I used SSP didn't change anything at all, but I must say I don't understand this analysis very well; yet, I need to do my homework.
epochs = ssp.Epochs(raw, events, tmin=-.100, tmax=.700, baseline=None,
                                    preload=True, event_id=event_id)

Best combination?
IMO the best is LS => tsss => filter => epochs (no ssp): LS reduces the variance before sound onset. SSS seems to clean the data (high SNR) but completely changes the dipole locations. tSSS seems to reduce the signal power, but at least it keeps the correct topography.
LS alone

SSS alone

LS + SSS

LS + tSSS

full report here:
https://dl.dropboxusercontent.com/u/3518236/report_LS_SSS_SSP_TSSS_filter.html

@teonlamont I'm going to move this to mne-sandbox


I can't step on source files from "hot reloaded" dlls

When I compile and reload a dll, stepping through the source files doesn't work anymore, only on disassembly.

Can you test the temporary solution from #32?

Still doesn't work.

Thanks for this report. I've been straightening out a few other major issues but will look into this one shortly.

@DevAgu93 Can you give this a try after pulling & building the most recent changes in the master branch? Let me know if you still run into issues.

It works! though every time I compile, the game pauses for a bit before the debugger loads the dll.

the game pauses for a bit before the debugger loads the dll.
Just to explain myself better: the program freezes.

Great! Yeah, that delay is due to the debugger re-converting the PDB to RADDBG debug info for the module you're rebuilding. That is currently pretty slow because it's an unoptimized reference converter that was built with correctness & completeness as a priority. That will improve with time, since that is one of the main tasks in order to get the debugger up to speed for e.g. UE-sized projects.
In any case - closing this now, since the hot reloaded DLL issue has been fixed.


refactor(sd): Remove selenium

Update SD and backscraper
Update tests for new non selenium world.
this is by far my worst refactor.
the least confident.

Updated the Backscrapers to include a better yearly parsing

@mlissner I think this is also ready to be merged.

@mlissner I think this is also ready to be merged.

Sounds good. Merging without further review.


Support $.dump(obj, { noRefs: true }) where obj contains cyclic references

using "version": "3.10.0", if I run the following code:
const yaml = require('js-yaml')

const obj = {
    bar: 'baz'
}

obj.foo = obj

yaml.dump(obj, { noRefs: true })

I expect to see:
bar: baz

Instead, I observe:
/[...] $node index.js
/[...]/node_modules/js-yaml/lib/js-yaml/type/timestamp.js:25
  if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true;
                            ^

RangeError: Maximum call stack size exceeded
  at RegExp.exec (native)
  at Type.resolveYamlTimestamp [as resolve] (/[...]/node_modules/js-yaml/lib/js-yaml/type/timestamp.js:25:29)
  at testImplicitResolving (/[...]/node_modules/js-yaml/lib/js-yaml/dumper.js:166:14)
  at testAmbiguity (/[...]/node_modules/js-yaml/lib/js-yaml/dumper.js:344:14)
  at chooseScalarStyle (/[...]/node_modules/js-yaml/lib/js-yaml/dumper.js:300:22)
  at /[...]/node_modules/js-yaml/lib/js-yaml/dumper.js:347:13
  at writeScalar (/[...]/node_modules/js-yaml/lib/js-yaml/dumper.js:363:4)
  at writeNode (/[...]/node_modules/js-yaml/lib/js-yaml/dumper.js:744:9)
  at writeBlockMapping (/[...]/node_modules/js-yaml/lib/js-yaml/dumper.js:606:10)
  at writeNode (/[...]/node_modules/js-yaml/lib/js-yaml/dumper.js:720:9)

I found this investigating https://github.com/serverless/serverless/issues/4556.

Dumper does not track infinite loops. It's user's responsibility to sanitize data. norefs works when you pin the same object to multiple properties - then it creates copies, instead of refs.


Tabs: onChange shouldn't be mandatory + more typescript support

Issue and Steps to Reproduce
Upon adding Tabs component:
<Tabs>         <Tabs.Tab title="1">            Content 1         </Tabs.Tab>         <Tabs.Tab title="2">           Content 2         </Tabs.Tab>       </Tabs>
the tab change won't work because onChange is undefined. We must add a <Tabs onChange={console.log}> in order for tab change to work.
Besides, with typescript the props validations didn't work because it require all props  ...

Overload 1 of 2, '(props: Readonly): Tabs', gave the following error.
Type '{ children: Element[]; onChange: { (...data: any[]): void; (message?: any, ...optionalParams: any[]): void; (message?: any, ...optionalParams: any[]): void; }; }' is missing the following properties from type 'Readonly': className, activeIndex

we must bypass by adding our own declaration.
declare module "@axa-fr/react-toolkit-tabs" {   const Tabs: any;   export default Tabs; }
Versions
^1.3.4
Screenshots
Expected
Tab change to work on click on a Tab Item
Actual
Tab change not working without onChange
Additional Details

Installed packages

In which version do you see that ?

In which version do you see that ?

^1.3.4

It looks like it was fixed in version 1.3.14 by #615 .
Do you still reproduce it with the latest version?

yeah maybe i haven't tested the latest version, i'll try it hopefully there won't be any breaking css change because i had to overwrite severals classes. Thanks !


Describe the bug
MacOS 15.0 cannot get current ssid return  SSID Redacted
To Reproduce
Steps to reproduce the behavior:
run command
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I 2>/dev/null; echo "######" ; ioreg -n AppleBCMWLANSkywalkInterface -r 2>/dev/null
ssid value return  SSID Redacted
Environment (please complete the following information):

systeminformation package version:5.22.7
OS Sequoia 15.0
Hardware MacBook M1 Pro

@sebhildebrandt
You can use the following alternate command:
system_profiler SPAirPortDataType | awk '/Current Network/ {getline;$1=$1;print $0 | "tr -d ':'";exit}'

Also Airport command is deprecated.
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport
WARNING: The airport command line tool is deprecated and will be removed in a future release.


Question: Why do the nodes have 2 handles on the right hand side

I am new to Node Red so this is most likely a really basic question.
Why are there two "handles" on the right of the nodes? It seems that the top handle is the only one that actually does anything and if I link to the bottom node nothing seems to happen.

I looked at the code and figured it out, looks like the second one is for errors.


systemd-logs pods in CrashLoopBackoff because they can't connect to sonobuoy-master

This is on a Kubernetes cluster with a custom CNI plugin, so it's entirely possible the problem is with the CNI plugin and not sonobuoy.
The logs from the sonobuoy-worker container in the system-logs pods look like:
time="2018-02-01T19:04:28Z" level=info msg="Waiting on: (/tmp/results/done)"
time="2018-02-01T19:04:28Z" level=info msg="Detected done file, transmitting: (/tmp/results/systemd_logs)"
time="2018-02-01T19:06:00Z" level=error msg="error dialing master at http://sonobuoy-master:8080/api/v1/results/by-node/vk8-1-u-25-1/systemd_logs: Put http://sonobuoy-master:8080/api/v1/results/by-node/vk8-1-u-25-1/systemd_logs: dial tcp: i/o timeout"

I'm asking to find out how the systemd-logs pod is supposed to resolve this DNS entry.  It doesn't look like one of the standard DNS records for a Kubernetes pod, which have a leading IP address, and I couldn't find any pods with the hostname field set in the heptio-sonobuoy namespace, which is the standard method, AFAIK, of overriding the default DNS entry for a pod.

@ceridwen is kubedns deployed in your environment?

Yes, the kubedns pods are running on each node, have IPs, and don't have any obvious errors in their logs.

We have been planning to add a set of retries, b/c we've seen issues in name resolution.
/cc @fabioy

Just out of curiosity, why do the systemd pods use host networking rather than pod networking?

@liztio did you add retry logic in your plugin refactoring?

@timothysc I didn't add it, it was always there. we use Pester for this

We've so heavily refactored 0.11.0 I'm going to close this and during our qualifications if we run into it we'll reopen.  Otherwise there is not enough details for us to investigate further given the divergence from 0.10.0.

https://kubernetes.slack.com/archives/C6L3G051C/p1531323088000355


Any plans for the native apps testing?

Are you requesting a feature or reporting a bug?
Feature
I find TestCafe to be very developer-friendly and easy to use.
And it would be great if I can use the same approach for testing native android/ios apps.
So any plans to implementing native testing?

Hi Vasyl,
Thanks for your interest in our project. I believe that our approach would be useful for testing mobile apps. But our project is web-based and it necessary to rework almost the whole project to support it. So we don't plan to support native mobile apps testing for now.


Inventory Page - Grid View

Inventory Page - Grid View
As an user, I would like alternative views that I can switch between.  Currently, only a list view is offered.  I have to click on an item to see any information about it.  I would like a grid view that shows the items as squares on a grid with some brief information.  Possibly, make this information configurable so I can see what I want to see quickly.
Acceptance Criteria

Grid View created
Button(s) to toggle view mode on Inventory page
Possibly allow users to determine what info is shown

Closing due to time constraints.


makeOnePeriodOOSolver

This PR replaces the standalone object oriented solve* functions throughout ConsumptionSaving with a call to makeOnePeriodOOSolver, which takes a solver class as an argument.
This reduces the number of lines of code--especially redundant comments--by a lot.
It moves the selection of the basic or cubic ConsIndShock solver to the initializer of the type, to make the solver methods more consistent.
This version of the code is doing something a little funky by storing the solver class's initialization arguments on an attribute of the generated solver method. This is to accommodate the fact that in the core solution code, which this PR leaves unchanged, the solution loop is finding the values to pull from the Agent object based on the argument names of the onePeriodSolver. This design is, in my opinion, weird. But changing it would require deeper and more controversial refactorings.
The scope of this PR is intended to a simple, 'Pareto improving' step in code reduction.

It occurs to me that storing the OO solver constructor arguments on the solver function as I have done in this PR may be too much of a stretch.
I gather that Matt and Chris are committed to the following:

a one period solver method should know only about the value of present-time model parameters and the next solution

Currently, there is the following design assumption:

the arguments to the solver method correspond to attributes on the model class (though perhaps a time-varying attribute that requires a subscript before being passed to the solver)

In that case, maybe I was barking up the wrong tree trying to generalize around the OO solver.
On further inspection, it looks like the OO solver design is mainly there to break up a lot of otherwise complex functionality into submethods. But these methods operate pretty much in a sequence. I suppose this is why Matt's been favoring a non-OO, single function design in more recent solvers.
In other words, the main thing making the solve code so complex is that it's currently caught between two different design paradigms: functional, and object oriented. It may be that the best step forward would be to complete the transition towards the functional design, throughout HARK.
The main thing I'm not clear on yet is to what extent there is a generalizable logic to the backwards induction solvers. They are currently written in a way that all the state and control variables are hard-coded separately. But my understanding of the backwards induction technique is that it generalizes.
Maybe the best way to make headway would be to start trying to break down the OO solver into a single function. A new module solver.py could contain more of the functions that currently compose the OO solvers. In the process of working on that, maybe some redundancies would expose themselves.
I understand that these solvers are in a sense the core of the economic research being done here. Maybe they are truly so complex that there's really no way to tame them, at least without graduate level education in the subject matter. On the other hand, it seems like Matt has some misgivings about the current design and I'm definitely willing to try to fix things up, especially if he can provide direction about how to do that. I've been working with this code for months now and these solvers are still almost entirely opaque to me (the notation is not helping me....) and that's rather frustrating.

@mnwhite I believe this PR passed your review on Thursday and you were just waiting for tests to finish running after the update to merge.

Yes, will merge momentarily.
On Fri, May 15, 2020 at 9:39 AM Sebastian Benthall<EMAIL_ADDRESS>wrote:

@mnwhite https://github.com/mnwhite I believe this PR passed your
review on Thursday and you were just waiting for tests to finish running
after the update to merge.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/econ-ark/HARK/pull/680#issuecomment-629241514, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ADKRAFPBWDRTCMA6F4PVK2LRRVA2TANCNFSM4M3UTVZA
.


Question: HiFi adapters

Hi devs, is there a way to discard reads where SMRTbell adapter are detected? Can the --contam flag be used for that? Thx :)

Hi,
I don't think that is currently possible, is that a frequent problem?
--contam won't work, as that requires a large overlap between read and contaminant, at least 90% of the read has to align to the contaminant.
Best,
Wouter

Ok, I see. It happens, an artifact of CCS. Adapter detection is part of current VGP assembly recommended workflow: "However, due to the nature of SMRT sequencing technology, adapters do not have a specific, predictable location in HiFi reads. Additionally, the reads containing adapter sequences could be of generally lower quality compared to the rest of the reads. Thus, we will use cutadapt not to trim but to remove the entire read if a read is found to have an adapter inside of it."
It may be a nice addition to the tool to make it more universal. Thanks for the reply!


__shfl_sync instructions may have wrong member mask

When using WarpScanShfl from warp_scan_shfl.cuh inside a while() loop and in conjunction with a sub-warp LOGICAL_WARP_THREADS argument, i.e. LOGICAL_WARP_THREADS=2^n with n<5, I get lots of errors like these with cuda-memcheck --tool synccheck
========= Barrier error detected. Invalid arguments
=========     at 0x000000d0 in __cuda_sm70_shflsync_idx
=========     by thread (17,0,0) in block (204,0,0)
=========     Device Frame:__cuda_sm70_shflsync_idx (__cuda_sm70_shflsync_idx : 0xd0)
=========     Device Frame:/ccsopen/home/glaser/hoomd-blue/hoomd/extern/cub/cub/block/specializations/../../block/../util_ptx.cuh:358:void gpu_compute_nlist_binned_kernel<unsigned char=0, int=1, int=1>(unsigned int*, unsigned int*, double4*, unsigned int*, unsigned int const *, unsigned int const *, double4 const *, unsigned int const *, double const *, unsigned int, unsigned int const *, double4 const *, unsigned int const *, double4 const *, unsigned int const *, Index3D, Index2D, Index2D, BoxDim, double const *, double, unsigned int, double3, unsigned int, unsigned int, unsigned int) (void gpu_compute_nlist_binned_kernel<unsigned char=0, int=1, int=1>(unsigned int*, unsigned int*, double4*, unsigned int*, unsigned int const *, unsigned int const *, double4 const *, unsigned int const *, double const *, unsigned int, unsigned int const *, double4 const *, unsigned int const *, double4 const *, unsigned int const *, Index3D, Index2D, Index2D, BoxDim, double const *, double, unsigned int, double3, unsigned int, unsigned int, unsigned

I believe the root cause is the following.
WarpScanShfl sets its member_mask for the shfl_sync to reflect the sub-warp membership. However, what happens if some threads exit early, the compiler may predicate off this initialization statement, leaving member_mask in an invalid state. Later, when the PTX assembly instruction shfl.sync.idx.b32 is hit, it is executed without predicate  (such as @p) and thus with a wrong mask. Then cuda-memcheck finds that the executing warp lane executes an implicit syncwarp but without its mask bits set, and issues an error, as documented here:
https://docs.nvidia.com/cuda/cuda-memcheck/index.html#synccheck-demo-illegal-syncwarp
The safe solution would be to always use the full mask (0xffffffffu) to synchronize the entire warp. I realize this may not fully take advantage of Volta's independent thread scheduling. However, if that were the goal I think the CUB API would have to expose the member_mask somehow to allow the user to set it, so that it is possible to issue e.g. a ballot_sync  outside CUB first, and then pass the member mask to CUB. As discussed here: https://devblogs.nvidia.com/using-cuda-warp-level-primitives/
I will submit a pull request shortly for this solution.

This had a PR (#155). It looks like it closed during the reorganizations.
We should resurrect the PR, rebase it on main, and take a look, this sounds important.

@jglaser I know this issue is several years old, but do you happen to have some code that reproduces this or a recollection of how this situation occurred for you?
I'll summarize your report to make sure I understand it:

A partial warp enters WarpScanShfl::InclusiveScan using a LOGICAL_WARP_SIZE less than 32.
The compiler implements this divergence by predicating the instructions from the warp scan implementation.
WarpScanShuffle injects inline PTX that calls an unpredicated shfl.sync.up.b32.
The lanes that /should/ be inactive execute this instruction with an uninitialized member_mask.

Basically, this: https://www.godbolt.org/z/T6jrx75M6
I'm trying to find a repro where the compiler would implement the branch using an execution mask instead of branching so I can test this, but it's not clear how this would happen.

We would need to get a reproducer on this to keep this open. @jglaser could you provide a recent reproducer?

I am afraid that I am not actively working on the CUB code inside HOOMD-blue which would allow me to test the above behavior again. Feel free to close, if I remember correctly it may have been a false positive with cuda-memcheck. If not, can always reopen later.


Rework the OnDemand service

The way it works before this PR:

When constructing a light client, the client itself creates an Arc<OnDemand> object containing a dyn FetchChecker and returns it.
We then create the NetworkService and pass the Arc<OnDemand> to the constructor.
We then call OnDemand::set_network_interface in order to store, in an abstract way, a weak pointer to some struct containing channels. If we forget to do that, everything will panic.
The client keeps a copy of the Arc<OnDemand> and uses it to perform queries. These queries are sent to the network interface through the channels in the weak pointer. The client holds a future::sync::oneshot::Receiver for each request performed this way.
Whenever the network receives a response, it locks a mutex and gives it to the OnDemand. The OnDemand optionally sends something on the appropriate channel (whose Receiver is held by the client).

The way it works after this PR:

When constructing a light client, the client itself creates an Arc<OnDemand> object containing a dyn FetchChecker and returns it.
We then create the NetworkService and pass the Arc<OnDemand> to the constructor.
The set_network_interface method is gone.
The client keeps a copy of the Arc<OnDemand> and uses it to perform queries. These queries are temporarily put in a queue. The client holds a future::sync::oneshot::Receiver for each request performed this way.
In parallel, the network service thread reads this queue and, with the help of the OnDemandCore, starts the queries.
Whenever the network receives a response, it gives it to the OnDemandCore. The OnDemandCore optionally sends something on the appropriate channel (whose Receiver is held by the client).

Advantages:

We removed a mutex and replaced it with a channel.
No more cyclic dependency between the network and the client.
The spaghetti design is moved to the NetworkService, while the internals of Protocol no longer have to deal with concurrency.
We can more easily modify the OnDemandCore with something else in the future as it is now decoupled from the public API of the crate.

The third point opens the door for further refinements, such as sending the on-demand request on the same channel as the one used by the rest of the network thread.

cc #2536

if it is used, then we will actually send request to some remote peer, wait until response is received and then disconnect honest peer because check has failed.

That's true, but I don't see how that could happen by mistake.
On the other hand, the fact that the OnDemandCore is no longer an Option means that we no longer ignore unexpected response messages coming from the remote, but actually process them and do the reputation adjustment and disconnection.


Jsonp/download url fix

Hey,
Noticed that jsonp requests within jsdom windows were broken due to omitting the query part from the download urls. Here's a jsonp request test, using jquery, which demonstrates the issue, as well as a fix suggestion.
Cheers,

Landed, thanks! Feel free to add yourself to the contributors section of package.json

Very cool - thanks!


Add support for dev release from older release branches instead of main

This PR adds functionality to cut a dev release off of branches other than main on eks-anywhere-build-tooling.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: abhay-krishna
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [abhay-krishna]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@abhay-krishna: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

eks-anywhere-e2e-presubmit
a8cf28b72a61c9f2aac97c0725a94d135930d351
link
/test eks-anywhere-e2e-presubmit

Full PR test history. Your PR dashboard.

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

@abhay-krishna: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

eks-anywhere-e2e-presubmit
c6cfb1c1493862b851d968bc9b53674fd0f316dd
link
/test eks-anywhere-e2e-presubmit

Full PR test history. Your PR dashboard.

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

@abhay-krishna: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

eks-anywhere-e2e-presubmit
ebbc6f66393b78320b84f6046b43ea4534cc213a
link
/test eks-anywhere-e2e-presubmit

Full PR test history. Your PR dashboard.

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


Artifact removal via FFT?

The issue has been narrowed down to the selection of orthonormal bases via the rand_index, see #37.


Use io.prometheus.client.CollectorRegistry.defaultRegistry by default?

G'day! This is an awesome library. Thank you so much for making it.
I'm enjoying the ring and jvm wrappers very much. However, I've recently added to my project the InstrumentedAppender but it only has a mechanism for registering its collector with the Prometheus Java client's default registry.
This means that the ring wrapper exposing metrics at /metrics doesn't pick up any non-iapetos collectors because a different default registry is created by iapetos.
I'm wondering if https://github.com/xsc/iapetos/blob/master/src/iapetos/registry.clj#L79 should be more like:
(defn create
  ([]
   (IapetosRegistry. "iapetos_registry" (CollectorRegistry/defaultRegistry) {} {})))
  ([registry-name]
   (IapetosRegistry. registry-name (CollectorRegistry.) {} {})))

This keeps the "iapetos_registry" name for the default registry for any existing code that might use it, but uses the underlying Prometheus Java client's default registry.

@delitescere Thanks for reaching out! I do have a problem, though, with implicitly exposing the default registry, since create kinda indicates that a fresh registry is produced. What do you think about just adding iapetos.core/default-registry? Then anyone could decide to use it directly and explicitly.
Note to self: pushable-collector-registry needs an adjustment for this, allowing a registry to be injected.

@xsc excellent idea.

Release Notes

Yes, the problem is now there's no surface idempotency. I'm using this in a stuartsierra system, so components can be started, stopped, and restarted. As the same registry is being used, the collectors have already been registered. There's no iapetos mechanism for unregistering at the moment. I'll keep tinkering.


Allow value types in streams

@martinothamar Can you rebase your branch onto the current master and fix the merge conflict? Thanks!

Woops forgotten this PR. Will fix this tonight


[BUG] Updating protocol group headers errors if split too often.

Describe the bug
Updating protocol group header errors if one protocol is split too often.
To Reproduce
Insert protocol with at least 3 building blocks.

Insert any building block between block 1 and 2 of the protocol
Sucess
Insert any building block between block 2 and 3 of the protocol
Error. Values not load correctly.

Fixed!


FotoToon Activity Interactive Buttons

Fixes issue #1221

@llaske I've updated the toon.js file so that the interactive buttons appear above
Could you please review it

Very cool! :+1:
BTW the issue is still on the main title. Could you fix it too?

@llaske
I've tried and updated it, it now looks like this, tried hard but that dotted rectangle wasn't going back , the things were becoming static on apply it.

@llaske I've tried and updated it, it now looks like this, tried hard but that dotted rectangle wasn't going back , the things were becoming static on apply it.

It's because you've added controls before the dotted line was drawn.
Add it after, it should work.

@llaske, now it's working perfectly as expected

@Vishalk91-4 could you ensure that only changed lines are updated.
Lot of lines change only for indentation reason:

@llaske, Now I've removed the unnecessary indentations, now it's structured properly

Now I've removed the unnecessary indentations, now it's structured properly

Good. It's important for maintenance reason to be able to identify only lines really changed by the PR.
Thanks.

Now I've removed the unnecessary indentations, now it's structured properly

Good. It's important for maintenance reason to be able to identify only lines really changed by the PR.
Thanks.

Yes, I'll surely keep that in mind while working on other things


status register value always reads 0x0000 in eth_mcux_phy_setup

Describe the bug
In drivers/ethernet/eth_mcux.c:eth_mcux_phy_setup ENET_ReadSMIData is called right after calling ENET_StartSMIRead without waiting for the MII interrupt, which leads to the value of the status variable to always be 0x0000.
The correct sequence is documented in the i.MX RT1060 reference manual in chapter <IP_ADDRESS>.
I've hacked the eth_mcux_phy_setup function to poll the EIR register until the MII interrupt bit is set before reading the status register and it works (i.e. the content of the status register is correctly retrieved).
Expected behavior
Status register value is correctly retrieved.
Impact
Calling eth_mcux_phy_setup has no effect.
Environment (please complete the following information):

OS: Linux (Ubuntu 18.04)
Toolchain: Zephyr SDK 0.10.3
Commit: 9f7cccc90f648953e0d198fffda22928edb277cf

Additional context
This problem occurs on a custom board equipped with the IMXRT1062 MCU but should occur as well with the MIMXRT1060-EVK.

I tested it on the MIMXRT1060-EVK board and the problem is the same.


Fix in callback type definition for d3.xhr methods

#4394

@jarandaf thanks mate!

note
https://github.com/mbostock/d3/blob/3abb00113662463e5c19eb87cd33f6d0ddc23bc0/src/xhr/xhr.js#L99