EXCEPTION: undefined method '[]' for nil in release candidate

I was very excited to try out the release candidate, but sadly, I couldn't get it to work.
When I try to run any ceedling command in my project, I get the following error:
EXCEPTION: undefined method '[]' for nil
I have tried it with two ruby versions, deleted stuff from the project config, and tried it with an empty project. As long as the minimal things are configured, it fails with that error. In a project created with ceedling new, it works though.
My only suspicion is that my project was created with ceedling 0.30.0 and somehow messed with the environment.
Details
Full output:
ceedling --verbosity obnoxious test:all
Loaded project configuration at default location using ./project.yml
 > Defaulting to running Ceedling from Gem

Validating configuration contains minimum required sections...

Project Configuration Handling
------------------------------
Processing Unity configuration...

Plugin Handling
---------------
Discovering all plugins...

Assembling Default Settings
---------------------------
Collecting default tool configurations...

EXCEPTION: undefined method `[]' for nil

I don't know to to make ruby emit a full stack trace here.
Minimized project.yml  (Can't publish the full config sadly)
:project:
  :build_root: build

:paths:
  :test:
    - "aaaaaaaaaaaaaaaaa"

  :source:
    - "bbbbbbbbbbbbbbbbb"

Versions:
Old ruby: ruby 3.0.4p208 (2022-04-12 revision 3fa771dded) [i386-mingw32]
New ruby: ruby 3.3.4 (2024-07-09 revision be1089c8ec) [x64-mingw-ucrt]
Ceedling installed with gem install ceedling --local .\ceedling-1.0.0-28f9e30.gem
ceedling --version
Welcome to Ceedling!

   Ceedling => 1.0.0
      CMock => 2.5.4
      Unity => 2.6.0
 CException => 1.3.4

OS is Windows 10. Commands ran in PowerShell.

Hi, @Julian-Wollersberger. Thank you so much for this report. Could you run ceedling --verbosity debug test:all and post the full backtrace. That'll tell us where the problem is.

Of course:
ceedling --verbosity debug test:all
Loaded project configuration at default location using ./project.yml
 > Defaulting to running Ceedling from Gem

Validating configuration contains minimum required sections...

Project Configuration Handling
------------------------------
Processing Unity configuration...

Plugin Handling
---------------
Discovering all plugins...

Assembling Default Settings
---------------------------
Collecting default tool configurations...

EXCEPTION: undefined method `[]' for nil
Backtrace ==>
C:/Program Files (x86)/Ruby/lib/ruby/gems/3.3.0/gems/ceedling-1.0.0/lib/ceedling/configurator.rb:99:in `merge_tools_defaults': undefined method `[]' for nil (NoMethodError)
        C:/Program Files (x86)/Ruby/lib/ruby/gems/3.3.0/gems/ceedling-1.0.0/lib/ceedling/setupinator.rb:105:in `do_setup'
        C:/Program Files (x86)/Ruby/lib/ruby/gems/3.3.0/gems/ceedling-1.0.0/lib/ceedling/rakefile.rb:65:in `<top (required)>'
        <internal:C:/Program Files (x86)/Ruby/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
        <internal:C:/Program Files (x86)/Ruby/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
        C:/Program Files (x86)/Ruby/lib/ruby/gems/3.3.0/gems/ceedling-1.0.0/bin/cli_helper.rb:127:in `load_ceedling'
        C:/Program Files (x86)/Ruby/lib/ruby/gems/3.3.0/gems/ceedling-1.0.0/bin/cli_handler.rb:199:in `build'
        C:/Program Files (x86)/Ruby/lib/ruby/gems/3.3.0/gems/ceedling-1.0.0/bin/cli.rb:312:in `build'
        C:/Program Files (x86)/Ruby/lib/ruby/gems/3.3.0/gems/thor-1.3.1/lib/thor/command.rb:28:in `run'
        C:/Program Files (x86)/Ruby/lib/ruby/gems/3.3.0/gems/thor-1.3.1/lib/thor/invocation.rb:127:in `invoke_command'
        C:/Program Files (x86)/Ruby/lib/ruby/gems/3.3.0/gems/thor-1.3.1/lib/thor.rb:527:in `dispatch'
        C:/Program Files (x86)/Ruby/lib/ruby/gems/3.3.0/gems/ceedling-1.0.0/bin/cli.rb:92:in `start'
        C:/Program Files (x86)/Ruby/lib/ruby/gems/3.3.0/gems/ceedling-1.0.0/bin/ceedling:125:in `<top (required)>'
        C:/Program Files (x86)/Ruby/bin/ceedling:32:in `load'
        C:/Program Files (x86)/Ruby/bin/ceedling:32:in `<main>'

Following that stack trace, I added this to my project file:
:test_build:
  :use_assembly: FALSE

:cmock:
  :unity_helper_path: []

This gets me further into the validaton 👍
Now I can rework my option:foo stuff into mixins :)

Ah ha. Thank you for this. @Julian-Wollersberger, you helped uncover a subtle bug in the new and improved defaults handling!

@Julian-Wollersberger I believe the most recent prerelease fixes the problem. You won't need the :test_build and :cmock settings you added to work around the bug.
I'm going to close this issue. Please reopen if the issue is not resolved.

Yes, it works now. Thanks!


macOS support

I tried to use libvosk.dylib from vosk-0.3.45 and got an error:
Building macOS application...
dyld[1236]: Library not loaded: 'libvosk.dylib'
  Referenced from: '/Users/mac/projects/flutter/vosk-flutter/example/build/macos/Build/Products/Debug/vosk_flutter_example.app/Contents/MacOS/vosk_flutter_example'
  Reason: tried: 'libvosk.dylib' (no such file), '/usr/local/lib/libvosk.dylib' (no such file), '/usr/lib/libvosk.dylib' (no such file), '/Users/mac/projects/flutter/vosk-flutter/example/libvosk.dylib' (no such file), '/usr/local/lib/libvosk.dylib' (no such file), '/usr/lib/libvosk.dylib' (no such file)

After a little investigation, I found that libvosk.dylib does have a non-rpath reference inside, which is causing the problem:
mac@Mac-mini-Mac Libraries % otool -L libvosk.dylib
libvosk.dylib:
        libvosk.dylib (compatibility version 0.0.0, current version 0.0.0) # <- this one
        /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate (compatibility version 1.0.0, current version 4.0.0)
        /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 1200.3.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1311.0.0)

But I'm not much in macOS and CMake, so would appreciate any help in compiling the voks-api with RPATH enabled 🙏

P. S. I've already tried to modify libvosk.dylib using install_name_tool but got stuck with https://github.com/pyinstaller/pyinstaller/wiki/Recipe-OSX-Code-Signing#pyinstaller-fix-implementation

It is not about dylib itself, I believe dylib just have to be in the flutter package where linker finds it

Actually, it's already there(it's placed to Frameworks during build):

but linker tries to find it in the project root. And you gave me an idea - we can just create a symlink in the project root as a workaround 🤔
P. S. It looks like there is wrong version of the libvosk.dylib inside the https://repo1.maven.org/maven2/com/alphacephei/vosk/0.3.45/vosk-0.3.45.jar
00:46 +5 -1: Recognizer Constructor grammar and #setGrammar give same result [E]
  Invalid argument(s): Failed to lookup symbol 'vosk_recognizer_set_grm': dlsym(0x2020df5a0, vosk_recognizer_set_grm): symbol not found

Can this be implemented please


UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 12-13: invalid continuation byte

Dear developers,
after an upgrade to 1.1.5a (the genome issue). When running a pipeline (working in 1.1.1), I got following error:
[2019-04-06T17:32Z] multiprocessing: organize_samples
[2019-04-06T17:32Z] Using input YAML configuration: /srv/workspace/rprojects/tmohr/MEDUNI/TUMOR/SKCM/SIBILIA-SKCM0010/project_hg38/config/project_hg38.yaml
[2019-04-06T17:32Z] Checking sample YAML configuration: /srv/workspace/rprojects/tmohr/MEDUNI/TUMOR/SKCM/SIBILIA-SKCM0010/project_hg38/config/project_hg38.yaml
Traceback (most recent call last):
File "/opt/bcbio/bin/bcbio_nextgen.py", line 238, in
main(**kwargs)
File "/opt/bcbio/bin/bcbio_nextgen.py", line 46, in main
run_main(**kwargs)
File "/opt/bcbio/anaconda/lib/python3.6/site-packages/bcbio/pipeline/main.py", line 45, in run_main
fc_dir, run_info_yaml)
File "/opt/bcbio/anaconda/lib/python3.6/site-packages/bcbio/pipeline/main.py", line 89, in _run_toplevel
for xs in pipeline(config, run_info_yaml, parallel, dirs, samples):
File "/opt/bcbio/anaconda/lib/python3.6/site-packages/bcbio/pipeline/main.py", line 126, in variant2pipeline
[x[0]["description"] for x in samples]]])
File "/opt/bcbio/anaconda/lib/python3.6/site-packages/bcbio/distributed/multi.py", line 28, in run_parallel
return run_multicore(fn, items, config, parallel=parallel)
File "/opt/bcbio/anaconda/lib/python3.6/site-packages/bcbio/distributed/multi.py", line 86, in run_multicore
for data in joblib.Parallel(parallel["num_jobs"], batch_size=1, backend="multiprocessing")(joblib.delayed(fn)(*x) for x in items):
File "/opt/bcbio/anaconda/lib/python3.6/site-packages/joblib/parallel.py", line 921, in call
if self.dispatch_one_batch(iterator):
File "/opt/bcbio/anaconda/lib/python3.6/site-packages/joblib/parallel.py", line 759, in dispatch_one_batch
self._dispatch(tasks)
File "/opt/bcbio/anaconda/lib/python3.6/site-packages/joblib/parallel.py", line 716, in _dispatch
job = self._backend.apply_async(batch, callback=cb)
File "/opt/bcbio/anaconda/lib/python3.6/site-packages/joblib/_parallel_backends.py", line 182, in apply_async
result = ImmediateResult(func)
File "/opt/bcbio/anaconda/lib/python3.6/site-packages/joblib/_parallel_backends.py", line 549, in init
self.results = batch()
File "/opt/bcbio/anaconda/lib/python3.6/site-packages/joblib/parallel.py", line 225, in call
for func, args, kwargs in self.items]
File "/opt/bcbio/anaconda/lib/python3.6/site-packages/joblib/parallel.py", line 225, in
for func, args, kwargs in self.items]
File "/opt/bcbio/anaconda/lib/python3.6/site-packages/bcbio/utils.py", line 55, in wrapper
return f(*args, **kwargs)
File "/opt/bcbio/anaconda/lib/python3.6/site-packages/bcbio/distributed/multitasks.py", line 424, in organize_samples
return run_info.organize(*args)
File "/opt/bcbio/anaconda/lib/python3.6/site-packages/bcbio/pipeline/run_info.py", line 61, in organize
is_cwl=is_cwl, integrations=integrations)
File "/opt/bcbio/anaconda/lib/python3.6/site-packages/bcbio/pipeline/run_info.py", line 1025, in _run_info_from_yaml
_check_sample_config(run_details, run_info_yaml, config)
File "/opt/bcbio/anaconda/lib/python3.6/site-packages/bcbio/pipeline/run_info.py", line 791, in _check_sample_config
_check_quality_format(items)
File "/opt/bcbio/anaconda/lib/python3.6/site-packages/bcbio/pipeline/run_info.py", line 670, in _check_quality_format
fastq_format = _detect_fastq_format(fastq_file)
File "/opt/bcbio/anaconda/lib/python3.6/site-packages/bcbio/pipeline/run_info.py", line 629, in _detect_fastq_format
for line in four:
File "/opt/bcbio/anaconda/lib/python3.6/codecs.py", line 321, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 12-13: invalid continuation byte
Any ideas what is happening ?
best and thanks for the help,
Thomas

Thomas;
Thank you for the report and apologies about the issues. The latest release uses Python 3, which is more careful about string encodings, and is complaining because your fastq file has some non-utf8 characters. I pushed a speculative fix which should resolve this if that's really the cause. The other potential issue might be that your input fastq is gzipped or otherwise compressed but the file extension does not match that and bcbio doesn't know. If that's the case, then adjusting the file names to match the compression will hopefully get things working cleanly. Hope one of these two gets your analysis finished.

Thanks for your quick reply, I upgraded with the -u development option, but that does not resolve the issue. The files are bzip2 compressed, with the extension .fastq.bz2. The pipeline had no problems using the version 1.1.1, so the compression should be OK. How does one force bcbio to recognize these files ?

Thomas;
Thanks much for following up with the additional details. This helped isolate the issue, which wasn't really a python3 problem but rather python3 exposing that we shouldn't have been trying to do the automated format detection with bzip2 input. I pushed a fix for this, so if you update one more time and retry I hope it will now work cleanly for you. Thank you again for the help debugging and please let us know if you run into any other issues.


HtmlFormatter stripping new lines

(Original issue 364 created by None on 2008-09-19T02:16:21+00:00)
Either I'm using HtmlFormatter wrong or it is removing new lines.
I'm simply calling highlighter like so:
txt = highlight(txt, PythonLexer(), HtmlFormatter())
Then assigning the text to a QTextDocument object... when i do a print(txt) before and after the highlight() call, you can see the new line there before, then it dissapears after the call to highlight().
Am I just doing something wrong or is this how its supposed to work?
Thanks,
Ben
Reported by guest

(Original issue 364 last updated on 2016-02-02T14:44:14.122592+00:00)
(Issue automaticaly closed due to status in Bitbucket: wontfix)

(Original comment by awatts on 2009-02-26T15:52:14+00:00)
Is there any change that the code that I supplied which actually fixes this bug could make it into the library?  If the fix is wrong please let me know why so I can look at it again.
Alternatively if you could point me in the direction of the "several places in Pygments that expect that code ends in a newline" then I'll see if that can be changed.
I would like this done as I have code which is sensitive to leading and trailing new line characters.  Thanks.

(Original comment by awatts on 2008-11-17T11:14:42+00:00)
Unfortunately I have code which is sensitive to this.  I've written a diff program which compares two files and presents the differences side-by-side.  The two files are displayed syntax highlighted.  In this particular case introducing newline characters to the files is causing problems.
If you can let me know why newlines are expected at the end of code then I'm happy to continue looking into this problem.  Thanks.

(Original comment by gbrandl on 2008-11-15T17:34:50+00:00)
There are several places in Pygments that expect that code ends in a newline. I can't remember what exactly, but it made stuff much easier at several places. I don't think this is a problem, as code shouldn't be sensitive to that.

(Original comment by awatts on 2008-10-20T16:03:43+00:00)
I believe the following solves the probelm:
Remove
{{{
#!python
if not text.endswith('\n'):
text += '\n'
}}}
from get_tokens in lexer.py.
Change
{{{
#!python
if line:
yield 1, line + (lspan and '') + lsep
}}}
to
{{{
#!python
if line:
yield 1, line + (lspan and '')
}}}
in _format_lines in formatters/html.py.
Please note I've only verified this works with the test cases above.

(Original comment by awatts on 2008-10-15T11:56:23+00:00)
I've applied fix [a471fde4e814], but still run into a problem.  I've written the following code to test various inputs.  The output is the test number and whether the test passed.
{{{
#!python
from pygments import highlight
from pygments.lexers import get_lexer_by_name
from pygments.formatters import HtmlFormatter
This class is to give a marked up line of code for each line of code given
without any wrapping tags
class MyHtmlFormatter(HtmlFormatter):
def _wrap_div(self, inner):
for tup in inner:
yield tup
def _wrap_pre(self, inner):
for tup in inner:
yield tup
formatter = MyHtmlFormatter()
lexer = get_lexer_by_name('python', stripall=False, stripnl=False)
The tests
tests = [
"print 'Hello world'",
"print 'Hello world'\n",
"print 'Helloworld'\n\n",
"\nprint 'Helloworld'",
"\nprint 'Helloworld'\n",
"\n\nprint 'Helloworld'\n",
"\nprint 'Helloworld'\n\n",
"\n\nprint 'Helloworld'\n\n",
]
for linenum, code in enumerate(tests):
result = highlight(code, lexer, formatter)
print linenum, len(result.split('\n')) == len(code.split('\n'))
}}}
The output I get is:
{{{
0 False
1 True
2 True
3 False
4 True
5 True
6 True
7 True
}}}
Something is introducing a trailing newline when one doesn't exist in the original.  Removing
{{{
#!python
if not text.endswith('\n'):
text += '\n'
}}}
from get_tokens doesn't seem to help.  I'll do some more investigation when I get the chance.

(Original comment by thatch on 2008-09-21T16:44:14+00:00)
This is supposed to be fixed in [a471fde4e814].
I gave it a quick try and it appears to work now.  Ben, can you provide some example text that still doesn't work post-[a471fde4e814] using the Python lexer?
{{{

from pygments import highlight
from pygments.lexers.agile import PythonLexer
from pygments.formatters import HtmlFormatter
x = "a=1\n\n"
highlight(x, PythonLexer(stripnl=False), HtmlFormatter())
u'a=1\n\n\n'
}}}

(Original comment by None on 2008-09-19T17:27:09+00:00)
Replying to [ticket:364 guest]:
Some additional notes.. I wrote my own Lexer today to verify it was not the lexer... it doesn't appear to be the lexer thats the problem... looks like its in the HtmlFormatter()
Here is the Lexer I wrote:
class OS_PuppetLexer(RegexLexer):
name = 'Puppet'
alias = [ 'puppet' ]
filenames = [ '*.pp' ]
tokens = {
    'root': [
        (r'\\#.*$', Comment)
    ]
}

(Original comment by tshatch on 2015-10-17T14:21:20.045230+00:00)
I suspect the issues Georg was writing about were in individual lexers -- some of them match .*\n sort of things intending to get an entire line.

(Original comment by birkenfeld on 2016-02-02T14:44:14.142224+00:00)
Closing as wontfix, for now.


ENTESB-4596 SY: Property expansion for soap binding

https://issues.jboss.org/browse/ENTESB-4596

Can one of the admins verify this patch?

@dvirgiln : Do you mind adding a test that demonstrates this?

I've included a change in one quickstart, so customers can see this capability (sometimes the capabilities are not known by customers because they are not demostrated on quickstarts).
Anyway I consider is good as well to include a junit test.

I ve included a junit test and I checked the checkstyle.

ok to test

Processed and merged to product branch.


Network error option

Add a parameter allowing the user to display an error notification when a network error occured.

Working hard to implement this issue ;-)


treewide: mass rebuild noop cleanups

Motivation for this change
First patch is the first patch of #46115 (which should also close #43547 again, but without the "controversial" second patch of #46115), second patch is a fixed edited version of #46127, the rest are trivial noop changes that cause mass rebuilds.
Things done

[X] Trivial.
[X] All touched packages still build.
[X] Running on top of this for a month without issues.

/cc @Ericson2314

Timed out, unknown build status on x86_64-linux (full log)
Attempted: gcc7, libdaemon, linuxHeaders, llvm_5, newt, pkgconfig, stdenv, texinfo
Partial log (click to expand)
cannot build derivation '/nix/store/v88iwmvr6smk46mik6ha9h25ngbvw7j3-perl5.28.0-XML-Parser-2.44.drv': 5 dependencies couldn't be built
cannot build derivation '/nix/store/1dfmm3zl3z5gq0m8nr9zy269cb7c62xj-intltool-0.51.0.drv': 5 dependencies couldn't be built
cannot build derivation '/nix/store/w4bf14ylkmk2hjy55b7q5q2j53d12xmv-gnome-doc-utils-0.20.10.drv': 10 dependencies couldn't be built
cannot build derivation '/nix/store/2gr4bygnvrc1cl0sczfirqbncpf7sp06-shadow-4.6.drv': 11 dependencies couldn't be built
cannot build derivation '/nix/store/rwinljk9asx5bp3jl1fli0s1j2ynym2d-util-linux-2.32.1.drv': 5 dependencies couldn't be built
cannot build derivation '/nix/store/w1qypjydppjiysf4q3wlg47w9z5rgkf6-e2fsprogs-1.44.4.drv': 7 dependencies couldn't be built
cannot build derivation '/nix/store/jym3ccvyzmv3g1a718z2737m0fv0il19-libarchive-3.3.2.drv': 12 dependencies couldn't be built
cannot build derivation '/nix/store/y04x7qy9b5jdr9g7sgp7n53z09mwsnpd-cmake-3.12.1.drv': 11 dependencies couldn't be built
cannot build derivation '/nix/store/nb1ww7p4am45shj9dybnv9hqzsww00kw-llvm-5.0.2.drv': 8 dependencies couldn't be built
error: build of '/nix/store/5v1agk29ycij47xb704lh6zi3hnzl6qn-texinfo-6.5.drv', '/nix/store/8szqv2qd8pkbqb2df5j081iniv6k1r25-pkg-config-0.29.2.drv', '/nix/store/bg6az8bb1b147mghc4r9i5pvryg53k16-libdaemon-0.14.drv', '/nix/store/bnmwz9ll6c61bc2k0076l5385viwckdd-stdenv-linux.drv', '/nix/store/h32lkx4ga2jak0yfnsm805y1sxh9mw6y-gcc-wrapper-7.3.0.drv', '/nix/store/ipmw91zl98p2ais7gab00p2sjvp66h2i-linux-headers-4.18.3.drv', '/nix/store/nb1ww7p4am45shj9dybnv9hqzsww00kw-llvm-5.0.2.drv', '/nix/store/wixwkk04r9iwbmv7qrjn1zcdi1jsgdj7-newt-0.52.20.drv' failed

Timed out, unknown build status on x86_64-linux (full log)
Attempted: gcc7, libdaemon, linuxHeaders, llvm_5, newt, pkgconfig, stdenv, texinfo
Partial log (click to expand)
cannot build derivation '/nix/store/v88iwmvr6smk46mik6ha9h25ngbvw7j3-perl5.28.0-XML-Parser-2.44.drv': 5 dependencies couldn't be built
cannot build derivation '/nix/store/1dfmm3zl3z5gq0m8nr9zy269cb7c62xj-intltool-0.51.0.drv': 5 dependencies couldn't be built
cannot build derivation '/nix/store/w4bf14ylkmk2hjy55b7q5q2j53d12xmv-gnome-doc-utils-0.20.10.drv': 10 dependencies couldn't be built
cannot build derivation '/nix/store/2gr4bygnvrc1cl0sczfirqbncpf7sp06-shadow-4.6.drv': 11 dependencies couldn't be built
cannot build derivation '/nix/store/rwinljk9asx5bp3jl1fli0s1j2ynym2d-util-linux-2.32.1.drv': 5 dependencies couldn't be built
cannot build derivation '/nix/store/w1qypjydppjiysf4q3wlg47w9z5rgkf6-e2fsprogs-1.44.4.drv': 7 dependencies couldn't be built
cannot build derivation '/nix/store/jym3ccvyzmv3g1a718z2737m0fv0il19-libarchive-3.3.2.drv': 12 dependencies couldn't be built
cannot build derivation '/nix/store/y04x7qy9b5jdr9g7sgp7n53z09mwsnpd-cmake-3.12.1.drv': 11 dependencies couldn't be built
cannot build derivation '/nix/store/nb1ww7p4am45shj9dybnv9hqzsww00kw-llvm-5.0.2.drv': 8 dependencies couldn't be built
error: build of '/nix/store/5v1agk29ycij47xb704lh6zi3hnzl6qn-texinfo-6.5.drv', '/nix/store/8szqv2qd8pkbqb2df5j081iniv6k1r25-pkg-config-0.29.2.drv', '/nix/store/bg6az8bb1b147mghc4r9i5pvryg53k16-libdaemon-0.14.drv', '/nix/store/bnmwz9ll6c61bc2k0076l5385viwckdd-stdenv-linux.drv', '/nix/store/h32lkx4ga2jak0yfnsm805y1sxh9mw6y-gcc-wrapper-7.3.0.drv', '/nix/store/ipmw91zl98p2ais7gab00p2sjvp66h2i-linux-headers-4.18.3.drv', '/nix/store/nb1ww7p4am45shj9dybnv9hqzsww00kw-llvm-5.0.2.drv', '/nix/store/wixwkk04r9iwbmv7qrjn1zcdi1jsgdj7-newt-0.52.20.drv' failed

Timed out, unknown build status on aarch64-linux (full log)
Attempted: gcc7, libdaemon, linuxHeaders, llvm_5, newt, pkgconfig, stdenv, texinfo
Partial log (click to expand)
cannot build derivation '/nix/store/n9h95acfhrbcwzdqhwfdmz4k0w47kaq0-python2.7-setuptools-40.2.0.drv': 5 dependencies couldn't be built
cannot build derivation '/nix/store/5xa4a9yhl1vjz6z3yd3s3qvqy0l873xn-intltool-0.51.0.drv': 5 dependencies couldn't be built
cannot build derivation '/nix/store/6fwnk4aafk22blx32zidhrdanza1hp83-gnome-doc-utils-0.20.10.drv': 10 dependencies couldn't be built
cannot build derivation '/nix/store/zqrrwj8aj7imqhvx0za4p5jpgmwwaqn2-shadow-4.6.drv': 11 dependencies couldn't be built
cannot build derivation '/nix/store/3q1gfdsb4m4xij9fl2pqd8kgaix0jffb-util-linux-2.32.1.drv': 5 dependencies couldn't be built
cannot build derivation '/nix/store/2zwfqf7wxrdzfqrci2hfgs5fhh4grm8f-e2fsprogs-1.44.4.drv': 7 dependencies couldn't be built
cannot build derivation '/nix/store/hp5q28yfb2qm7rx6lkbi2qgb8c6m5zb1-libarchive-3.3.2.drv': 12 dependencies couldn't be built
cannot build derivation '/nix/store/wm190qsyxr4x67nz03ax13g2wm5szy8g-cmake-3.12.1.drv': 11 dependencies couldn't be built
cannot build derivation '/nix/store/6xc0rfc7zrd54zdm1v2c7sgmr63q9p29-llvm-5.0.2.drv': 8 dependencies couldn't be built
error: build of '/nix/store/0ggn1lksci3bqafxci1i2piav2hb9kgc-libdaemon-0.14.drv', '/nix/store/19r3ybk964qvn9z9v0fbjrdync1zhkwy-pkg-config-0.29.2.drv', '/nix/store/24l0dgjqa05h0rzyr8v3vzz5kwn4qi31-texinfo-6.5.drv', '/nix/store/6xc0rfc7zrd54zdm1v2c7sgmr63q9p29-llvm-5.0.2.drv', '/nix/store/d3l5p3nw39bfx6mw39lpj5vcm7apjnk9-stdenv-linux.drv', '/nix/store/pd779klp2ccm4jwq58f4fjb42rsc3qsd-gcc-wrapper-7.3.0.drv', '/nix/store/rw3khxaz9aq23mz4wk6qgwdxw9gh0qlv-newt-0.52.20.drv', '/nix/store/zf18v6yw0k07zhz9ddjv7j7qgf0458d2-linux-headers-4.18.3.drv' failed

ping

Thanks!!


Removed sed and cut

Changed stash parsing to not use sed and cut - strip spaces using bash parameter expansion.
Good call - this works on OS X at least - will battle test on Cygwin and Ubuntu if needed

Maybe use //[[:space:]]/ instead of ``// /`

Yeah, that's more like the sed version without sed. Fixed.

I was looking at removing using wc, and count the lines in bash directly.


Fixed misencoded quote

The query for provisioning log failures wouldn't execute due to the quote string getting weird

@billmath
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team


Revert deliver

Reverted broken commit https://github.com/fastlane/deliver/pull/544

:+1:

We use deliver directly to only upload the binary to iTunes Connect, via CI. Our system checks the status code in order to decide if the upload was successful or not.
Due to some issues, the actual upload was failing sometimes, with deliver was reporting the operation was successful and exiting with status code 0. Checking the actual output, the iTMSTransporter was failing and being verbose on this.
If needed I can search for some logs.


Isomorphic rendering: data-reactid and data-react-checksum not being cleared in v4.

Version
4.0.0-alpha.4
Test Case
https://github.com/phyllisstein/react-router-v4-isomorphic-glitch
Steps to reproduce

Create a simple app using React Router v4.
Render the app on the server.
Run the app in the browser and wait for React to mount.

Expected Behavior
When React mounts, the data-react-checksum and data-reactid attributes should be cleared from the server-rendered components.
Actual Behavior
React appears to mount successfully, as clicking on a Link component does not send an additional request to the server, but the server-rendered attributes are not removed.

This would be a React issue. But those attributes are sent over in the server-rendered HTML, as they're needed to confirm the correct component tree when the client boots up on top of it.

I'm happy to kick it to the React folks, but it seemed curious that it happened with RR4 and not with previous versions.

@timdorr is it possible this could have something to do with the Miss component specifically?
What I am seeing with SSR:
On a match, the checksum attribute is included
On a miss, the checksum disappears, even if included with the pre-rendered html from the server.
This specific discrepancy seems to be causing the React warning:
warning.js:36 Warning: React attempted to reuse markup in a container but the checksum was invalid.

Miss doesn't work yet for picking up a server rendered page in the client.
Needs docs and the (probably not worth it) workaround.
On Sun, Oct 2, 2016 at 12:40 PM foobahh<EMAIL_ADDRESS>wrote:

@timdorr https://github.com/timdorr is it possible this could have
something to do with the Miss component specifically?
What I am seeing with SSR:
On a match, the checksum attribute is included
On a miss, the checksum disappears, even if included with the pre-rendered
html from the server.
This specific discrepancy seems to be causing the React warning:
warning.js:36 Warning: React attempted to reuse markup in a container but
the checksum was invalid.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ReactTraining/react-router/issues/3984#issuecomment-250990849,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAGHaG5OCc4iwKJktqQZDKQKHiY1mbC_ks5qwAi3gaJpZM4KLx2T
.

#3877 addresses issues with <Miss> and isomorphic rendering, but the issue I've observed can be reliably reproduced even without that component. The repro repo posted above just has a few simple <Match>es, and React still can't clear the checksum and IDs on mount.

For now I recommend server rendering them, then dumping a window.__IS_404__ or something and not loading JavaScript at all in the client.

good idea, thanks @ryanflorence


dynamic dynamodb loader

dynamic loader for dynamo. note this is unused in the code, still need to change boot to call this rather than the repos specifically

Codecov Report

Merging #194 into master will increase coverage by 0.02%.
The diff coverage is 97.56%.

@@            Coverage Diff             @@
##           master     #194      +/-   ##
==========================================
+ Coverage   94.81%   94.84%   +0.02%
==========================================
  Files         114      115       +1
  Lines        4785     4826      +41
  Branches       99      102       +3
==========================================
+ Hits         4537     4577      +40
- Misses        248      249       +1

Impacted Files
Coverage Δ

...ynamodb/repository/DynamoDBDataStoreProvider.scala
97.56% <97.56%> (ø)

Continue to review full report at Codecov.

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

I'm going to keep saying it, but I am such a dork for tiny bumps in our code coverage


Cannot assign non-RKE1 Clusters to a Fleet Workspace

Rancher Server Setup

Rancher version: 2-6-cd3c9d7
Installation option (Docker install/Helm Chart): docker

User Information

Admin

Describe the bug
Changes to the property fleetWorkspaceName of a v3/cluster are immediately reverted
To Reproduce
Via the Dashboard

Import a cluster (i used a local k3d)
Navigate to Continuous Delivery
Create a new Workspace in Advanced / Workspaces
Go to Clusters, click on the three dot menu for the downstream cluster and use the Assign To action to change the workspace to the new cluster
Change the workspace selector in the header to the new workspace

Via the API UI

Follow above to setup up to and including creating a workspace
Open <rancher url)/v3/clusters/<cluster id> in a browser
Edit the cluster and set fleetWorkspaceName to the new workspace id (note - this will be the same as the name)

Result
Via the Dashboard

The Clusters list is empty

Via the API UI

The response to the edit contains the correct value
Nav to <rancher url)/v3/clusters/<cluster id> and fleetWorkspaceName is not set to the new one

Expected Result
In the Dashboard

The Clusters list shows the cluster

Via the API UI

The fleetWorkspaceName value is retained

Additional context

This feature passed QA in 2.6.3 after a UI bug was fixed - https://github.com/rancher/dashboard/issues/4799.
During that time they noted some patchyness. On a docker install i see this all the time.
There's a discussion in our private slack that covers the above, contact me for details

In the thread @prachidamle confirmed that the property looked like it was the right one to set

Update - Assigning RKE1 clusters to a Fleet Workspace works fine
SURE-4522

Hi,
I have the same issue with clusters created on a Harvester cluster using Harvester Node Driver, either K3S or RKE2.
Assigning a non-default Fleet Workspace to the clusters does not apply, either through the UI or editing directly the fleetWorspaceName spec.
I'm interested joining your thread on slack.
Ben.

@MKlimuszka can you have your team take a look at possibly fixing this for v2.6.4? If it seems impossible, sync up with me and we can discuss with @gaktive as they are backend blocked on this issue for a related dashboard issue.

After discussing with @aalves08 , @aiyengar2 and @thedadams we've come to the following conclusion

The root error is due to a sync issue caused by editing fleetWorkspaceName on the child v3/cluster and the parent v1/mangement.cattle.io.clusters clearing it.
The UI cannot update fleetWorkspaceName in v1/mangement.cattle.io.clusters. Presumably for the same reasons updating labels was switch from editing v1 mgmt cluster to v3 cluster (it's worth noting the label changes are retained and not reset like fleetWorkspaceName).

Donnie has stated this would require a lot of effort to fix in the backend.
There isn't anything we can do in the frontend if we can't edit either norman resource.
I've reproduced the error again on both docker and helm flavours of Rancher. It's not possible to assign a cluster to a workspace in either mean the workspace feature is pretty broken.

Possibly related https://github.com/rancher/rancher/issues/31883

This is with the rancher version 2.6.2 - I couldn't replicate it.
https://user-images.githubusercontent.com/1387263/157416892-00d8fa5a-4b90-4ba3-8918-eadcb9b9d438.mov
This is with rancher version v2.6-head / f2a4147  - Couldn't replicate it.
https://user-images.githubusercontent.com/1387263/157416581-1389085e-8d45-47a7-87b1-504626bb65ec.mov
However, I also noticed that if the cluster/node has a pending state (E.g. 1/3 is provisioned, 2/3 is being provisioned) I can't assign the cluster. No warning is given.
I also noticed intermittently. I had to right click and refresh the page for cluster list page to update. This is not reproducible consistently.

Working with @Shavindra I think we've got to the bottom of the discrepancy. This bug only affects RKE1 clusters, not RKE2. I'll update the title & description

Do we have a SURE for this?

@Tejeev Not at the moment, but I don't know if any customers are using RKE2. Once they are I'd expect one to be raised

@Tejeev SURE-4522

I'm also having this issue with imported k3s clusters

Here is a summary of my understanding after following the earlier discussions on this topic:
It has been discussed to be a known complex-to-solve problem of provisioning v2 introduced in 2.6.0 and affects all imported cluster types including rke2. This does not affect rke1 or KEV2 clusters.
Gist of the problem:

For imported clusters, first the v1 cluster object (provisioning.cattle.io.cluster) is created by provisioningv2 under a namespace (fleet-default by default if not specified)
It is not possible to move this v1.cluster object between namespaces without deleting the cluster and recreating it newly,
The fleet-workspace of a fleet cluster is tied tightly to this namespace where the "parent "provisioning.cattle.io.cluster object is created. So even if a user tries to change the fleet workspace name for a fleet cluster from UI, the provisioningv2 controllers revert it back the namespace where the actual v1 cluster object was created.
-The solution to this issue is not with UI or fleet but a fix to the provisioningv2's logic of handling clusters and namespaces. - - One possible solution is decoupling the cluster's namespace and the fleet workspace by assigning a separate field on v1.cluster object to indicate the fleet workspace.
But this needs to be verified that having the actual cluster namespace different than the fleet workspace value will work w.r.t the system service accounts/secrets deployed in the downstream cluster. cc @thedadams

This cannot be handled by UI or fleet teams, since it is a problem for provisioning v2 controller logic around provisioning.cattle.io.cluster.

@aiyengar2 to summarize the solution we've discussed.
Meanwhile, this is moved out of the 2.6.6 milestone at least for now.

The root cause of this issue has to do with the current model that we use for creating and managing provisioningv2 resources:

rancher/wrangler's apply framework allows us to do a one-way deployment of creating or updating a set of "child" resources on re-enqueuing a "parent" resource; on re-enqueue, it effectively uses the k8s dynamic client to grab all objects with a particular set of annotations, compare it against the desired, and choose to create, update, or delete the objects depending on whether the resource is tracked in desired only, desired + existing, or existing only, respectively
relatedresource.Watch allows us to watch the set of "child" resources and re-enqueue the "parent" resource on a change. This ensures that changes to the children are overridden by the controller by re-applying the desired state

In the case of a provisioned RKE1 cluster, the "parent" resource is the v3 cluster object, so changes to the v3 cluster are accepted. You would not, however, be able to modify the v1 cluster or fleet cluster object out-of-band due to this since those are "child" resources.
Similarly, for clusters imported via the dashboard UI + RKE2 provisioned clusters, the "parent" resource is the v1 cluster object; this is why modifications to the v3 cluster object (the "child" resource) are instantly wiped out.
In order to fix this, provisioning v2 needs to have a better system of allowing certain values in "child" resources to be modifiable, where only desired defaults are set, but are not overridden on an apply. This requires us to modify the wrangler  apply resource to support this type of use case, since currently you can only specify the desired set that you exactly want the "child" resources to have; there's no way to set the desired default only on a create, but not try to keep it up-to-date on modifications.
To support this type of use case, wrangler currently has the ability to define patchers per GVK (type of resource) that the apply is operating on; these patchers can look at the requested patch that the framework is trying to apply during an update and choose to "sanitize" these patches to remove certain changes deemed unnecessary to be performed on an apply, as we do by default in sanitizePatch, which is part of the default patcher used on all GVKs in this framework.
However, defining a patcher today is fairly difficult and requires copy/pasting code since any custom patcher would also anyways need to sanitize the stuff that the default patcher does and support removing changes from various different types of patches; therefore, the proposed solution we came up with was to introduce some sort of additional design in wrangler that makes it easier to define / build custom patchers that will sanitize the defaults that our default patcher already does and also allow us to do things like sanitize certain JSONPaths. An example of what such a design would look like (possibly using the builder pattern like we do in desiredSets in wrangler apply or RBAC stuff in rancher/rancher) is as follows:
v3ClusterPatcher := apply.NewPatcherBuilder().IgnoreJSONPath('spec.fleetWorkspaceName').Patcher()

If using something like the builder pattern, some things to consider would be how we choose to define patchers on paths that point to list entries (do we wipe out the whole list? or how do we identify what needs to be changed and what can be kept) and whether we can allow certain currently ignored fields (such as status) to be specified to be overridden.

Removing area/fleet and team/fleet as per

This cannot be handled by UI or fleet teams, since it is a problem for provisioning v2 controller logic around provisioning.cattle.io.cluster.

hi,
just adding very similar issue :
rancher : 2.6.9
cluster:  3x v1.24.4+rke2r1
fleet contains only one local cluster
i created new workspace, and just wan to assign local cluster from fleet-local workspace to the new workspace
after:
-> no cluster visible in fleet-local  workspace
-> no cluster visible in new workspace
no cluster visible in rancher at all.

Hello,
Just adding to this Issue that this appears to affect Minikube Clusters as well.
Version: 2.7
Cluster: Minikube, v1.28.0
Synopsis:
-> Minikube cluster imported
-> New workspace created
-> Imported Minikube cluster can be located in the fleet-default workspace
-> When attempting to move the cluster to the newly created workspace nothing happens
-> No other option than to continue using the Cluster in the default fleet-default workspace

Hello,
Also hitting this issue constantly.
Rancher version: 2.7.1 (but also encountered it in previous 2.6.X versions)
Clusters: Multiple k3s klusters on 1.24 (but also encountered it in previous k3s versions)
Reproduce steps:

Have a Rancher instance on k3s.
Bootstrap a fresh k3s cluster, for ex k3s via Rancher Desktop
Import cluster into Rancher with all default values, wait for it to join and become active.
Attempt to move it from workspace fleet-default to a custom one, nothing happens.

Related:

https://github.com/rancher/dashboard/issues/7745#issuecomment-1488887520
https://github.com/rancher/dashboard/issues/7734

@slickwarren we're waiting on confirmation the feature flag exists before merging the dashboard issue. we couldn't see it in -head and are waiting confirmation from @snasovich / @Oats87

@richard-cox , I see it added here and it should be in v2.8-head as well as v2.8.0-alpha2 builds.
Could you please clarify where are you expecting to see it?

blocked from validating p0 use cases by https://github.com/rancher/rancher/issues/43080

tested on 2.8-head (2e6895d):
(enable the new flag provisioningv2-fleet-workspace-back-population to enable this experimental feature)
create a workspace in fleet
add a gitRepo to the new workspace
add a gitRepo to the fleet-default workspace
in each of the following, observe that the fleet-default gitRepo resources are removed, and the new workspace's gitRepo resources are added

transfer node driver rke1 cluster (should not be affected, existing behavior) -- pass
transfer node driver rke2 cluster to new workspace -- pass
transfer node driver k3s cluster to new workspace -- pass
transfer custom rke2 cluster to new workspace -- pass
transfer custom k3s cluster to new workspace -- pass

transfer all clusters back to original workspace - observe that the fleet-default gitRepo resources are added, and the new workspace's gitRepo resources are removed -- pass
disable the flag with rke2/k3s clusters added to non-fleet-default workspace -- All rke2/k3s clusters are removed from non fleet-default workspaces this doesn't sound ideal but since this is an experimental feature with no definition of what should happen if this is disabled, I will consult with the team if this behavior is acceptable for an initial release.
this was tested on both rke1 non-hardened local cluster and rke2 hardened local cluster.

closing as QA validated

I'm now no longer seeing the option to "Change workspace" in Continuous Delivery in Rancher MCM v2.8.2 for imported RKE2 clusters. This cluster was imported directly to the fleet-default Workspace. On prior versions I saw the option, but it always failed when trying to change the Workspace after import. Was this an unintended side effect of this change?

@dsmithbauer have you enabled the provisioningv2-fleet-workspace-back-population feature flag?

@dsmithbauer , it seems you need to enable the flag that @richard-cox mentioned.
Here you can enable the flag:

Once that flag is enabled, you should be able to see it:

Thank you @mmartin24! Page had not refreshed until after I posted my comment. But I appreciate your response too!

Unlike what is suggested by the ticket title, I have cluster which are provisioned with rke[1] and then imported into rancher which have this exact same problem.  Kudos to @mmartin24 for detailing the fix.
Why isn't this feature flag enabled by default?


Rustc 1.0.0 beta2

This took not one, not two, but three successful builds to make sure it was working.
The first build worked, but because it was missing the proper flag, it was built as a nightly for the source instead of as a beta. This means that #[feature(...)] worked without error even though it shouldn't. Technically this affects the old revision too, but since it hasn't gone downstream to 'nixpkgs' or the 'unstable' channel, that shouldn't matter to much.
Then I added the configureFlags change and given my skill level with Nix, it is miraculous this worked the first time without problems. So, why did the build fail? It's because my VM ran out of disk space.
So, the third time, I ran nix-garbage-collect and then built again. It succeeded, and I sent in this PR.
Now, non-fatal, but I did see this a lot:
not an ELF executable
/nix/store/ns8vicm74rl50klsjjjy08mslwx2ffzs-rustc-1.0.0-beta.2/share/doc/rust/html/book/lifetimes.html
not an ELF executable
/nix/store/ns8vicm74rl50klsjjjy08mslwx2ffzs-rustc-1.0.0-beta.2/share/doc/rust/html/book/if-let.html
not an ELF executable
/nix/store/ns8vicm74rl50klsjjjy08mslwx2ffzs-rustc-1.0.0-beta.2/share/doc/rust/html/book/ufcs.html
not an ELF executable
/nix/store/ns8vicm74rl50klsjjjy08mslwx2ffzs-rustc-1.0.0-beta.2/share/doc/rust/html/book/crates-and-modules.html
not an ELF executable
/nix/store/ns8vicm74rl50klsjjjy08mslwx2ffzs-rustc-1.0.0-beta.2/share/doc/rust/html/book/ffi.html
not an ELF executable
/nix/store/ns8vicm74rl50klsjjjy08mslwx2ffzs-rustc-1.0.0-beta.2/share/doc/rust/html/FiraSans-Medium.woff
not an ELF executable

Can somebody who knows more about building code look into perhaps making this not happen? If I need to, I can open a new issue for it.

The TravisCI error is unrelated to the changes in this package.

Great, thanks! I know how painful building rust can be, so thanks a lot.
So, now a rust release include both stable and unstable, and you have to specify a flag to choose it? Interesting.
As for the error messages, they are generated by "patchelf", which is a build step that is run on every package. I've not done this for some time, but I think it is not a problem.
I'm about to merge this, but I'd like the approval of @wizeman, who is working on rust packaging right now.

Looks good to me!


Fix typo in intro.md

Should be expr - x instead of expr = x to follow with the python example.

Thank you!


To do

React ToDo App

In this PR I created the todo app with react
Screenshot of the project output has been added.

Hi @principles31! Great job so far.
Please add linters to the project.


[FEAT] Add a Graph to visualize trends

⚠ IMPORTANT: Please fill out this template to give us as much information as possible to consider/implement the feature.
Prerequisites

[x] check this box if you have completed the following:

Reviewed the contributing guidelines and support files
Reviewed the README file for the repository you are working in
Searched for relevant instructions on our Discord server
Searched the issues of the repository you are working in to make sure one was not already filed

Summary

Based on ROADMAP-TO-MVP
Why is a graph useful
Being able to see the trend of temperature and heart rate change over time is SUPER useful for the doctor.
Task for graph:
Add a graph or some easy visual that shows trends of temperature and heart rate over time.
The trend of these two measurements is SUPER important to assess the possibility of being affected by COVID, based on @DocMusher#9988 experience.
Make it look CLEAN and LOGICAL since this is an ESSENTIAL feature that doctor and user will interact with.
Use the best library you see fit.
The trend is your friend.
Motivation
**Why are we doing this? **
Being able to see the trend of temperature and heart rate change over time is SUPER useful for the doctor.
**What use cases does it support? **
Hitting specifications for MVP to be usable in the field by Belgian doctor DocMusher.
See: ROADMAP-TO-MVP
**What is the expected outcome? **
The user and doctor can see the trends of Pulse and temperature over time in a clear and intuitive way. Make it look CLEAN and LOGICAL since this is an ESSENTIAL feature that doctor and user will interact with.
Possible Alternatives

None, this is a core feature specified by first field user to reach MVP state.
Additional Context

Based on ROADMAP-TO-MVP

If I understand the issue right, we already have this for both TEMPERATURE and Behavioral
We can add it with the TEMPERATURE or make it separate

Looking Nice! Just Remember all subjective parameters are subjective and as
guidance tool to help people in the context of this pandemia, they are
important from a psychology scope, we as I see it need to provide a guide
to assure people there is no need to worry medically based on temperature
and heart rate trends which can be shown to the doctor, as glucose diary
for diabetic patients. Do not forget how people feel are emotions which
have a relationship with your general health but not always, mostly with
unknown non linear correlation, and a huge interindividual variability
which is less the case for temperature and heart rate observing in periods
of days or weeks.
Sven
Op vr 1 mei 2020 13:15 schreef Adham Abo Hasson<EMAIL_ADDRESS>
If I understand the issue right, we already have this for both TEMPERATURE
and Behavioral
We can add it with the TEMPERATURE or make it separate
[image: Screenshot 2020-05-01 at 13 13 04]
https://user-images.githubusercontent.com/55054963/80801765-ab6ef480-8bad-11ea-8c21-86c03e3a872a.png
[image: Screenshot 2020-05-01 at 13 13 10]
https://user-images.githubusercontent.com/55054963/80801774-af9b1200-8bad-11ea-80c0-58dea73fdbed.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/COVID-19-electronic-health-system/Corona-tracker/issues/683#issuecomment-622348668,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABOUXYV2DIG4KYCGHAY4Y5LRPKVNPANCNFSM4MWHAJ4Q
.

I feel like we should add some more detail about action items to take with this story, otherwise it's difficult to deduce what needs to be completed and when this issue is "done" / ready for a PR. Otherwise we should probably close this and make it a bit more pointed.

FYI
---------- Forwarded message ---------
From: Data Science Briefings<EMAIL_ADDRESS>Date: Mon, 18 May 2020 at 10:49
Subject: Data Science Briefings #116: RFM Analysis Revisited
To<EMAIL_ADDRESS>Is this email not displaying correctly? View it in your browser
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiIlN0JzcC1icm93c2VyLXVybCU3RCJ9/
[image: DataMiningApps Logo] Data Science Briefings
Updates on the latest news, trends, techniques, tools and our research in
data mining and analytics
In this Newsletter

RFM Analysis Revisited
News and Research Updates from Our Group
Your Reading List: Hand-picked Data Science Links from the Web

Editorial
Dear fellow data scientists, analytics lovers, and friends,
We hope you and yours are remaining safe and sound.
The RFM framework has already been popular since its introduction by
Cullinan in 1977. It’s a well-known and well-developed measurement
framework used in marketing across different industries such as banking,
insurance, Telco, non-profit, travel, on-line retailers, and even
government. It consists of a set of metrics to monitor customers’ behaviour
so as to develop suitable customer relationship management or CRM
strategies. In this issue’s feature article, we revisit this popular
framework and take a look at how you can use it in machine learning.
We hope you enjoy this issue of Data Science Briefings. We always like to
receive feedback as well as suggestions or contributions. Just reply to
this e-mail if you wish to provide feedback, or hit us up on Twitter
@DataMiningApps
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvdHdpdHRlci5jb21cL0RhdGFNaW5pbmdBcHBzIn0/.
Feel free to pass on this newsletter to friends or colleagues; they can
subscribe for free as well through our subscribe page
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwOlwvXC93d3cuZGF0YW1pbmluZ2FwcHMuY29tXC9kYXRhbWluaW5nYXBwcy1uZXdzbGV0dGVyXC8ifQ/.
We also keep an online record of our feature articles, QA’s, and web picks
over at www.dataminingapps.com
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwOlwvXC93d3cuZGF0YW1pbmluZ2FwcHMuY29tXC9jYXRlZ29yeVwvYXJ0aWNsZXNcLyJ9/,
too,
in case you want to catch up on previous issues.
Kindest regards,
Prof. dr. Bart Baesens
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwOlwvXC93d3cuZGF0YW1pbmluZ2FwcHMuY29tXC9kbWFfc3RhZmZcL2JhcnQtYmFlc2Vuc1wvIn0/
Prof. dr. Seppe vanden Broucke
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwOlwvXC93d3cuZGF0YW1pbmluZ2FwcHMuY29tXC9kbWFfc3RhZmZcL3NlcHBlLXZhbmRlbi1icm91Y2tlXC8ifQ/
RFM Analysis Revisited
Contributed by: Bart Baesens
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvd3d3LmRhdGFtaW5pbmdhcHBzLmNvbVwvZG1hX3N0YWZmXC9iYXJ0LWJhZXNlbnNcLyJ9/,
Seppe vanden Broucke
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvd3d3LmRhdGFtaW5pbmdhcHBzLmNvbVwvZG1hX3N0YWZmXC9zZXBwZS12YW5kZW4tYnJvdWNrZVwvIn0/
This article is based on our BlueCourses course Customer Lifetime Value
Modeling
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvd3d3LmJsdWVjb3Vyc2VzLmNvbVwvY291cnNlc1wvY291cnNlLXYxOmJsdWVjb3Vyc2VzJTJCQkM4JTJCMjAyMF9RMlwvYWJvdXQifQ/
.
Although RFM analysis is sometimes referred to as a poor man’s approach to
CLV analysis, we think it’s a very good way to start doing customer
lifetime (CLV) modeling. As always in machine learning, it’s not because
it’s simple, that it is necessarily bad. The RFM framework has already been
popular since its introduction by Cullinan in 1977.  It’s a well-known and
well-developed measurement framework used in marketing across different
industries such as banking, insurance, Telco, non-profit, travel, on-line
retailers, and even government.  It consists of a set of metrics to monitor
customers’ behaviour so as to develop suitable customer relationship
management or CRM strategies.  Do note that the RFM framework focusses on
existing customers, instead of prospects.
Basically, the RFM famework summarizes the purchasing habits of consumers
according to 3 dimensions only.  It essentially builds upon the Pareto
principle which states “For many events, roughly 80% of the effects come
from 20% of the causes”.  In our case, the events correspond to purchases
and the causes to customers.  Or, translated to an RFM setting: 20% of your
customers are likely to generate 80% of your profit.  Using the RFM
framework, we will try to find out which are those customers who buy or
bought recently, frequently and for high monetary values?
Recency measures the time since the most recent purchase transaction.
Frequency measures the total number of purchase transactions in the
period examined.  And finally, monetary measures the value of purchases
within the period examined.  The combination of these three variables
provides a very useful perspective on the value of your current customer
portfolio.
Let’s now zoom in on each of the variables of the RFM framework into some
more detail.
We start with recency.  As with any RFM variable, it can be operationalized
in various ways.  Examples are: how long ago since the customer made a
purchase?   This results into a continuous variable.  As an alternative, we
can measure it in a binary way as: did the customer make a purchase during
the previous day, week, month or year?  Finally, we can also define it in
an exponential way.  More specifically, we can define recency as e^(-γt).
Here t is the time-interval between two consecutive purchases.  γ is a
user-specified parameter which is typically rather small, for example 0.02.
Note that by using this procedure, recency is always a number between 0 and

The figure below shows that recency indeed decreases when the
time-interval gets bigger.

https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvd3d3LmRhdGFtaW5pbmdhcHBzLmNvbVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMFwvMDVcL3JlY2VuY3kxLnBuZyJ9/
The parameter γ determines how fast the recency decreases. For larger
values of γ, recency will decrease quicker with time and vice versa.  But
how do you choose γ, you might ask? Well, you could choose γ such that
recency has to be equal to 0.01 after 180 days for example. Then γ is
-log(0.01)/180.
Frequency is the second variable of the RFM framework.  As said, it
measures how frequently the customer buys.  A first way of measuring it is
by calculating the average number of purchases per unit of time, such as
per month over the last year.  Some frequency calculations will also take
the tenure or lifetime of the customer into account and measure it as the
total number of purchases divided by the number of months since the first
purchase.  According to most research, including the research conducted by
myself, the frequency variable is usually the most important of the RFM
framework.
Also the monetary variable can be operationalized in various ways.  It can
be calculated as the average, maximum or minimum purchase value during the
past year.  It can also be measured as the most recent value of a
purchase.  Or, we can again take into account the tenure of the customer
and consider the total lifetime spending.  Trends can also be looked at.
These features usually turn out to be very predictive in any analytical CLV
setting.  Trends summarize the historical evolution of a variable in
various ways.  Trends can be computed in an absolute or relative way as
follows:

absolute trend: (M_t – M_(t-x)) / x

relative trend: (M_t – M_(t-x)) / M_(t-x)

When computing trends, it is important to consider what happens if the
denominator becomes 0.  Recent values can also be assigned a higher
weighted.  Trends can also be featurized using time series techniques, such
as ARIMA or GARCH models.
Interactions between the RFM variables can also be taken into account.
These can be 2-way interactions, 3-way interactions, etc.  Obviously, the
thing with interactions is that they usually make a predictive model more
difficult to interpret.  Hence, be very careful when considering them.  My
practical advice is to only include them when they really add to the
predictive performance of your analytical model.  Typically, you will also
observe correlations between the R, F and M variables.  A commonly observed
correlation is the one between the frequency and monetary variables.  This
correlation is not necessarily problematic, but being aware of it is
already very important.
We are now ready to start operationalizing the RFM variables such that we
can work with them in a meaningful way.  The idea here is to create an RFM
score which can then be used for customer segmentation, churn prediction or
any other CLV related analytical modeling task.  Obviously, due to
continuously changing customer behavior and the external environment, this
RFM score should be updated regularly.   Creating an RFM score requires a
combination of both analytical skills and business experience.  Let’s
elaborate a bit further on this.
Here you can see a very simple example of creating an RFM score.
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvd3d3LmRhdGFtaW5pbmdhcHBzLmNvbVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMFwvMDVcL3JmbTEuanBnIn0/
We basically created 3 bins for each of the RFM variables.  The bins are
ordinally ordered.  Let’s quickly look at some of them.  For Frequency, bin
1 contains all customers who did at most 1 transaction during the previous
month, bin 2 the customers who did 2 to 5 transactions and bin 3 the
customers who did 6 or more transactions.  The other variables are binned
in a similar way.   Let’s say we have a customer who belongs to bin 2 for
recency, to bin 1 for frequency and to bin 2 for monetary.  We can then
summarize this into an RFM score of 2 + 1 + 2 or 5.  As said, this
procedure can then be used for customer segmentation or to create variables
for analytical models.
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvd3d3LmRhdGFtaW5pbmdhcHBzLmNvbVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMFwvMDVcL3JmbTIuanBnIn0/
A common way of creating RFM bins is by creating quintiles.  This can be
done using either independent or dependent sorting.  Let’s start with
independent sorting.  In this case, we sort the data by recency and create
5 quintiles which are labelled as R1, R2 until R5.  The quintile R1 then
represents the 20% most ancient buyers.  We then sort by Frequency and also
create 5 quintiles.  F1 represents the customers that buy least
frequently.   Finally, we do the same for the monetary variable, sort and
create 5 quintiles: M1 until M5 with M1 representing the lowest average
spenders.  The final RFM score can then be used as a cluster indicator or
even as a predictor for an analytical model.  Note that the best customers
are typically assumed to be in quintile 5 for each RFM variable or cluster
555.  These represent the customers that have purchased most recently, most
frequently and have spent the most money.
Dependent sorting works in a strict sequential way.  It starts with the
Recency variable first and creates the 5 quintiles.  Each Recency quintile
is then further binned into 5 Frequency quintiles.  Each resulting RF bin
is then further binned into 5 quintiles based  on the Monetary variable.
As with independent sorting, the final RFM score can be used as a cluster
indicator or variable in a predictive analytical CLV model.  Note that
scientifically, to the best of my knowledge, it is not possible to state
which one is best: independent or dependent sorting.
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvd3d3LmRhdGFtaW5pbmdhcHBzLmNvbVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMFwvMDVcL3JmbTMuanBnIn0/
The RFM variables can be used as input variables for various analytical CLV
models such as churn prediction, response modeling, customer segmentation
and obviously also CLV analytical models.  The bottom table illustrates a
churn prediction data set which combines the RFM variables with other
customer specific information such as age, marital status, etc.
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvd3d3LmRhdGFtaW5pbmdhcHBzLmNvbVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMFwvMDVcL3JmbTQuanBnIn0/
Let’s now zoom out of the original marketing context and do some out of the
box thinking.  Essentially, recency quantifies the recency of an event,
frequency the frequency of events and monetary the impact, intensity or
reach of an event.  Defining the RFM variables in this more general way,
opens up perspectives for their use in other settings.  The RFM variables
are commonly used in fraud analytics.  Think about credit card fraud as an
example.  Here, R can refer to the recency of a transaction, F to the
frequency and M to the monetary value.  In web analytics, the recency can
represent the recency of a web site visit, the frequency the frequency
thereof and the monetary variable can represent the duration of the visit.
In a social media setting, we can look at the recency of a post, the
frequency of posts and community size that is reached with the post, such
as followers, retweets, shares, etc.
Let’s conclude the discussion of the RFM framework with some closing
thoughts.  A key advantage of the RFM framework is that it is simple and
easy to understand and calculate.  It provides a compact and powerful
representation of customer behavior.  We consider it to be an ideal
approach to build your first CLV models.  Remember, when doing analytics it
is always wise to start off simple and then gradually sophisticate your
models.
Do you also wish to contribute to Data Science Briefings? Shoot us an
e-mail (just reply to this one) and let’s get in touch!
Our friends at SAS are organizing two exciting online events:

19th of May: Data Storytelling webinar
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvd3d3LnNhcy5jb21cL2VuX3VzXC93ZWJpbmFyc1wvZGF0YS1zY2llbnRpc3QtbGVhcm5pbmctam91cm5leS1zdG9yeXRlbGxpbmcuaHRtbCJ9/.
At a time when understanding data is more critical than ever, data
scientists are in the unique position to influence and drive change through
data storytelling.
19th of June: TALKS of the GEEKS
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvd3d3LnNhcy5jb21cL25sX25sXC9ldmVudHNcLzIwMjBcL3ZpcnR1YWwtZnJpZGF5XC90YWxrLW9mLXRoZS1nZWVrcy5odG1sIn0/,
an amusing and interactive session on technical topics that determine the
data science landscape of today.

Your Reading List: Our Web Picks

Exploring Bayesian Optimization
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvZGlzdGlsbC5wdWJcLzIwMjBcL2JheWVzaWFuLW9wdGltaXphdGlvblwvIn0/
Breaking Bayesian Optimization into small, sizeable chunks.
Does your AI discriminate?
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvdGhlY29udmVyc2F0aW9uLmNvbVwvZG9lcy15b3VyLWFpLWRpc2NyaW1pbmF0ZS0xMzI4NDcifQ/
“Hiring algorithms create a selection process that offers no
transparency and is not monitored. Applicants struck from an application
process – or as Ajunwa refers to it, “algorithmically blackballed” – have
few legal protections.”
Deep Reinforcement Learning Works – Now What?
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvdGVzc2xlcmMuZ2l0aHViLmlvXC9wb3N0c1wvZHJsX3dvcmtzX25vd193aGF0XC8ifQ/
“Two years ago, Alex Irpan wrote a post about why “Deep Reinforcement
Learning Doesn’t Work Yet”. Since then, we have made huge algorithmic
advances. Despite these advances, I argue that we, as a community, need to
re-think several aspects.”
A visual explanation for regularization of linear models
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvZXhwbGFpbmVkLmFpXC9yZWd1bGFyaXphdGlvblwvaW5kZXguaHRtbCJ9/
“The goal of this article is to explain how regularization behaves
visually, dispelling some myths and answering important questions along the
way.”
Measuring Fairness
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvcGFpci53aXRoZ29vZ2xlLmNvbVwvZXhwbG9yYWJsZXNcL21lYXN1cmluZy1mYWlybmVzc1wvIn0/
How do you make sure a model works equally well for different groups of
people? It turns out that in many situations, this is harder than you might
think.
Towards understanding glasses with graph neural networks
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvZGVlcG1pbmQuY29tXC9ibG9nXC9hcnRpY2xlXC9Ub3dhcmRzLXVuZGVyc3RhbmRpbmctZ2xhc3Nlcy13aXRoLWdyYXBoLW5ldXJhbC1uZXR3b3JrcyJ9/
“Glasses can be modelled as particles interacting via a short-range
repulsive potential which essentially prevents particles from getting too
close to each other. This potential is relational (only pairs of particles
interact) and local (only nearby particles interact with each other), which
suggests that a model that respects this local and relational structure
should be effective. In other words, given the system is underpinned by a
graph-like structure, we reasoned it would be best modeled by a graph
structured network.”
Prediction is hard
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvd3d3LnN0YXRzY2hhdC5vcmcubnpcLzIwMjBcLzA1XC8wN1wvcHJlZGljdGlvbi1pcy1oYXJkLTJcLyJ9/
“Prediction, as the Danish proverb says, is hard, because we don’t have
any data from the future. We can divide predictive models into three broad
classes”
A Commit History of BERT and its Forks
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvYW1pdG5lc3MuY29tXC8yMDIwXC8wNVwvZ2l0LWxvZy1vZi1iZXJ0XC8ifQ/
“I recently came across an interesting thread on Twitter discussing a
hypothetical scenario where research papers are published on GitHub and
subsequent papers are diffs over the original paper. Information overload
has been a real problem in ML with so many new papers coming every month.
This post is a fun experiment showcasing how the commit history could look
like for the BERT paper and some of its subsequent variants.”
Openpilot, its model and driving in GTA
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvbGl0dGxlbW91bnRhaW5tYW4uZ2l0aHViLmlvXC8yMDIwXC8wNVwvMTJcL29wZW5waWxvdFwvIn0/
Using the Openpilot model to drive a car in GTAV
Artbreeder
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvYXJ0YnJlZWRlci5jb21cL2Jyb3dzZSJ9/
Artbreeder aims to be a new type of creative tool that empowers users
creativity by making it easier to collaborate and explore, based on GANs.
Hugging Face dives into machine translation with release of 1,000
models
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvdmVudHVyZWJlYXQuY29tXC8yMDIwXC8wNVwvMTZcL2h1Z2dpbmctZmFjZS1kaXZlcy1pbnRvLW1hY2hpbmUtdHJhbnNsYXRpb24td2l0aC1yZWxlYXNlLW9mLTEwMDAtbW9kZWxzXC8ifQ/
Hugging Face is taking its first step into machine translation this week
with the release of more than 1,000 models.
Turing.jl
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvdHVyaW5nLm1sXC9kZXZcLyJ9/
A fast modeling and ML library for Julia.
Your Boss Is Watching You: Work-From-Home Boom Leads To More
Surveillance
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvd3d3Lm5wci5vcmdcLzIwMjBcLzA1XC8xM1wvODU0MDE0NDAzXC95b3VyLWJvc3MtaXMtd2F0Y2hpbmcteW91LXdvcmstZnJvbS1ob21lLWJvb20tbGVhZHMtdG8tbW9yZS1zdXJ2ZWlsbGFuY2U_dD0xNTg5NzkxMDIyMjcxIn0/
“Employees were to install software called Hubstaff immediately on their
personal computers so it could track their mouse movements and keyboard
strokes, and record the webpages they visited.”
Can AI Become Conscious?
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvY2FjbS5hY20ub3JnXC9uZXdzXC8yNDQ4NDYtY2FuLWFpLWJlY29tZS1jb25zY2lvdXNcL2Z1bGx0ZXh0In0/
Intelligence is about behavior. For example: what do you do in a new
environment in order to survive? Consciousness is not about behavior;
consciousness is about being.
Understanding uncertainty: Visualising probabilities
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvcGx1cy5tYXRocy5vcmdcL2NvbnRlbnRcL3VuZGVyc3RhbmRpbmctdW5jZXJ0YWludHktdmlzdWFsaXNpbmctcHJvYmFiaWxpdGllcyJ9/
Ian Short explores modern visualisation techniques and finds that the
right picture really can be worth a thousand words.
This word does not exist
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvd3d3LnRoaXN3b3JkZG9lc25vdGV4aXN0LmNvbVwvIn0/

DataMiningApps - www.dataminingapps.com
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwOlwvXC93d3cuZGF0YW1pbmluZ2FwcHMuY29tIn0/
KU Leuven
Department of Decision Sciences and Information Management
Naamsestraat 69
3000 Leuven, Belgium
This email was sent by DataMiningApps because you subscribed to our
newsletter. If you wish to unsubscribe, you can do so by using the link
below.
Unsubscribe from this list.
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiIlN0JzcC11bnN1YnNjcmliZS11cmwlN0QifQ/
[image: 500px]
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwOlwvXC93d3cuZGF0YW1pbmluZ2FwcHMuY29tIn0/
[image:
Facebook]
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwOlwvXC93d3cuZmFjZWJvb2suY29tXC9ncm91cHNcLzE5MzkyNzY3NzE4OVwvIn0/
[image:
Twitter]
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvdHdpdHRlci5jb21cL0RhdGFNaW5pbmdBcHBzIn0/
[image:
YouTube]
https://www.dataminingapps.com/sendpress/eyJpZCI6IjQzNiIsInJlcG9ydCI6IjYyOTE2IiwidmlldyI6InRyYWNrZXIiLCJ1cmwiOiJodHRwczpcL1wvd3d3LnlvdXR1YmUuY29tXC91c2VyXC9kYXRhbWluaW5nYXBwcyJ9/
--
Sven Van Poucke, MD, PhD
Ziekenhuis Oost-Limburg
Schiepse Bos 6
3600 Genk
[image: LinkedIn] http://www.linkedin.com/pub/sven-van-poucke/60/847/aa2
[image: Share on ResearchGATE]
https://www.researchgate.net/profile/Sven_Van_Poucke/
[image: https://publons.com/researcher/445759/sven-van-poucke/]
https://publons.com/researcher/445759/sven-van-poucke/


Handle empty metrics data in logs

This PR adds better error handling when log metrics returns empty data, also adds date validation in the case the returned data has invalid values.

/cherry-pick release-5.6

/lgtm


fix(ie/edge): form.method='delete', raises Invalid argument.

IE issue (edge) : FormElement.method attribute only accepts "get|post". To my surprise, it seems to be the expected behaviour from the spec: https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#form-submission-attributes. TLDR ;
The method and formmethod content attributes are [enumerated attributes](https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#enumerated-attribute) with the following keywords and states:
    The keyword get, mapping to the state GET, indicating the HTTP GET method.
    The keyword post, mapping to the state POST, indicating the HTTP POST method.
    The keyword dialog, mapping to the state dialog, indicating that submitting the [form](https://html.spec.whatwg.org/multipage/forms.html#the-form-element) is intended to close the [dialog](https://html.spec.whatwg.org/multipage/interactive-elements.html#the-dialog-element) box in which the form finds itself, if any, and otherwise not submit.

So when the form.method attribute is not get or post IE/edge raises an Invalid argument error. How to reproduce: open ie edge console : document.createElement('form').method="delete" > raise Invalid arg
To avoid this issue, we go the rails way creating an <input type="hidden" value="{linkMethod}" name="_method" /> appended to the "virtual" form.

An alternative (and less framework dependent) implementation would be to replace form.method with form.setAttribute('method'). The actuall request is done by fetch/xhr anyway so it will work. But using setAttribute would prevent some browsers from crashing.

Please strip ; as we don't use those in our linter. Thanks!

Please strip ; as we don't use those in our linter. Thanks!

done. thanks for the review and turbo.


Story: Create Learning Objectives

Create Learning Objectives
As a potential user of this lab, I want to read the learning objectives for this lab, so that I have a better understanding of what I can take away after completing this lab.
Associated Epic:
Definition of Done

[ ] Acceptance criteria defined
[ ] Solution tasks specified
[ ] Feature branch created
[ ] Unit tests written (on API code only for now)
[ ] Solution passes full suite of unit tests
[ ] Design documents updated if needed
[ ] Pull request created
[ ] Code is reviewed
[ ] Code is merged to develop branch
[ ] Tests pass on CI
[ ] Deployed to staging environment
[ ] Acceptance criteria is met

Acceptance Criteria

[ ] Given initial context, when event occurs, then some desired outcome
[ ] Given initial context, when event occurs, then some desired outcome
[ ] Given initial context, when event occurs, then some desired outcome

Solution Tasks

[ ] [Task 1]
[ ] [Task 2]
[ ] [Task 3]

Tips for Writing Learning Objectives Pedagogical.pdf


Add the ability to define packages to be layered.

As part of the layering initiative we would like to be able to declare packages as part of the schema. In the background a service that calls rpm-ostree to the installation of the packages should be created.

This is coming from https://github.com/coreos/fedora-coreos-tracker/issues/1054.
https://github.com/coreos/butane/issues/81 has some prior discussion and examples on it.

If we want to eventually support this in both the fcos and openshift specs, note that we'll need to get https://github.com/openshift/machine-config-operator/pull/2675 (or something like it) unstuck.  openshift specs derive their Ignition spec version from the fcos version they inherit from, and openshift stable specs are currently pinned to fcos 1.3.0 because the MCO currently maxes out at Ignition spec 3.2.0.

@jlebon during your demo today your example was dropping a ltrace.yaml file. I assume we don't want a file per package right? @cgwalters I think suggested a SHA of the file. We could also use a UUID.yaml as filename. If I just output to /etc/rpm-ostree/origin.d/SHAorUUID.yaml that is what would be the "server side" expected file to output on #304 ?
packages:
   - strace
   - usbguard

Also, unless I misunderstood you suggested that we did not need the systemd service with the treefile approach on the client side. But even if we are adding a treefile using ignition --live-apply we still need to call rpm-ostree after boot to process the treefile so we still need a service no?

@jlebon during your demo today your example was dropping a ltrace.yaml file. I assume we don't want a file per package right? @cgwalters I think suggested a SHA of the file. We could also use a UUID.yaml as filename.

No strong opinion on filename. Indeed we should just combine them in a single file instead of separate ones per package. I'd go for something like extensions.yaml to keep it simple and have some traceability. Might also be worth including a YAML comment at the top of the file to say it was generated by Butane.

If I just output to /etc/rpm-ostree/origin.d/SHAorUUID.yaml that is what would be the "server side" expected file to output on #304 ?
packages:
   - strace
   - usbguard

LGTM

Also, unless I misunderstood you suggested that we did not need the systemd service with the treefile approach on the client side. But even if we are adding a treefile using ignition --live-apply we still need to call rpm-ostree after boot to process the treefile so we still need a service no?

I'd keep the firstboot case scoped out of this for now. I'd like to investigate using https://github.com/coreos/rpm-ostree/pull/3006 for that, though even if we do go with a systemd service approach, I think it'd make more sense to have that service live in f-c-c (or possibly even rpm-ostree - see https://github.com/coreos/rpm-ostree/issues/2326#issuecomment-730535585).
The idea here with the client treefiles is that it's a new rpm-ostree thing. Butane just happens to be the first one to use it, but there will be other use cases, and not all may have Butane sugar for it.

@bgilbert you got a preference on what filename butane will spit out? I got an example with SHA here: https://github.com/coreos/butane/pull/304/commits/fd9e08a613263e97c78ebc26e917e373f2bca851 and a commit with UUID which I like the filename more but adds a dep. : https://github.com/coreos/butane/pull/304/commits/fbc041f603a1d449097845325df3606dc0d83824

The UUID one generates non-reproducible Ignition configs, which we haven't done so far, so I think we should avoid it.  The hash one is okay, but: is it important that we add uniqueness to the filename?

The idea is that we could have multiple files added by different layers. For example person1 created the first layered image which will have that file in place. Second person creates a new image using the first one as base and also layers packages. So we would have two files in the dropins directory of the second image.

Ah, right.  SHA seems like a good choice then.

If we want to eventually support this in both the fcos and openshift specs, note that we'll need to get openshift/machine-config-operator#2675 (or something like it) unstuck.

This is a very interesting topic.  Ideally, we avoid generating MachineConfig from this.  I'd say a big goal of this effort is to get out of having the MCO reimplement a subset of Ignition.  The expected flow is written down here https://github.com/mkenigs/coreos-derive/tree/main/prototype
(There's some diagrams that need publishing)
But basically we run ignition-liveapply as part of a container build.
Now...probably where this should be going is that we have a CRD that's just a wrapper for butane.  And the MCO instead vendors butane (which actually it already does) but the role of that is simply to store it in etcd and pass it into a build.
Definitely needs some thought and care though.

Ideally, we avoid generating MachineConfig from this. I'd say a big goal of this effort is to get out of having the MCO reimplement a subset of Ignition.

Right.  The MCO version dependency is a problem only during the transition period, and only if we want the same openshift stable spec to be able to generate MachineConfigs and to use the extension sugar.  If we don't need that, it's a non-issue.

https://github.com/coreos/butane/pull/304 & https://github.com/coreos/butane/pull/316 solve this issue.


cleanup(bigtable): remove admin async integration tests

Part of the work for #5923

This change is

Can we remove the untested functions at the same time?


Fixed formatting issues

Fixed the gap between paragraphs
Fixed the escaped brackets
TODO: Sign out button is not rendered properly when signed in

Looks great, thanks!


Simplify C++ coroutine usage

Use more standard coroutine constructs to make the code shorter & easier to follow.
I'm not a coro expert, but maybe some of this was necessary with older compilers. However, looking at RedHat:

Fedora 36 is the earliest release that has kernel 6.0
The same Fedora has gcc 12.2.1, which compiles this simpler code just fine

Test Plan:
make
./tests/run_test.sh all 10 tests/tmp/

Ok, I brought back the macro, but named it co_await__suspend_always(tag) so that it's some what clear what it does. Let me know what you think.


getting false positives on escaped pounds

https://github.com/cflint/CFLint/blob/ea8ffcdf83a73b5238ed02276f2463ebde44679c/src/main/java/com/cflint/plugins/core/QueryParamChecker.java#L26
Should be [^#]#[^#] to instead of .#[^#]

@esanfordwss,  Thanks!

There should be a test added that would have failed with the old pattern. Also, there should be one that handles more complex combinations like
<cfquery name="query" datasource="dsn">
	SELECT	*
	FROM	Table
	WHERE	column = '###foo###'
</cfquery>

@KamasamaK.  Makes sense, reopening.,

I just tested with the following in 1.4.1, and still get a false positive
<cfquery name="testQuery" datasource="dsn">
	SELECT	*
	FROM	Table
	WHERE	column = '##Hello##'
</cfquery>


devtools: supporting workspace usage

For https://github.com/atom/electron/issues/1842#issuecomment-108611241
Depends on https://github.com/atom/brightray/pull/111

Looks good to me, thanks!


Non reasonable "No data found" under the item which is not expandable

When a node is a node that is not expandable, i think it shouldn't have No data found under the node.
But for now, even a node is not expandable, when clicking this node, it does have No data found.

https://github.com/azizali/react-super-treeview/pull/36


upgraded nuget to 1.87.2 in my monogame project and now I get errors.

I have a monogame 3.8 project. Upgrade the imgui nuget package from 1.86 to 1.87.2. If I revert back to 1.86 everything is fine.
I get this warning message below:
Warning	NU1701	Package 'ImGui.NET 1.87.2' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' instead of the project target framework '.NETCoreApp,Version=v3.1'. This package may not be fully compatible with your project.
Build now fails with error below:
Severity	Code	Description	Project	File	Line	Suppression State
Error	CS0103	The name 'ImGui' does not exist in the current context

it's probably because the latest package targets NET6.0, this means anything below net6.0 might get errors,
your project targets NET Core 3.1.
if you upgrade your project to NET6 it will probably work with the latest version

I really hope that is not the case.

Please try this again with 1.87.3, we've added back the previous framework targets so backwards compatibility should be restored.

1.87.3 is now working with MonoGame 3.8, thank you.


request.routeParams should be decoded

When requesting /hello%3Aworld?bar=hello%3Aworld
get("/:foo") { request =>
    request.routeParams.get("foo").get should equal("hello:world") // it's actually `hello%3Aworld`
    request.params.get("bar").get should equal("hello:world")
}

Workaround:
import org.jboss.netty.handler.codec.http.QueryStringDecoder
import org.jboss.netty.util.CharsetUtil

QueryStringDecoder.decodeComponent(param, CharsetUtil.UTF_8)

It seems like when using a case class instead of Request and annotating a field with @RouteParam, it is still not properly decoded.

@turbolent this issue was filed against 1.x which is not relevant to 2.x. If you have an issue can you file a new one? Thanks.


Embed the player

Hello!
Im really interested in the option to embed the player in a website.
Could you implement this feature?
If i can do it now, could you tell me how?
Thank you!!

This is an app that runs in a browser, embedding on a website is not possible.
You may want to look into https://webtorrent.io/ to embed and stream torrents directly, however the torrent needs to be seeded by a WebRTC peer to play/stream from the website.
Within WebTorrents FAQs has numerous example websites that host and stream content through torrents.

Hello!
I understand, but your app is better :)
If you find out how to transform in embed, you will have much more visits.
In this case notice me.
Thanks
El 31/3/2017 16:42, "Mark James Ivanowich"<EMAIL_ADDRESS>escribió:

This is an app that runs in a browser, embedding on a website is not
possible.
You may want to look into https://webtorrent.io/ http://webtorrent to
embed and stream torrents directly, however the torrent needs to be seeded
by a WebRTC peer to play/stream from the website.
Within WebTorrents FAQs has numerous example websites that host and stream
content through torrents.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/roeycohen/Bit-Player-Chrome-Extension/issues/7#issuecomment-290748473,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATyNTvVnFlwEWokVBb-JHqX0hs0RJC7qks5rrR7fgaJpZM4JY4_g
.

but your app is better

you will have much more visits.

This is not my app. Please read names.
This is not an issue. Please close this issue.

Hi Mark,
Google is going to stop supporting packaged app in 2018... that's why i stopped developing this project.
https://blog.chromium.org/2016/08/from-chrome-apps-to-web.html
if you have the time, i'll be happy to merge you changes and improvements :)

Y stop???? If u all ready have certain agreements with these companies don't break yt? Trust unless u have something better
Sent from my Samsung Galaxy smartphone.
-------- Original message --------From: roeycohen<EMAIL_ADDRESS>Date: 4/3/17  1:50 AM  (GMT-05:00) To: roeycohen/Bit-Player-Chrome-Extension<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: Re: [roeycohen/Bit-Player-Chrome-Extension] Embed the player (#7)
Hi Mark,
Google is going to stop supporting packaged app in 2018... that's why i stopped developing this project.
https://blog.chromium.org/2016/08/from-chrome-apps-to-web.html
if you have the time, i'll be happy to merge you changes and improvements :)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/roeycohen/Bit-Player-Chrome-Extension","title":"roeycohen/Bit-Player-Chrome-Extension","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/roeycohen/Bit-Player-Chrome-Extension"}},"updates":{"snippets":[{"icon":"PERSON","message":"@roeycohen in #7: Hi Mark,\r\nGoogle is going to stop supporting packaged app in 2018... that's why i stopped developing this project.\r\nhttps://blog.chromium.org/2016/08/from-chrome-apps-to-web.html\r\n\r\nif you have the time, i'll be happy to merge you changes and improvements :)"}],"action":{"name":"View Issue","url":"https://github.com/roeycohen/Bit-Player-Chrome-Extension/issues/7#issuecomment-291054131"}}}

from what i remember, google said there's not enough packaged apps to continue support this platform.
their recommendation was to move to electron or something similar.


Warning: React does not recognize the flexWrap prop on a DOM element.

I am using:
    "grid-styled": "^3.2.0",
    "react": "16.2.0",
    "styled-components": "^3.1.6"

<Flex flexWrap="wrap">

produces the following React warning in the console:
"Warning: React does not recognize the flexWrap prop on a DOM element. "
The DOM element looks like
<div class="sc-bwzfXH hbZeap" flexwrap="wrap">

The other Flex props produce similar warnings...
Thanks a lot.

Can you tell me what version of grid-styled you're using, and if you have styled-system or clean-tag packages installed, those versions as well?

I'm getting same type of errors e.g:
"Warning: React does not recognize the flexWrap prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase flexwrap instead. If you accidentally passed it from a parent component, remove it from the DOM element."
And I'm using same stuff without any other styling packages:
"grid-styled": "^3.2.0",
"react": "^16.2.0",
"react-dom": "^16.2.0",
"react-scripts": "1.1.1",
"styled-components": "^3.1.6",

@jxnblk I made a repro:

Check out https://github.com/govau/cloud.gov.au/tree/grid-styled-bug
cd www/ui
yarn
yarn start

Check out the console error on the loaded page:

Fingers crossed those steps are all you need to reproduce!

Can you tell me what version of grid-styled you're using, and if you have styled-system or clean-tag packages installed, those versions as well?

I have not installed styled-system or clean-tag explicitely. I am relying on yarn installing the dependencies.
My feeling for the warning is that tag is applied when declaring <Box />  but not when declaring the extending properties to <Flex />.

Hmm, sounds like it could be a yarn issue then. Can you try rm -rf node_modules && npm i to see if that makes any difference?

I've run into the same issue with npm

I've just rm -rf node_modules && yarn on my repro above and it has the same issue. Incidentally: it resulted in a snapshot test being slightly different so you were partly correct that something was different. But, the issue in this ticket still happens...

I ran into this issue with minHeight. I checked the Clean.div element that is created and both minHeight and flexWrap were missing from the blacklist that Clean.div uses to prevent from certain props from being passed to the dom element. The blacklist is generated from the list of propTypes provided by styled-system.
Temp Fix: run npm i clean-tag to make sure the latest version of clean-tag is installed which should generate a more complete blacklist

As PRed by @rlopez4 the warnings disappear, when I force yarn to use "clean-tag": "1.0.3",
For the time being, just add to package.json:
  "resolutions": {
    "clean-tag": "1.0.3"
  }

From my point of view this issues can be closed. Thank you @jxnblk for the fix and your awesome libraries!

same happens with "grid-styled": "^3.2.1" "clean-tag": "1.0.4" ?

This is still an issue, unfortunately. I'm getting a consistent error with<EMAIL_ADDRESS>Peeking through some of the code it almost looks like clean-tag is trying to blacklist every prop that is actually specified by styled-components, but that may be a valid use case. I'm not familiar enough with the code enough to say. In any case, I am getting this error:

I still get the same error but the most interesting part this error occurs only on IE and v11 particularly.


Some questions about face recognition poisoning attack

I am so interested in your poisoning attack paper that I regret not reading this article earlier. But I am confused by the face recognition poisoning attack. "100 identities from CelebA as the small dataset are used to generate the unlearnable images for 50  identities of WebFace" in your paper. I think that generates 100 perturbation noise images, and how do put them on the 50 identities? Why not generate 50 noise images by themselves just like CIFAR10 poisoning attack? This is my confusion, thank you for your answer.

Hi,
We used 50 identities of WebFace as users who want their images protected, to generate the noise, we used additional 100 identities from CelebA, so there is a total of 150 identities.
I'm very interested to see how it goes with generating noises with only 50 identities from WebFace, my conjecture is it works the same. Please keep me updated if you have any results on this.
Best,

I am sorry to misunderstand the experimental settings. A small question is why use additional 100 identities from CelebA to generate the noise? I want to do a reproduction of this paper, so more details are better, think you again.

Considering that just generating the noise using a binary classifier, might not work well on classifiers with multiple identities. But I think it could also work with just these 50 identities without the CelebA subset.

I'm sorry to bother you again. I had an overfitting problem when reproducing the normal face classification network using your code train_clean.sh. I divided the data set of WebFace-CASIA112 into 80% training set and 20% test set. On the test set, the classification accuracy was very low, about 12%, while on the training set, the accuracy was 90%.  To find out the answer to this question, I studied insightface, a facial recognition library. But it used face verification rather than classification accuracy in the verification process. I am confused that the model has a very serious overfitting problem in the face classification task. Whether you have encountered it and how to solve it. Thank you again!

I do not have the logs for the 100% clean setting anymore, and I do not recall encountering overfitting.
I have results for the experiment with 50 identities (unlearnable) and the rest (10525 identities) as clean. The validation classification accuracy is ~85% and the loss is ~1.11. Training ACC and loss are 99% and ~0.11. For 100% clean, results should be very similar.


[PRM-1023] - Added API1811 model

It depends what properties you are talking about? I'm not sure whether it is worth having the failure response, we could log out the response body at the parser but we aren't doing anything specific with the failure (i.e. if its a non-200 we would most likely show a technical difficulties page to the user anyway)?

It depends what properties you are talking about? I'm not sure whether it is worth having the failure response, we could log out the response body at the parser but we aren't doing anything specific with the failure (i.e. if its a non-200 we would most likely show a technical difficulties page to the user anyway)?

For example , the property 'periodKey' in 'financialDetailsType' should have maxLength of 4 which for now is not being validated. ie we can have periodKey of length more than 4 and it's valid.
periodKey:
description: Period Key
type: string
minLength: 1
maxLength: 4

I don't think validating each property is a great idea given the amount of properties there are. I don't see the need to apply logic which should be checked before it reaches us.


CORS issue

Access to fetch at 'https://onramper.tech/rate/TRY/ETH/creditCard/1800?country=tr&amountInCrypto=false&includeIcons=true&minAmountEur=0' from origin 'https://widget.onramper.com' has been blocked by CORS policy: The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'.

Hi @aliveli186 This issue has since been resolved

Closing this as an inactive issue @TejaDroid


npm warning 1 high severity vulnerability

According to installation by npm  'ftp-srv' has  a security vulnerability.
see:
https://github.com/advisories/GHSA-r4m5-47cq-6qg8
Is this going to be addressed ? Thank you.

Do you understand this vulnerability ?
if the server is publicly available, someone could connect to the server, not being authenticated, and call any request on the internal network ?


MobilenetV1 conversion from tfjs graph model to frozen model problem with quantization

Hi
I have models (not mine) in tfjs graph model it is MobilenetV1 in float and quantized to int16 and int8.
The original with float after conversion works okay but that two other ones are inproperly converted.
You can see that by comparing original graph model and generated model in Netron.
I put original graph model as attachment

mobilenet_quant2_075_stride16.zip

This seems tobe an issue with tensorflowjs.
The reason for the difference is data loss during de-quantisation of the weights which leads to all packed bias values being zero after loading. The optimiser will then happily drop the BiasAdd-operation, since it detects a no-op due to the bias values being zero.
I will do some further investigating and fix the problem in tensorflowjs if possible.

I have identified the problem in tensorflowjs and will submit a pull request to fix the problem.
I'll let you know once the tensorflowjs has merged the changes. I could add a workaround here, but I feel it's better to fix the problem at its root, especially since that will benefit every user of tensorflowjs.
Thanks for bringing the problem to my attention, though!

OK, thank you

The fix for tensorflowjs has been approved and a future version (maybe even the next one?) will solve the issue.
It took a while due to a US holiday, but eventually the issue got sorted. It's not merged into the master branch yet, so I keep this issue open.

That's good news. Thank you for letting me know

The bugfix has been merged into TFJS master just now: [https://github.com/tensorflow/tfjs/pull/4285](Pull Request).
It should be part of the next TFJS release, which would fix this issue. You can also install the TFJS master version to get the bug fixed immediately.


Feature/dynamicforms defaultfieldvalues

Enables setting a default value (tokens supported) for the following fields:

TextField
TextArea
UrlField
HiddenField
EmailField
Enumeration
Query

Merging issues

:clock1: