Allow EditorInspector to change its property name style when necessary

Previously, an EditorInspector's property name style can only be set from outside. Inspectors used for settings need to respond to changes in editor settings. So a few boilerplate code is almost always needed, including watching for a certain editor setting in _notification().
This PR simplifies the setup by adding a set_use_settings_style() function to tell the inspector to watch for editor settings changes on its own.

OK, changed EditorInspector to use settings style by default.

Thanks!


Fix warnings -Warray-bounds & disable -Wunused

OpenThread EFR32 platform has many instances of variables only used by
assert(), which is a no-op in release builds. Pass -Wno-ununused in
these builds to avoid the warning.
Also, add a trailing NULL to emAfEventStrings to avoid a warning from
-Warray-bounds:
../../src/app/util/af-event.cpp: In function 'const char* emberAfGetEventString(uint8_t)':
../../src/app/util/af-event.cpp:103:74: error: array subscript 0 is above array bounds of 'const char* [0]' [-Werror=array-bounds]
  103 |     return (index == 0XFF ? emAfStackEventString : emAfEventStrings[index]);
      |                                                    ~~~~~~~~~~~~~~~~~~~~~~^

@robszewczyk @saurabhst @BroderickCarlin ?


Remove assert

Proposed Changes
Removed the assert, of course it can be false if household isn't supported so fails on Mealie v1.
Time is against me, I liked the idea of validating define_household_support had been called but removing for now.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 99.07%. Comparing base (7c27f61) to head (96dedf0).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #246      +/-   ##
==========================================
- Coverage   99.07%   99.07%   -0.01%
==========================================
  Files           4        4
  Lines         325      324       -1
  Branches       36       36
==========================================
- Hits          322      321       -1
  Misses          2        2
  Partials        1        1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


new askpass sidecar

Instead of re-using the old askpass sidecar this is a new implementation that is also being built alongside our other images.  In the process of re-thinking the interface I also found that the new libraries support some of the functionality that the old askpass sidecar used to handcraft.
In addition we have at least one test.  Additional test would require running in GCE node, so I need to think about the way to test them.

/assign sdowell

/label tide/merge-method-squash


Add checkbox filtering to service-now compliance notifications

Add checkbox filtering to service-now compliance notifications for all or cricital failures only
Signed-off-by: Martin Scott<EMAIL_ADDRESS>:nut_and_bolt: Description
Previously we had a request to deliver all compliance profile failure data to service now. Subsequently a customer has requested the ability to filter for critical controls only in automate.
This update adds a checkbox to the service now notification setting in the automate UI. When checked the notifications-service will filter out all non critical control failures and only profiles with critical control failures will be reports to service now. Other functionality remains unaffected.
The checkbox will only be displayed for ServiceNow notifications when the failure type is 'Inspec scan failures'

The notifications-service GRPC message ServiceNowAlert is updated to have the critical_controls_only boolean flag. By default this flag is false and is only set to true by the user for ComplianceFailures. The notifications_service db rules table has been updated to store the critical_controls_only flag.
Formatters in the notifications-service have been refactored to filter depending on the setting of the flag.
:white_check_mark: Checklist

[Y] Necessary tests added/updated?
[ ] Necessary docs added/updated?
[Y] Code actually executed?
[Y] Vetting performed (unit tests, lint, etc.)?

@satellite15 do you mind adding a screenshot to ur preamble?

@satellite15 do you mind adding a screenshot and repro steps to ur preamble? i tried to review it, but couldn't get the checkbox to show up.

Added to the description

Great job adding this feature. Everything seems to be working correctly. I am going to look over the code now.
@susanev Below are the step I used to test this functionality.
### :athletic_shoe: Demo Script / Repro Steps

build components/automate-ui-devproxy/ && build components/notifications-service/ && build components/automate-gateway/
start_all_services
start the UI outside of hab studio. From in the 'components/automate-ui' folder run npm install && npm run serve:hab
Create a ServiceNow InSpec failure notification in the UI here https://a2-dev.test/settings/notifications.
For the 'ServiceNow webhook' create a webhook at http://requestbin.sjcmmsn.com.
Check the Check to be notified of critical control failures only checkbox
Send a critical InSpec report with this command send_inspec_failure_example
Go to http://requestbin.sjcmmsn.com and ensure the notification was sent.
To send a noncritical file first update the 'components/compliance-service/ingest/examples/compliance-failure-big-report.json' file with https://gist.github.com/lancewf/8536b366e103dc1589ceef3952615d29
Then run send_inspec_failure_example again.
Go to http://requestbin.sjcmmsn.com and ensure a notification was not sent.
Open the notification in the UI and uncheck the Check to be notified of critical control failures only checkbox and save the notification.
Then run send_inspec_failure_example again.
Again go to http://requestbin.sjcmmsn.com and ensure another notification was sent.


mpv.conf looks like it has garbage?

Here's my mpv config in home.nix:
programs.mpv =
    { enable = true;
      bindings = { curtailed for clarity };
       config = { osc                  = "no";
                  volume-max           = "600";
                  af                   = "scaletempo";
                  sub-auto             = "fuzzy";
                  slang                = "eng,en";
                  alang                = "eng,en";
                  border               = "no";
                  ytdl-format          =
                    "best #bestvideo[height<=?720]+bestaudio/best";
                  osd-font             = "'Source Sans Pro'";
                  osd-font-size        = 40;
                  # sub-scale            = 0.6;
                  sub-text-font-size   = 27; # default 55
                  sub-text-border-size = 1.5; # default 3
                };
    };

And this is the corresponding home-manager generated mpv.conf
af=%10%scaletempo
alang=%6%eng,en
border=%2%no
osc=%2%no
osd-font=%17%'Source Sans Pro'
osd-font-size=%2%40
slang=%6%eng,en
sub-auto=%5%fuzzy
sub-text-border-size=%8%1.500000
sub-text-font-size=%2%27
volume-max=%3%600
ytdl-format=%44%best #bestvideo[height<=?720]+bestaudio/best

I have no idea where all these %Nr%'s are coming from but I doubt mpv deals with them gracefully.
If there's any extra info I can provide please let me know, I'm using nix-darwin.

What kind of error are you getting? The formatting with % is intentional to avoid encoding issues. The format is described in the mpv documentation.
My guess is that you are getting an error because you have ' characters in the
osd-font = "'Source Sans Pro'";

line.

Oh, I had no idea. Thank you!


Allow list of integers for Hi-C resolution attribute

From Daniel Cotter (HTAN Stanford)

We had a question about the Resolution field in the Hi-C Level 2 metadata. Right now, the RFC lists the data type as int, but the Data Curator App is rejecting multiple values in this field, such as “100, 200, 500, 1000, 2000, 5000, 10000, 20000, 50000, 100000, 250000, 500000, 1000000 (bp)”. Is it possible to adjust the acceptable format to a list of integers (it’s the more proper way)?

Confirming that this is currently validated with int
https://github.com/ncihtan/data-models/blob/2a6732e21eabc36f401effb22b072d07f3754216/HTAN.model.csv#L105
it looks from the schematic documentation on rule combinations that we can't currently do list::int.
@elv-sb, @aclayton555, let's discuss how best to proceed in our next sprint start.

Squeezed this in as part of #220


feat: optionally dump queries to log on SIGTERM

Dump all active queries to the log when a SIGTERM
is received and the termination-query-log flag is
true in the coordinator section of the config. The
default is false.
Closes https://github.com/influxdata/influxdb/issues/22636

[X] Well-formatted commit messages
[X] Rebased/mergeable
[X] Tests pass
[X] Documentation updated or issue created: https://github.com/influxdata/docs-v2/issues/3230

Yes, tested, and tested it when called from the upcoming Plutonium changes.

data_0_1  | ts=2021-10-07T20:03:10.209113Z lvl=info msg="Signal received, initializing clean shutdown..." log_id=0X35GYbG000
data_0_1  | ts=2021-10-07T20:03:10.209149Z lvl=info msg="Current Queries" log_id=0X35GYbG000 qid=2 query="SELECT * FROM /.*/" database=stress duration=3s status=running
data_0_1  | ts=2021-10-07T20:03:10.209197Z lvl=info msg="Waiting for clean shutdown..." log_id=0X35GYbG000


cksum: Refine schema cksum validation

Calculates the cksum removing the cksum line using a more
strict regex than the used previously.
It fixes a problem when calculating the cksum of a schema that
has fields with the substring cksum (e.g.: a checksum column),
lines that the previous cksum calculation incorrectly removes
before running cksum.

Apologies for the delay in review--it was far too long, of course.
If this is still relevant, then please resubmit it as a single commit.  There should be no need for 8 commits to add this small feature.

Oops, good to know, thanks.


Fix tooltip flicker

For some reason it seems the tooltip div ends up interfering with the pointer, not sure why this became an issue after the switch to Google Maps but a small offset seems to solve it.

Tooltip looks much better now, thanks


[Core] Remove zero check in next_power_of_2

I just found an unnecessary check and why not remove it.

Why is it unnecessary? It causes overflow otherwise, how is that prevented?

From this #81917, due to the fact that we have a very large x, this method returns 0 as it should return.
If you look at the logic of its work. Then we subtract 1 from 0 and get UINT_MAX. Then 1 is added and we get 0.

Yes that's for the next_po2 but that's not the case for the other one, where is the protection for that?

It works the same way there.
I will explain on uint8_t:
x = 00000000; than we then subtract 1 from x. Now x = 11111111. Than
x |= x >> 1
x >> 1 = 01111111
11111111 | 01111111 = 11111111
The same for  x |= x >> 2, x |= x >> 4;
We get 11111111.
And next we add 1. Now x = 0.
With x == 0 check we return the same.

Then the check isn't unnecessary, I don't expect it to be so costly it's more expensive than 5 shifts, five ors, and two additions

The probability that x will be 0 is very small. And the jump instruction will probably take the same amount of time.

You can look here to see the difference between the compiled code of these two functions https://godbolt.org/z/h7MacGeEe.

Can you show performance improvements? The compiled code might differ but that doesn't necessarily translate to a performance boost, I'd say we shouldn't modify such core code without good reason, it's known to work as it is, but weird bugs can creep in if things are modified, so to me it's not worth it to modify it without some tangible improvement
"Could" doesn't always translate to "is", nor even "should", and again this is very sensitive code used a lot

You were right. There is almost no difference in performance.

Please show your performance differences if you have any

According to QuickBenchmark, it is up to one percent.

Does that represent our code setup and realistic distribution? It working faster in an ideal test case doesn't translate to how the code works in the actual engine, and with a 1% difference under such conditions it's likely none in practice

Thank you for your contribution nonetheless, and hoping for future performance work, your work to improve the engine code is very appreciated!


Issue with next and previous step.

Description
If no lab has been started and the user asks to go to the next step it will increase the step counter. Same as with the previous step function.
Steps to reproduce the behavior:

Launch the program by saying "MSU lab assistant"
Say next step
Say begin lab one
See error

Expected behavior
When the user asks to go to the next or previous step without a lab being started then Alexa should tell them that they must begin a lab to go to the next or previous step.

This issue has been resolved.


fix: update to eye v10.9.2

fix: update to eye v10.9.2

:tada: This PR is included in version 16.6.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release
v16.6.2

Your semantic-release bot :package::rocket:


HELP how to detect there is not internet avaliable?

Hi @mobizt,
I´m using the streaming example of yout library, it is a awesome job, congratulations one more time.
the ESP8266 can detect when WiFi signal is cut off, no issue on that, but I have an issue when just the internet signal is gone but WiFI remains.
How to detect we have no internet?? (if we still have WiFi signal)
Please, any help would be very appreciated.
best regards,
Danilo

Test the server connection e.g. google.com using http client or WiFi client by provide the response waiting timeout.
If no response returns within the specific time, that's the internet connection issue.


Plugins docs

not sure if I should add more since I don't really know what I should add other than just general plugin stuff
also yes merge after plugins has been merged

Plugins has been merged so it should no longer be blocked as waiting on PR. That being said, it currently has merge conflicts, @catornot

i merged the more comprehensive https://github.com/R2Northstar/ModdingDocs/pull/162 which has some overlap
is this PR still needed after that?

plugins are kinda complicated to setup, a lot of boilerplate and stuff

also I plan to rewrite this soon:tm:


Another possible source of sources and own set of stuff too: notracking

@notracking (I suppose it's a group account because of the "I obey my master" message) has the following project. There's some sources you used and you are one of them, but there's other sources and it seems to be a set of custom ones (I guess it can be generate by doing some diff magic or parsing, whatever).
They are optimized for dnsmasq, so I guess they would require some kind of conversion to plain old HOSTS file. Am I right?
https://github.com/notracking/hosts-blocklists
Here's part of the project's README.md
No more ads, tracking and other virtual garbage
This repository provides a host and domainname based blocklist specifically designed for use with dnsmasq.
Most entries are gathered from multiple, actively maintained sources and automatically updated, cleaned, optimized and moderated on a daily basis.
The optimizer makes full use of dnsmasqs capability to block entire domains such as *.doubleclick.net (domains.txt). This reduces the chance of missing any new subdomains and significantly reduces the size of the blocklists. Hostnames that cannot be blocked on a domain level will still be listed in a regular hostname based blocklist (hostnames.txt).
It's important to use both these blocklists simultaniously to get full coverage against the contaminated parts of the internet.
General policies

Should not break useful websites or apps
Blocks tracking servers
Blocks advertising servers
Blocks analytics servers
Blocks fake websites
Blocks malware servers

Public lists that are used as source
Domain and hostname lists

~~http://winhelp2002.mvps.org/hosts.txt~~ already used
~~http://www.malwaredomainlist.com/hostslist/hosts.txt~~ already used
~~http://someonewhocares.org/hosts/hosts/~~ already used
https://s3.amazonaws.com/lists.disconnect.me/simple_malvertising.txt
https://s3.amazonaws.com/lists.disconnect.me/simple_malware.txt
~~http://hosts-file.net/ad_servers.txt~~ Steven Black said:  We don't use hosts-file.net because their curation activity is relatively low.
~~http://hosts-file.net/emd.txt~~ removed: too many false calls  Steven Black said:  We don't use hosts-file.net because their curation activity is relatively low.
~~http://hosts-file.net/exp.txt~~ Steven Black said:  We don't use hosts-file.net because their curation activity is relatively low.
~~http://hosts-file.net/fsa.txt~~ removed: too many false calls. Steven Black said:  We don't use hosts-file.net because their curation activity is relatively low.
~~http://hosts-file.net/mmt.txt~~ Steven Black said:  We don't use hosts-file.net because their curation activity is relatively low.
~~http://pgl.yoyo.org/as/serverlist.php?hostformat=hosts~~ already used
~~https://raw.github.com/StevenBlack/hosts/master/hosts~~ already used, it's you! ;)
https://raw.githubusercontent.com/Dawsey21/Lists/master/adblock-list.txt
https://raw.githubusercontent.com/quidsup/notrack/master/trackers.txt
http://malwaredomains.lehigh.edu/files/BOOT
http://malwaredomains.lehigh.edu/files/immortal_domains.txt
https://raw.githubusercontent.com/vokins/yhosts/master/hosts.txt Excluding license servers used for legit purposes
https://raw.githubusercontent.com/piwik/referrer-spam-blacklist/master/spammers.txt
https://raw.githubusercontent.com/crazy-max/WindowsSpyBlocker/master/data/hosts/win7/spy.txt
https://raw.githubusercontent.com/crazy-max/WindowsSpyBlocker/master/data/hosts/win81/spy.txt
https://raw.githubusercontent.com/crazy-max/WindowsSpyBlocker/master/data/hosts/win10/spy.txt
~~https://raw.githubusercontent.com/AdAway/adaway.github.io/master/hosts.txts~~ already used
http://www.dshield.org/feeds/suspiciousdomains_Medium.txt
~~https://raw.githubusercontent.com/mitchellkrogza/Badd-Boyz-Hosts/master/hosts~~ already used
a large set of custom entries

Adblock Plus lists (only full hostname, non-3rd party filters)

https://raw.githubusercontent.com/Dawsey21/Lists/master/adblock-list.txt
https://www.fanboy.co.nz/enhancedstats.txt
https://easylist-downloads.adblockplus.org/easylist.txt
https://easylist-downloads.adblockplus.org/easylistchina.txt
https://easylist-downloads.adblockplus.org/easylistdutch.txt
https://easylist-downloads.adblockplus.org/easylistgermany.txt
https://raw.githubusercontent.com/MajkiIT/polish-ads-filter/master/polish-adblock-filters/adblock.txt
https://easylist-downloads.adblockplus.org/easylistspanish.txt
https://easylist-downloads.adblockplus.org/liste_fr.txt
https://easylist-downloads.adblockplus.org/easylistitaly.txt
https://www.void.gr/kargig/void-gr-filters.txt
https://raw.githubusercontent.com/k2jp/abp-japanese-filters/master/abpjf.txt

Hi,
I this is interesting!
I wrote a script that compares some of those sources versus
known blacklists and the current hosts file
(https://gist.github.com/astyonax/e22511bc4f715e8534e5d99918e55f2e).
I get about 300 new hosts (which are up, blacklisted, and not blocked).

I think this project would require more research and looking into. There are obviously scripts "auto-updating" the lists there, but the scripts are not available and only the lists are presented. In this case, without knowing how exactly those custom entries are sourced, curated, how and how often they are reviewed for pruning, and so forth, Steven would have to reach out personally and do a quick Q&A with them. Has anyone contacted them or been in touch somehow and know the best way to communicate with them?

At the very least, I think the disconnect lists might be worth looking into. They're quite well-maintained and up-to-date if memory serves.


1.5.x introduces API breaking changes

Describe the bug
Version 1.5.x is mislabeled. Its version number suggests that there are new features with no breaking API changes. But in fact old code is not compatible anymore.
To Reproduce

Have a flutter project that relies on version 1.3.x or 1.4.x of this plugin.
Run flutter clean, remove the pubspec.lock
Run flutter pub upgrade
See error messages

Expected behavior
The plugin should continue to work with the old code, as it's a minor series upgrade. What is now called 1.5.x should have been a 2.x
Screenshots
None, but changes like https://github.com/VictorKachalov/health_kit_reporter/commit/f08e62901555af0d859ec829bbc682a73ee9d38c#diff-bb8f6fdce8b91b43f4156f21e5fed48f710f08ebaad88347e4b3cc896fdccd6dR167 are likely to have caused the problem.
Desktop (please complete the following information):
All of them
Smartphone (please complete the following information):
All of them
Additional context
Please see https://dart.dev/tools/pub/versioning

Hi @maltemedocs
thank you, makes sense, I will soon publish version 2.0.0 with some other breaking changes.


Add DS/DNSKEY support

Adds lookup type DS and DNSKEY which are used in DNSSEC signed zones.

Thank you for the PR, and again, my apologies for the delay in getting this merged back into mainline.


Cannot import data from Table - Need example?

Hello,
first of all: Thank you! This looks like a lot of work that will help me save a lot of manual labour.
I found a few videos on how to Create Excel files, but not how to read from them. I am stumped a bit. So this is less of an issue, more of a documentation issue (happy to write it down to add to the Project btw, once I have tackled it :))
I need to figure out how to do the following:

I import a Spreadsheet (which we use as an input-form), Open-ExcelPackage - OK :)
$InputFile = Open-ExcelPackage -Path $File

I drill down to the Sheet and Table I want - OK
$InputFile.$SheetName.Tables[$Table]

I have the Tables Address (B30:H35) and number of columns (6) and rows (7)

Start   : OfficeOpenXml.ExcelCellAddress
End     : OfficeOpenXml.ExcelCellAddress
Table   :
Address : B30:H35
IsName  : False
Rows    : 6
Columns : 7

I do not know how to now plug that into Import-Excel:
I have the following, but it wants numeric values to know where to start and end.
Import-Excel -ExcelPackage $InputFile -WorksheetName $SheetName -StartRow 30 -StartColumn 2 -EndRow 36 -EndColumn 9
How do I translate B30:H35 into these 4 numeric values
OR
How do I plug the Object (Type: ExcelTable) into the Import-Excel function
I don't seem to be able to produce what I need.
I have found Get-XYRange, but its output is not numeric...

OK. After writing this, taking a break I figured it out
Here is my solution:
$XLTable = $InputFile.$SheetName.Tables[$Table]

$SC = $XLTable.Address.Start.Column
$SR = $XLTable.Address.Start.Row

$EC = $XLTable.Address.End.Column
$ER = $XLTable.Address.End.Row

$PSObject = Import-Excel -ExcelPackage $InputFile -WorksheetName $SheetName -StartRow $SR -StartColumn $SC -EndRow $ER -EndColumn $EC

I still wonder whether there is an easier way. Whether the Import-Excel can get a Parameter "TableName" that reads the whole table and returns as PSItem for it.
Followup. Could it also get a Parameter "DefinedName" that returns the value of the defined name in the sheet?

There is no parameter on Import-Excel for that. The below is in the repo, it will be moved out of the module and setup as an example.
For the DefinedName, probably won't extend this to do that. Be great if you worked up an example, please share if you do.
https://github.com/dfinke/ImportExcel/blob/master/GetExcelTable.ps1

These examples are great, thank you!
I am wondering if they are part of the Module, but not exposed?
Will share if I find out how to get the defined names out :)

You're welcome. They are part of it, don't depend on it. They are probably going to be moved to the examples folder. They are no unit tests for it. If they get test coverage, they may stay in the module.

oh. forgot to action this one. sorry.
Yes, closing is good. Managed to extract what I needed, but haven't managed to document anything worthy of feedback.


chore: switch travis to microk8s

Fixes #1791
Please confirm that your PR fulfills these requirements

[x] Multiple commits are squashed into one commit.
[x] The commit message follows Conventional Commits, which allows us to autogenerate release notes; e.g. fix(plugins/plugin-k8s): fixed annoying bugs
[x] All npm dependencies are pinned.

this was an experiment


Implement calendars

Does what it says on the tin.  I've tried to commit this in sensible chunks which each pass all the tests; but each commit is huge so I'm not sure how best to review this.  Good luck!
Before merging this we should deploy it to integration, update the path reservations in publishing-api, and check that the calendars can be published by frontend.

Trello card

All looks good in staging, I'm able to republish the calendars, and all the pages work.


Add checkbox to Program Settings to indicate that service qualifies for the CCE minor

 Add checkbox to Program Settings to indicate that service qualifies for the CCE minor #988


Help

Hello i think ive messed up please accept me anyway okay thanky ou

No longer need help used my brain for once


Add sketch snakefile

This adds a sketch for a Snakefile. This is not functional yet.
TODOs (EDIT unndreay)

[ ] Replace the check function's assertion errors by a warning or take the check over to Snakemake (otherwise output will be deleted by Snakemake due to the error)
[ ] Change back from shell to script (needs snakemake pckg to be imported and a switch in the code to work for both Snakemake call and bash/Pycharm call)
[ ] Change to absolute paths. The paths handed over to the scripts are relative at the moment, it may needed to be absolute for the 'script:' call to work
[ ] Make snakemake command line ready for running only one/several/all scenarios easier
[ ] Add performance measurement (snakemake benchmark: command)

Focused on preprocessing. For now, specifying the scenario like this ...
snakemake -j1 results/FlexMex2_2c/01_preprocessed
... generates a valid command line and preprocessing is performed.
A list of scenarios or a wildcard can't be called, though. Furthermore, paths in the script are left to be taken over to Snakemake to work properly!

First successful Snakemake run for preprocessing!
Specialty: Snakemake noticed the change in the script file with c00fecd0 and performed a rule re-run!
Before, I had run the same command line from shell (without Snakemake) in order to keep the output files in 02_preprocessed (if there are no files in /defaults, the check in preprocessing exits with an error, Snakemake takes it as a failed run and removes the output) and copied the output to /defaults to make this work.
(oemo-flex) unndreay@andilaptop ~/Workspaces/oemo-flex $ snakemake -j1 results/FlexMex2_2c/01_preprocessed
Building DAG of jobs...
Using shell: /bin/bash
Provided cores: 1 (use --cores to define parallelism)
Rules claiming more threads will be scaled down.
Job counts:
	count	jobs
	1	preprocess
	1
Select jobs to execute...

[Tue Feb 16 15:27:05 2021]
Job 0: Preprocess input data for scenario 'FlexMex2_2c'.

Virtualenv: /home/unndreay/.virtualenvs/oemo-flex
Python 3.7.7
15:27:06-INFO-Path for logging: /home/unndreay/Workspaces/oemo-flex/results/FlexMex2_2c/03_postprocessed/oemoflex.log
15:27:06-INFO-Used oemof version: 0.3.2
15:27:06-INFO-Updating 'electricity-shortage'
15:27:06-INFO-Updating 'electricity-curtailment'
15:27:06-INFO-No update function defined for 'electricity-curtailment'.
15:27:06-INFO-Updating 'electricity-demand'
15:27:06-INFO-Updating 'wind-offshore'
15:27:06-INFO-Updating 'wind-onshore'
15:27:06-INFO-Updating 'solar-pv'
15:27:06-INFO-Updating 'hydro-reservoir'
15:27:06-INFO-Updating 'electricity-transmission'
15:27:06-INFO-Updating 'electricity-liion_battery'
15:27:06-INFO-Updating 'electricity-bev'
15:27:06-INFO-Updating 'ch4-gt'
15:27:06-INFO-Updating 'ch4-extchp'
15:27:07-INFO-Updating 'ch4-boiler-large'
15:27:07-INFO-Updating 'electricity-pth'
15:27:07-INFO-Updating 'electricity-heatpump-large'
15:27:07-INFO-Updating 'heat-storage-large'
15:27:07-INFO-Updating 'heat-demand'
15:27:07-INFO-Updating 'heat-shortage'
15:27:07-INFO-Updating 'heat-excess'
15:27:07-INFO-No update function defined for 'heat-excess'.
15:27:07-INFO-No timeseries information found for 'electricity-shortage'.
15:27:07-INFO-No timeseries information found for 'electricity-curtailment'.
15:27:07-INFO-Creating 'electricity-demand' timeseries for 'electricity-demand'.
15:27:07-INFO-Creating 'wind-offshore' timeseries for 'wind-offshore'.
15:27:07-INFO-Creating 'wind-onshore' timeseries for 'wind-onshore'.
15:27:07-INFO-Creating 'solar-pv' timeseries for 'solar-pv'.
15:27:08-INFO-Creating 'hydro-reservoir' timeseries for 'hydro-reservoir'.
15:27:08-INFO-No timeseries information found for 'electricity-transmission'.
15:27:08-INFO-No timeseries information found for 'electricity-liion_battery'.
15:27:08-INFO-Creating 'drive_power' timeseries for 'electricity-bev'.
15:27:08-INFO-Creating 'availability' timeseries for 'electricity-bev'.
15:27:09-INFO-Creating 'max_storage_level' timeseries for 'electricity-bev'.
15:27:09-INFO-Creating 'min_storage_level' timeseries for 'electricity-bev'.
15:27:09-INFO-No timeseries information found for 'ch4-gt'.
15:27:09-INFO-No timeseries information found for 'ch4-extchp'.
15:27:09-INFO-No timeseries information found for 'ch4-boiler-large'.
15:27:09-INFO-No timeseries information found for 'electricity-pth'.
15:27:09-INFO-No timeseries information found for 'electricity-heatpump-large'.
15:27:09-INFO-No timeseries information found for 'heat-storage-large'.
15:27:09-INFO-Creating 'heat-demand' timeseries for 'heat-demand'.
15:27:09-INFO-No timeseries information found for 'heat-shortage'.
15:27:09-INFO-No timeseries information found for 'heat-excess'.
[Tue Feb 16 15:27:12 2021]
Finished job 0.
1 of 1 steps (100%) done
Complete log: /home/unndreay/Workspaces/oemo-flex/.snakemake/log/2021-02-16T152705.853721.snakemake.log

Infer rule has to be run this way, gives an error:
(oemo-flex) unndreay@andilaptop ~/Workspaces/oemo-flex $ snakemake -np results/FlexMex2_2c/01_preprocessed/datapackage.json
Building DAG of jobs...
ChildIOException:
File/directory is a child to another output:
('/home/unndreay/Workspaces/oemo-flex/results/FlexMex2_2c/01_preprocessed', preprocess)
('/home/unndreay/Workspaces/oemo-flex/results/FlexMex2_2c/01_preprocessed/datapackage.json', infer)

Output paths has to be adapted.

Output and input paths have to be given much more exactly than expected for Snakemake to work. E.g. we cannot just say preprocessing and infer output into the same directory results/{scenario}/01_preprocessed, what they actually do. If so, optimize has no unique rule to get its input from. So we have to give the actual output path up to the point where it is unique (.../data for preprocessing and .../datapackage.json for infer).
Because of that, if we give to the infer rule its actual input path (results/{scenario}/01_preprocessed) like so (processed_dir):
https://github.com/modex-flexmex/oemo-flex/blob/c51f22b0d6519bc059b7ba271b4f983370ccf09d/Snakefile#L35-L47
... there is no rule with this as an output and Snakemake cannot derive how to generate this data. It throws this error:
(oemo-flex) unndreay@andilaptop ~/Workspaces/oemo-flex $ snakemake -j1 results/FlexMex2_2c/01_preprocessed/datapackage.json
Building DAG of jobs...
MissingInputException in line 37 of /home/unndreay/Workspaces/oemo-flex/Snakefile:
Missing input files for rule infer:
results/FlexMex2_2c/01_preprocessed

As a solution, the path has to be given as params like in ... not to conflict with the Snakemake workflow mechanism.

As a solution, the path has to be given as params like in ddcfec6 not to conflict with the Snakemake workflow mechanism.
https://github.com/modex-flexmex/oemo-flex/blob/ddcfec669427cdafc6554694512ef43cf9638551/Snakefile#L35-L48

Completed preprocessing, infer, optimize and postprocessing rules.
They can be run by:

Preprocessing: snakemake -j1 results/FlexMex1_2a/01_preprocessed/data
Infer: snakemake -j1 results/FlexMex1_2a/01_preprocessed/datapackage.json
Optimize: snakemake -j1 results/FlexMex1_2a/02_optimized/
Postprocessing: snakemake -j1 results/FlexMex1_2a/03_postprocessed/

Thanks for your work! I tested it with a couple of scenarios. Looks good, apart from an inconsistency of the scenario names for the first experiment. The scenario-yamls should get a FlexMex1_ prefix. Otherwise, there is a FileNotFoundError when trying to save the optimization results. Looks like that's because experiment_paths are created based on the scenario name, which is defined in the yaml. But as snakemake is set up, the paths are given by the filename of the yaml.

New issue: if the upper-level dir results/{scenario} is used for log:, building the process pipeline (Building DAG of jobs...) takes too long. Using 00_log instead for the moment.

Ways to solve that:

Hand over results/{scenario}/oemoflex.log as the log input. define_logging has to be called this ugly way to overwrite the default filename:logpath = define_logging(
    logpath=logging_path,
    logfile=''
)

Logging in the terminal appends a slash - ugly too:14:59:17-INFO-Path for logging: results/FlexMex2_2c/00_log/oemoflex.log/

Pro: old path
Con: ugly workaround in oemoflex
Extra sub-directory 00_log. Has to be made before in order to work.
Pro: proper define_logging() call
Con: extra path for one file, extra makedirs()
Hand over the log path as another one in params:.
Pro: Leave everything in oemoflex as it is.
Con: No self-explaining log: directive (can be supplemented by call it params.log)
(Give all the preprocessing steps its own log file in its folder) -- not sure if the actual problem persists.

The actual pitfall is that define_logging() expects two arguments to define a new path/filename -- one would be sufficient?


Feature: RSS Feed

Title says it all. Will add more details here later.

Forgot to tag this but I've pushed an RSS feed:
https://github.com/getstattic/stattic/commit/869f8f0f7152670185e8169a80f722619f8e6140
Closing this out for no, but can re-open if/when needed 🤘

Closed.


Network scanning failed

ERROR: Network scanning failed. Please check your requirements configuration.
i got an above error while running the python script..I have a python interpretor version 2.7.13 . In the requirement.txt file has two interpretor scap and python nmap.What i have to do to run the script in my debian machine

Hey!
Have you installed the dependencies? If not, execute these commands:
sudo apt-get update && sudo apt-get install nmap
sudo python -m pip install -r requirements.txt


Reconsider Sign Errors

I'd like to circle back on trying to remove the dependence on std::error::Error, because it's confusing to me that this is compatible with conversion errors from the SDK, given that the SDK doensn't support std. But if this works 👏🏻

Originally posted by @leighmcculloch in https://github.com/stellar/rs-stellar-contract-sdk/pull/312#pullrequestreview-1050168272

I understand why this was required now, and I don't think we need to do anything about it. Thanks.


Race-condition with worker task execution

Hello,
This logic in the worker is not thread safe. When the client registers a function with a Task interface instance, that task is essentially a singleton bound to that function-name that will be shared between all worker threads accessing it during execution. As a result, calls to ParseKwargs and making variable assignments on the instance will be dangerous as it'll lead to nondeterministic behavior if multiple threads are concurrently running that task from different calls.
Without backwards compatibility in mind, the cleanest solution to this would be to rework the CeleryTask interface to simply have a single method with signature RunTask(kwargs map[string]interface{}) (interface{}, error) which will do ParseKwargs and RunTask in one shot. This way we'd restrict the burden of state management to the method's scope.
That however may not be feasible as that'll break existing client code. Nonetheless, this is a serious issue that I have confirmed during testing.

Did you mean this?
if ok {
		if err := taskInterface.ParseKwargs(message.Kwargs); err != nil {
			return nil, err
		}
		val, err := taskInterface.RunTask()
		if err != nil {
			return nil, err
		}
		return getResultMessage(val), err
	}

this  ParseKwargs write some struct fields and this taskInterface will be accessed by several goroutines(workers). But actually, this taskInterface is not a shared variable
beacause this line, in the same function:
taskInterface, ok := task.(CeleryTask)

this type assertion will create a new variable, so every goroutine will use a copy of the original task, there is no shared variable.

@DriedYellowPeach Good catch. Still, that's a shallow copy, so basically any pointer fields will end up being shared (which is what my original test must have been using). The developers will just have to keep in mind not to change state on such fields, or not include them altogether. That said, this is not really an issue, but maybe it could be documented better.


[AutoPR network/resource-manager] Network 2018-02 for Go and Python

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/2784

(message created by the CI based on PR content)

Codecov Report

Merging #2313 into restapi_auto_network/resource-manager will decrease coverage by 0.24%.
The diff coverage is 5.94%.

@@                            Coverage Diff                            @@
##           restapi_auto_network/resource-manager    #2313      +/-   ##
=========================================================================
- Coverage                                  52.27%   52.02%   -0.25%
=========================================================================
  Files                                       5626     5567      -59
  Lines                                     136041   133609    -2432
=========================================================================
- Hits                                       71118    69514    -1604
+ Misses                                     64923    64095     -828

Impacted Files
Coverage Δ

...rk/azure/mgmt/network/network_management_client.py
28.77% <5.94%> (-3.01%)
:arrow_down:

...tance/azure/mgmt/containerinstance/models/event.py
36.36% <0%> (-63.64%)
:arrow_down:

...e/mgmt/containerinstance/models/container_state.py
40% <0%> (-60%)
:arrow_down:

...tance/models/container_properties_instance_view.py
50% <0%> (-50%)
:arrow_down:

...batchai/models/azure_blob_file_system_reference.py
50% <0%> (-37.5%)
:arrow_down:

...gmt-batchai/azure/mgmt/batchai/models/operation.py
50% <0%> (-10%)
:arrow_down:

...onitor/models/rule_management_event_data_source.py
31.25% <0%> (-8.75%)
:arrow_down:

.../azure/mgmt/batchai/models/tensor_flow_settings.py
41.66% <0%> (-8.34%)
:arrow_down:

.../mgmt/monitor/models/autoscale_setting_resource.py
45.45% <0%> (-7.88%)
:arrow_down:

...r/azure/mgmt/monitor/models/rule_webhook_action.py
55.55% <0%> (-5.99%)
:arrow_down:

... and 206 more

Continue to review full report at Codecov.

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

This PR has been merged into https://github.com/Azure/azure-sdk-for-python/pull/2229


Running on old kuka robots

Hello,
I tried to run some movements on an old 2003 Kuka 150 with a win95 based vxWorks. Is there a way to modify the output accordingly. Most of the time it has problems with the linking of the .dat files. Is it possible to somehow ''flatten'' the Code to one .src file and implementing the old declarations?
Best M.Ş.

What type of controller is it? I've tested the plugin with as old as KRC2 and it works without any changes. You might have to split the programs more often due to memory limitations.
(As far as I know, modern KUKA robots still use VxWorks as their RTOS, except the iiwa)

I'm not sure which version it is (I'm not next to the robot now) but it has a KRC2. The code that I send to the robot is just 400 Lines long. I'm testing it also with kuka/prc and here it works (in the settings you can click and enable a ''make compatible for older robots'' option).

I'd need more info to understand the issue. Variables in the .dat files are explosed as global variables, so make sure you don't have multiple of them with the same variables. To avoid conflicts, delete any other programs from the controller and have only the program you're currently running.


fix(masthead-search): increasing css selectors specificity

Related Ticket(s)
[Carbon v10.31.0 Upgrade | React] Masthead icons are white #5596
Description
The Carbon upgrade added some new selectors to the HeaderGlobalAction component that were overriding the styles set at the MastheadSearch buttons. This was fixed by increasing the specificity of the previous selectors.

Looks like the initial build bundle test passed, but another one needs to be addressed. I'll take a look at this after this PR is merged in:

@guilhermelMoraes cannot approve Percy since we're locked out of it but the diff looks good!


How can I handle a common JS function for all controllers and actions?

I created a main.js(or module) file for all pages, in some pages, just need to run this main.js and there is no other js functions, so I don't
want to create a js file for this page(or action), for example:
ASP.NET Controller:
Home -- controller
----Index 	-- action
----About	-- action
JS script:
/Scripts/
--Controllers
----Home
-------index.js
----Common
-----main.js
in Home-About action, I just need to run the common main.js, so I don't want to create the Home-about.js file, how can I do that?
because for this case, if I create the about.js, then this file will be empty and only just need to require the main.js in it, if there are many of these case, then I need to create a lot of empty js files and just for require the same common file, so I don't want to do that.
thanks!

This sounds very similar to #68 and I think the solution is the same.  You should create a generic entrypoint file that specifies your main.js module as a dependency.  The trick is to then add another EntryPointResolver that will return this file.  The advantage here is that every route will automatically be provided your generic entrypoint unless a specific entrypoint is available.
Have a look at  https://github.com/vtfuture/RequireJSDotNet/files/170325/GeneralEntryPoint.zip

oh, this is what I need, thank you so much!!!


hwmv2: move all non-ported legacy boards and socs to legacy folders

To un-block continuing of soc and board porting then move all socs and boards which have not yet been ported to boards_legacy / soc_legacy folders.

Additional question: should we hold all migrations waiting for this change to be merged?

This moves all v1 boards and socs to a new location, which will mean that the v2 location here is the final v2 location i.e. all paths can be updated as they will be the correct paths. If you have a v1 -> v2 port PR ready now to review, it can be posted and merged before this. If you have something you are going to port but have not yet started, you should use this as the base

Hi @tejlmand. Shouldn't you update the MAINTAINERS.yml file as well ? Else it will be broken in the collab-hwm branch for all the boards moved into boards/boards_legacy...

the maintainers file is already broken for boards which have been ported to new hwm.
We plan to do a single update to the maintainers file, as this will minimize conflicts compared to having n-PRs which all updates maintainer file when porting socs and boards.


⚠ AVS (kty) has degraded performance

In 12deac6, AVS (kty) (https://avus.com.br) experienced degraded performance:

HTTP code: 200
Response time: 8026 ms

Resolved: AVS (kty) performance has improved in 4ab246b.


Add semantic-release to auto release to composer

@basakest plz work on this one as next step

@Linvery


Linux Core 3.1  connecting to SQL Server Availability Group: System.AggregateException: One or more errors occurred. (One or more errors occurred. (A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 0 - No error information)))

Describe the bug
We're hosting a dotnet core 3.1 app on Linux in kubernetes. It presently connects successfully to a SQL Server 2014 instance, but we're consolidating onto a SQL Server 2014 Availability Group cluster. When the application tries to connect to the Availability Group Listener, it is initially successful, but on subsequent calls we frequently get the included exception.
Suspecting this might be a diagnosable protocol and/or platform issue, we ran wireshark on the primary instance of the SQL Server availability group. Wireshark doesn't show much because the connection to the server is being encrypted, but it does show that as long as TCP sessions don't enter their idle state, the app is able to successfully reuse them. If the TCP session idles, the app sends a tcp syn packet, which the server responds to correctly, but the app resets the connection and returns the included stack trace. Other than that detail, the overall network traffic looks like a normal encrypted SQL Server connection.
This is our only dotnet core application connecting to sql server that runs on Linux, so we've not been able to identify what the issue is.
Exception message: System.AggregateException: One or more errors occurred. (One or more errors occurred. (A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 0 - No error information)))
Stack trace: ---> System.AggregateException: One or more errors occurred. (A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 0 - No error information))
 ---> Microsoft.Data.SqlClient.SqlException (0x80131904): A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 0 - No error information)
   at Microsoft.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at Microsoft.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   at Microsoft.Data.SqlClient.TdsParserStateObject.ThrowExceptionAndWarning(Boolean callerHasConnectionLock, Boolean asyncClose)
   at Microsoft.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj, UInt32 error)
   at Microsoft.Data.SqlClient.TdsParserStateObject.ReadSniSyncOverAsync()
   at Microsoft.Data.SqlClient.TdsParserStateObject.TryReadNetworkPacket()
   at Microsoft.Data.SqlClient.TdsParser.ConsumePreLoginHandshake(Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean& marsCapable, Boolean& fedAuthRequired)
   at Microsoft.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover, SqlAuthenticationMethod authType)
   at Microsoft.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover)
   at Microsoft.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout)
   at Microsoft.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance)
   at Microsoft.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, Boolean applyTransientFaultHandling, String accessToken, DbConnectionPool pool)
   at Microsoft.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
   at Microsoft.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)
   at Microsoft.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
   at Microsoft.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
   at Microsoft.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at Microsoft.Data.ProviderBase.DbConnectionPool.WaitForPendingOpen()
ClientConnectionId:d058d1ce-1e25-4ae2-bc7e-eb1fc48a959e
   --- End of inner exception stack trace ---

<remainder of stack trace is our code>

Further technical details
Microsoft.Data.SqlClient version: 4.0.0 (also happens on 3.0.1)
.NET target: Core 3.1
SQL Server version: SQL Server 2014
Operating system: Docker Container, mcr.microsoft.com/dotnet/aspnet:3.1
We're using the OpenSSL mitigations outlined in https://github.com/dotnet/runtime/issues/30667
Connection string: Data Source=<sql AG Listener endpoint>; Initial Catalog=<our database>; User ID=<our uid>; Connect Timeout=120; MultipleActiveResultSets=True; MultiSubnetFailover=True; TrustServerCertificate=true;

@jesanfafon is it possible to try without MultipleActiveResultSets=True; or set it to MultipleActiveResultSets=false;

@JRahnama I tried running the app with that set to false; it looks like the team is using a library for graphql that requires MARS enabled.

If you think that it has a high chance of fixing our issues, we can try isolating part of the app to verify.

Any other ideas?

In doing some more testing today, the application works fine when connected directly to the primary server of the availability group by ip address. It appears to be only when using the listener endpoint that this issue occurs.

@jesanfafon this makes me wonder if you need to have same certificate or a valid certificate on each server? Do you have that setup and working?

@JRahnama we doublechecked the certs on our testing database and issued new ones but are seeing the same issue with the new certs

@jesanfafon I am going to setup an environment as yours, not sure if it is doable on my side, but that would be time consuming. I most probably will report back here somewhere next week. Just quick reminder of the Note part in this MS docs.

Good to hear! I spent some time with our Ops team on Friday working through the certificate requirements in that Note in the docs. We weren't able to get that configured correctly, but should that matter with TrustServerCertificate enabled? We're able to connect to either member of the availability group on its own, but not if both servers are listed in the DNS entry (as is the case with an availability group listener).
I'll keep working with our Ops team to get this configured correctly, since it is a more correct configuration. I'm unclear on what behavior it would change, and why our .NET Framework apps can connect to the same cluster without issue.
Is there any chance porting this application to Windows might resolve the issue?

Was there a resolution to this issue? We're seeing this as well. We use entity framework and make about 13 or so quick DB counts and it keeps erroring within the step with this error. We're using .net 6, and system.data.sqlclient

@ssadiq1 which System.Data.SqlClient version?

@ssadiq1 which System.Data.SqlClient version?
4.8.4

What was the resolution to this? I am encountering this too. Hello @jesanfafon  @JRahnama

What we wound up doing for our applications is building a secondary tool that watches the Availability Group Endpoint and updates the membership of our writable servers in a load balancer.
Then, the applications that have issues with connecting to the endpoint (e.g. dotnet on linux, nodejs, etc) can connect to the load balancer instead.
I can probably get permission to open source the code that's watching the endpoint if you're interested in that.


Remove log file create for api-server audit logs - Porting to main

Description of changes:
PR #642  - Port to main branch
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm


Improve Whitespace

The disassembly of the current program clearly indicates that it was generated by a machine, which is, I think, not in the spirit of the project. This patch replaces the existing program with a more idiomatic one which, in addition to being smaller and faster, masquerades as a sequence of assembly instructions while remaining an executable Whitespace program.

Humm, you're using the extended pick/copy instruction "\s\t\s", most interpreters miss that instruction (and it's "leave" friend). In fact I think only the original v0.3 Haskell one does it and that interpreter is horribly slow, fragile and difficult to compile.
Perhaps a plain "push/outchar" variant ? The one disassembled below is shorter than yours.
BTW: The labels in the original program should probably be interpreted like this ...
ws_label(add);
ws_label(write);
ws_label(write_end);
ws_label(read);
ws_label(read_end);
ws_label(newline);

New version like this ...
ws_push(72);
ws_outc();
ws_push(101);
ws_outc();
ws_push(108);
ws_dup();
ws_outc();
ws_outc();
ws_push(111);
ws_outc();
ws_push(44);
ws_outc();
ws_push(32);
ws_outc();
ws_push(119);
ws_outc();
ws_push(111);
ws_outc();
ws_push(114);
ws_outc();
ws_push(108);
ws_outc();
ws_push(100);
ws_outc();
ws_push(33);
ws_outc();
ws_push(10);
ws_outc();
ws_exit();

I did forget that copy was only added in v0.3, but Pavel Shub's interpreter implements it, and is generally much better than the reference interpreter for the reasons you've cited and more.
I suppose it wouldn't be unwise to forego the use of copy, but I contend that the overly simplistic push/outchar approach fails to sufficiently "demonstrate" the language. It seems appropriate to showcase at least slightly more than the fact that there is a stack and a facility for character output.
It's largely beside the point, but we must be reading different programs: the one I've proposed contains 23 instructions totaling 168 bytes, whereas the numbers for yours are 29 and 199.

doh, I forgot you included those "comments".

I'm no expert on this language, which is the basis for this entire project
(learning new stuff!). Which version do you both think best represents the
form and flow of the language itself?
On Mon, Aug 17, 2015 at 4:39 AM, rdebath<EMAIL_ADDRESS>wrote:

doh, I forgot you included those "comments".
—
Reply to this email directly or view it on GitHub
https://github.com/leachim6/hello-world/pull/207#issuecomment-131731805.

The current program does use a more diverse collection of the language's instructions, but it does so "unnaturally", in my estimation. There's quite a bit of redundancy, and‒as @rdebath points out‒the labels have been constructed programmatically, making for a rather unsightly program:

Contrast that with my proposed program:

The comparison isn't particularly authoritative, but I find it rather convincing nonetheless.
Given that most of the other examples simply defer to some print routine, I suppose the suggestion to use nothing more than push and outchar is reasonable, and the resultant program isn't atrocious visually:

Still, I maintain that demonstrating the rudiments of looping in Whitespace better aligns with the project's intent of providing a "feel" for each language.

I think that the I would use either the repeated push/outc or the push+loop[pop/out] flavour in a stack language like this. Probably the shorter as speed is likely to be swamped by I/O.
So, I agree, the version by  @0x0dea or perhaps the "un-golfed" variant without the PICK command.


support to delete undolog in back task

Ⅰ. Describe what this PR did
support to delete undolog in back task
Ⅱ. Does this pull request fix one issue?

a feature，some case the undolog will not delete ,the pr can avoid the undo_log table so big
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #1235 into develop will decrease coverage by 0.43%.
The diff coverage is 7.63%.

@@              Coverage Diff              @@
##             develop    #1235      +/-   ##
=============================================
- Coverage       44.9%   44.47%   -0.44%
- Complexity      1487     1490       +3
=============================================
  Files            253      254       +1
  Lines          10272    10400     +128
  Branches        1334     1351      +17
=============================================
+ Hits            4613     4625      +12
- Misses          5070     5187     +117
+ Partials         589      588       -1

Impacted Files
Coverage Δ
Complexity Δ

...ava/io/seata/core/constants/ConfigurationKeys.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...rc/main/java/io/seata/core/rpc/ChannelManager.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...ava/io/seata/core/rpc/netty/RmMessageListener.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...cc/src/main/java/io/seata/rm/tcc/RMHandlerTCC.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...n/java/io/seata/core/protocol/AbstractMessage.java
14.75% <0%> (-0.51%)
5 <0> (ø)

...c/main/java/io/seata/core/rpc/netty/RpcServer.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...ore/protocol/transaction/UndoLogDeleteRequest.java
0% <0%> (ø)
0 <0> (?)

...asource/src/main/java/io/seata/rm/RMHandlerAT.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...o/seata/server/coordinator/DefaultCoordinator.java
50% <37.5%> (-1.04%)
25 <2> (+3)

...va/io/seata/rm/datasource/undo/UndoLogManager.java
20.41% <6.66%> (-1.18%)
9 <0> (ø)

... and 3 more

Continue to review full report at Codecov.

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

Please add the configuration item to the configuration file.

done


Cowboy confused during keepalive requests?

I've got several cowboy handlers running, and my connections are set to use http keepalives.
Of my three controllers, one works flawlessly (post with empty body), however the other two (posts with bodies) fail whenever a second HTTP request is sent on the socket.
It looks like internal state is getting confused during request parsing.
Added some logging...
The function that's returning the 400 is here:
parse_method(<< C, Rest/bits >>, State, SoFar) ->
  case C of
    $\r ->
      lager:debug("In parse method. C: ~p Rest: ~p State: ~p SoFar: ~p",[C,Rest,State,SoFar]),
      error_terminate(400, State);
    $\s -> parse_uri(Rest, State, SoFar);
    _ -> parse_method(Rest, State, << SoFar/binary, C >>)
  end.

Going back up the call chain...
-spec parse_request(binary(), #state{}, non_neg_integer()) -> ok.
%% Empty lines must be using \r\n.
parse_request(<< $\n, _/binary >>, State, _) ->
  lager:debug("Empty lines must be using nl/lf"),
  error_terminate(400, State);
%% We limit the length of the Request-line to MaxLength to avoid endlessly
%% reading from the socket and eventually crashing.
parse_request(Buffer, State=#state{max_request_line_length=MaxLength,
                                   max_empty_lines=MaxEmpty}, ReqEmpty) ->
  case match_eol(Buffer, 0) of
    nomatch when byte_size(Buffer) > MaxLength ->
      error_terminate(414, State);
    nomatch ->
      wait_request(Buffer, State, ReqEmpty);
    1 when ReqEmpty =:= MaxEmpty ->
      lager:debug("empty req equal maxempty"),
      error_terminate(400, State);
    1 ->
      << _:16, Rest/binary >> = Buffer,
      parse_request(Rest, State, ReqEmpty + 1);
    _ ->
      lager:debug("PRE-PARSE: ~p",[Buffer]),
      parse_method(Buffer, State, <<>>)
  end.

And back...
-spec wait_request(binary(), #state{}, non_neg_integer()) -> ok.
wait_request(Buffer, State=#state{socket=Socket, transport=Transport,
                                  until=Until}, ReqEmpty) ->
  case recv(Socket, Transport, Until) of
    {ok, Data} ->
      lager:debug("In wait_request calling parse_request. Buffer: ~p",[<< Buffer/binary, Data/binary >>]),
      parse_request(<< Buffer/binary, Data/binary >>, State, ReqEmpty);
    {error, _} ->
      terminate(State)
  end.

Yields:
2016-02-11 22:44:50.637 [debug] <0.1442.0>@cowboy_protocol:wait_request:132 In wait_request, buffer: <<>>
2016-02-11 22:44:50.639 [debug] <0.1442.0>@cowboy_protocol:wait_request:135 In wait_request received data, calling parse_request. Buffer: <<"POST /key/data-key HTTP/1.1\r\nAccept: application/json\r\nHost: <IP_ADDRESS>:55443\r\nContent-Length: 0\r\n\r\n">>
2016-02-11 22:44:50.639 [debug] <0.1442.0>@cowboy_protocol:parse_request:150 Entering parse_request, buffer: <<"POST /key/data-key HTTP/1.1\r\nAccept: application/json\r\nHost: <IP_ADDRESS>:55443\r\nContent-Length: 0\r\n\r\n">>
2016-02-11 22:44:50.640 [debug] <0.1442.0>@cowboy_protocol:parse_request:163 PRE-PARSE: <<"POST /key/data-key HTTP/1.1\r\nAccept: application/json\r\nHost: <IP_ADDRESS>:55443\r\nContent-Length: 0\r\n\r\n">>
2016-02-11 22:44:50.640 [debug] <0.1442.0>@cowboy_protocol:parse_version:242 In parse_version, http 1.1
2016-02-11 22:44:50.640 [debug] <0.1442.0>@cowboy_protocol:request:433 In request, buffer: <<>>
2016-02-11 22:44:50.754 [debug] <0.1442.0>@cowboy_protocol:parse_request:150 Entering parse_request, buffer: <<>>
2016-02-11 22:44:50.754 [debug] <0.1442.0>@cowboy_protocol:wait_request:132 In wait_request, buffer: <<>>
2016-02-11 22:44:50.761 [debug] <0.1442.0>@cowboy_protocol:wait_request:135 In wait_request received data, calling parse_request. Buffer: <<"POST /doc/encrypt?fields=(bar) HTTP/1.1\r\nContent-Type: application/json\r\nAccept: application/json\r\nHost: <IP_ADDRESS>:55443\r\nContent-Length: 25\r\n\r\n">>
2016-02-11 22:44:50.761 [debug] <0.1442.0>@cowboy_protocol:parse_request:150 Entering parse_request, buffer: <<"POST /doc/encrypt?fields=(bar) HTTP/1.1\r\nContent-Type: application/json\r\nAccept: application/json\r\nHost: <IP_ADDRESS>:55443\r\nContent-Length: 25\r\n\r\n">>
2016-02-11 22:44:50.762 [debug] <0.1442.0>@cowboy_protocol:parse_request:163 PRE-PARSE: <<"POST /doc/encrypt?fields=(bar) HTTP/1.1\r\nContent-Type: application/json\r\nAccept: application/json\r\nHost: <IP_ADDRESS>:55443\r\nContent-Length: 25\r\n\r\n">>
2016-02-11 22:44:50.762 [debug] <0.1442.0>@cowboy_protocol:parse_version:242 In parse_version, http 1.1
2016-02-11 22:44:50.762 [debug] <0.1442.0>@cowboy_protocol:request:433 In request, buffer: <<>>
2016-02-11 22:44:50.794 [debug] <0.1442.0>@cowboy_protocol:parse_request:150 Entering parse_request, buffer: <<>>
2016-02-11 22:44:50.794 [debug] <0.1442.0>@cowboy_protocol:wait_request:132 In wait_request, buffer: <<>>
2016-02-11 22:44:50.794 [debug] <0.1442.0>@cowboy_protocol:wait_request:135 In wait_request received data, calling parse_request. Buffer: <<".1\r\nAccept: application/json\r\nHost: <IP_ADDRESS>:55443\r\nContent-Length: 0\r\n\r\n">>
2016-02-11 22:44:50.794 [debug] <0.1442.0>@cowboy_protocol:parse_request:150 Entering parse_request, buffer: <<".1\r\nAccept: application/json\r\nHost: <IP_ADDRESS>:55443\r\nContent-Length: 0\r\n\r\n">>
2016-02-11 22:44:50.794 [debug] <0.1442.0>@cowboy_protocol:parse_request:163 PRE-PARSE: <<".1\r\nAccept: application/json\r\nHost: <IP_ADDRESS>:55443\r\nContent-Length: 0\r\n\r\n">>
2016-02-11 22:44:50.795 [debug] <0.1442.0>@cowboy_protocol:parse_method:177 In parse method. C: 13 Rest: <<"\nAccept: application/json\r\nHost: <IP_ADDRESS>:55443\r\nContent-Length: 0\r\n\r\n">> State: {state,{sslsocket,{gen_tcp,#Port<0.4851>,tls_connection,<0.712.0>},<0.1440.0>},ranch_ssl,[cowboy_router,cowboy_handler],false,[{listener,https},{dispatch,[{'_',[],[{[<<"doc">>],[],cinched_crypto_field_rest_handler,[]},{[<<"doc">>,action],[],cinched_crypto_field_rest_handler,[]},{[<<"blob">>],[],cinched_crypto_blob_rest_handler,[]},{[<<"blob">>,action],[],cinched_crypto_blob_rest_handler,[]},{[<<"key">>,<<"data-key">>],[],cinched_data_key_rest_handler,[]}]}]}],undefined,undefined,5,3,100,4096,64,4096,100,5000,1455248695793} SoFar: <<".1">>

That third request is missing some data. Looks like part of the buffer was eaten on the previous request. That's as far as I've taken the troubleshooting for now.
The client code I'm testing with:
-module(client_test).

-export([run/0]).
-include_lib("ibrowse/include/ibrowse.hrl").

run() ->
  application:ensure_all_started(client_test),
  {ok, Pid} = ibrowse_http_client:start({"<IP_ADDRESS>",55443}),
  SockOpts = [
              {reuseaddr, true},
              {nodelay, true},
              {delay_send, false},
              {is_ssl,true},
              {response_format, binary},
              {ssl_options, [
                             binary,
                             {packet,0},
                             {certfile,"/root/cinched/fixtures/star.control-alt-del.org.crt"},
                             {keyfile,"/root/cinched/fixtures/star.control-alt-del.org.key"},
                             {cacertfile,"/root/cinched/fixtures/cacert.pem"},
                             {versions,['tlsv1.2']},
                             {ciphers,
                              [
                               "ECDHE-ECDSA-AES256-SHA384",
                               "ECDHE-RSA-AES256-SHA384",
                               "ECDH-ECDSA-AES256-SHA384",
                               "ECDH-RSA-AES256-SHA384",
                               "DHE-RSA-AES256-SHA256",
                               "DHE-DSS-AES256-SHA256",
                               "ECDHE-ECDSA-AES128-SHA256",
                               "ECDHE-RSA-AES128-SHA256",
                               "ECDH-ECDSA-AES128-SHA256",
                               "ECDH-RSA-AES128-SHA256",
                               "DHE-RSA-AES128-SHA256",
                               "DHE-DSS-AES128-SHA256"
                              ]}
                            ]
              }
             ],
  DK1Reply = ibrowse_http_client:send_req(
            Pid,
            #url{host="<IP_ADDRESS>",port=55443,path="/key/data-key"},
            [{'Accept','application/json'}],
            post,
            "",
            SockOpts,
            5000),
  io:format("~p~n",[DK1Reply]),

  Reply = ibrowse_http_client:send_req(
                  Pid,
                  #url{host="<IP_ADDRESS>",port=55443,path="/doc/encrypt?fields=(bar)"},
                  [{'Accept','application/json'},{'Content-Type', 'application/json'}],
                  post,
                  "{\"foo\":\"bar\",\"bar\":\"baz\"}",
                  SockOpts,
                  5000),
  io:format("~p~n",[Reply]),
  DK2Reply = ibrowse_http_client:send_req(
            Pid,
            #url{host="<IP_ADDRESS>",port=55443,path="/key/data-key"},
            [{'Accept','application/json'}],
            post,
            "",
            SockOpts,
            5000),
  io:format("~p~n",[DK2Reply]).

Yields this output:
Eshell V6.4  (abort with ^G)
1> client_test:run().
{ok,"200",
    [{"server","Cowboy"},
     {"date","Fri, 12 Feb 2016 02:04:06 GMT"},
     {"content-length","205"},
     {"content-type","application/json"}],
    <<"{\"dataKey\": \"g2gEZAALY2luY2hlZF9rZXliAABBy2gDZAANbmFjbF9lbnZlbG9wZW0AAAAYVKyJJEJzokf5NNAcl/9rn/YnH23FnlYlbQAAADD8H6uMb6biZKWT/mouzjcReRZY+6TV8PXPJHFjNs2pRyx78ujzxD7TL8KSqCVaFllhAQ==\",\"cryptoPeriod\": 16843}">>}
{ok,"200",
    [{"server","Cowboy"},
     {"date","Fri, 12 Feb 2016 02:04:06 GMT"},
     {"content-length","126"},
     {"content-type","application/json"},
     {"x-cinched-data-key",
      "g2gEZAALY2luY2hlZF9rZXliAABBy2gDZAANbmFjbF9lbnZlbG9wZW0AAAAY2asMLR8xz/MYUs7lFrynRNk1kYBperDZbQAAADAy27TZwNcRUeZR47UrcwMikPFKr6fHGtIdHlRf2nZ4RwxRymYNXy8ARVQgES9+liBhAQ=="},
     {"x-cinched-crypto-period","16843"}],
    <<"{\"foo\":\"bar\",\"bar\":\"g2gDZAANbmFjbF9lbnZlbG9wZW0AAAAY9I5GQvWvbBSrJeV4iwte3tkkEY2w9ka5bQAAABlehgPUK6Sp7au2gnPItaFOtlIHNkGK7YFM\"}">>}
{ok,"400",
    [{"connection","close"},
     {"server","Cowboy"},
     {"date","Fri, 12 Feb 2016 02:04:06 GMT"},
     {"content-length","0"}],
    <<>>}
ok
2> q().
ok

I've reproduced this behaviour with jmeter as well, so I'm confident it's not client side.
On the chance it's something wrong with my controllers...
The working controller: https://github.com/marksteele/cinched/blob/master/src/cinched_data_key_rest_handler.erl
The failing controllers:
https://github.com/marksteele/cinched/blob/master/src/cinched_crypto_blob_rest_handler.erl
https://github.com/marksteele/cinched/blob/master/src/cinched_crypto_field_rest_handler.erl

https://github.com/marksteele/cinched/blob/master/src/cinched_crypto_blob_rest_handler.erl#L82
It returns a new Req object for a reason...

Right you are!
I hadn't taken a close look at how the Req object was changing between calls, and it wasn't obvious to me that the returned value had changed and would effect the state between requests.
Might want to point that out in the documentation.
Thanks for the quick reply!

The documentation starts with this.

Milles excuses! Je lis trop vite :-)


LevelDB seg faults on Get operations with certain .ldb corruptions

What steps will reproduce the problem?

I first saw this bug while testing production code that uses a JNA wrapper, and
I was able to reproduce it by modifying the TableFile test in
corruption_test.cc in the following ways:
1. Alter the corruption algorithm to corrupt bytes in random locations instead
of just the end of the file.
2. Instead of corrupting bytes with an XOR with a hard-coded byte, corrupt
bytes by flipping all of their bits.
3. Instead of iterating over the DB to confirm corruption, perform a Get for
all of its keys.
4. Do the above repeatedly, with different random corruptions, and eventually
you'll get a segmentation fault (at least on OSX).

What is the expected output? What do you see instead?

I except Get operations to return corrupted data, and usually they do, but
occasionally I get a seg fault that kills the whole process.

What version of the product are you using? On what operating system?
1.14, OSX 10.8.5.

Please provide any additional information below.

I have attached a modified version of corruption_test.cc that implements the
changes described above. I also altered test_harness.cc to run the test 100
times, which is always sufficient to cause the seg fault. And I stripped out
the other tests from the Makefile. Swap these into the LevelDB project, and you
should be able to replicate the seg fault with make check.

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 15 Nov 2013 at 8:03
Attachments:

corruption_test.cc
testharness.cc
Makefile

Here's what's happening. When the byte(s) at the begging of a .ldb file (or
.sst) file get corrupted, the call to Block::NumRestarts() can return a crazy
value, which makes the "mid" variable in Seek take on a crazy value, which is
passed to GetStartPoint, and ultimately gets passed to memcpy inside
DecodeFixed32 in coding.h. Kaboom.

One simple fix is to put a sanity check in the Block::NewIterator function.

Iterator* Block::NewIterator(const Comparator* cmp) {
  if (size_ < sizeof(uint32_t)) {
    return NewErrorIterator(Status::Corruption("bad block contents"));
  }
  const uint32_t num_restarts = NumRestarts();
  if (num_restarts == 0) {
    return NewEmptyIterator();
  } else if (num_restarts > 4096){ //check for crazy values, use max block size as ceiling
    return NewEmptyIterator();
  } else {
    return new Iter(cmp, data_, restart_offset_, num_restarts);
  }
}

Original comment by<EMAIL_ADDRESS>on 15 Nov 2013 at 11:29

[Copied from an earlier email message on 2013/11/19]

The code already contains sanity checks for NumRestarts (the Block constructor
sets size_ to zero if it sees an obviously bad restart value and the iterator
constructor returns an error if size_ is zero).

The reason your changes cause a crash in corruption_test.cc is because the
corruption occurs between the block constructor and the iterator construction.
The inserted corruption affects the in-memory contents of the constructed Block
since on posix leveldb uses mmap and so the corrupted bytes show up inside the
Block.

We could add another check in the iterator constructor as you suggest, but that
won't really fully fix the problem. The corruption could have just as easily
happened after the iterator was constructed. To fully protect from such
corruptions, we would need to instrument every access into the block contents
in the fast path of iterator's operations. That's a pretty big undertaking and
will also slow down reads. And it might be very hard to make the code
bulletproof (think of for example the binary search going into an infinite loop
because a corruption violates sorted-order of keys).

Given that this is a testing induced failure, I am not sure it is worth
complications and slowdowns to deal with this case.

Original comment by<EMAIL_ADDRESS>on 9 Apr 2014 at 4:43

Changed state: WontFix


Removed unused Fragment references

All the components seem to import react as import React, { Fragment} even if they don't use Fragment.
I think this is perfectly reasonable, but sadly the eslint rules in Create React App don't - and because of pancake, we have to put the code for this into our src directory where it's linted by eslint. There's no way to turn it off or alter the rules.
So in order to make the design system compatible with Create React App I've gone through and removed all the unused references to Fragment. Hope it makes sense to you all :).

@AlexGilleran Yaaas ❤ I've wanted this gone for ages. I'm happy to merge it in, we just need to rebase this branch with the latest develop

@AlexGilleran Closing this in favour of https://github.com/govau/design-system-components/pull/660, can't update a fork branch :(


Docs: Add compatibility table in prep to redirect from ecosystem page…

… to node.js docs

question: do we need to restart hugo?  The current http://mongodb.github.io/node-mongodb-native/2.2/ doesn't reflect the previously merged in changes.  I wasn't sure if hugo picks up changes immediately or not.

hi kay I've not re-generated yet. going to do so now.


Field cancellation maps in a functional label/ROI for EEG/MEG data

Describe the new feature or enhancement
Generate field cancellation maps for a functional label/ROI for EEG and MEG data to understand more about  focal vs. widespread cortical patterns.
additional: The role of depth and orientation of dipoles directly at the sulci and gyri patch to understand their influence in focal vs. widespread source patterns. Some sort of plot that shows dipole orientation for individual label would be a nice feature too. This will give a possible alternative idea of a source projection to another i.e., mirror sources.
Describe your proposed implementation
A paper to follow up to implement field cancellation index : https://pubmed.ncbi.nlm.nih.gov/19639553/
additional: Some simulations at the source level, followed by some topography maps at the sensor level.
Additional comments
I think this hasn't been implemented in MNE so far. I would be happy to contribute to the proposal but I need someone to guide me as well as for further discussion.

@larsoner something for you to look :)

Some sort of plot that shows dipole orientation for individual label would be a nice feature too.

We have support for plotting source spaces (with orientations I think?), so we could work this in through that. An easy option would be to make it easier to take a source space and restrict it to one Label (e.g., a mne.source_space.restrict_src_to_label that works like forward.restrict_forward_to_label). Then when you do src_restricted.plot() you should get what you want.
A harder option (and maybe less used/useful) would be to allow specifying a parcellation to use to color each source in src differently.

implement field cancellation index ... simulations at the source level, followed by some topography maps at the sensor level.

I'm fine with adding field cancellation index somewhere (mne.minimum_norm.field_cancellation_index or mne.forward.* depending on if it needs an inv or just a fwd?), and it would be great to have a short example on how to use it. Instead of using simulated data I would just start with sample and look for example at if you use some label from aparc (e.g., STG) or a much smaller (A1?) label from HCPMMP1 you can see that the cancellation changes or something.
cc @olafhauk you might have ideas for where these should live and/or how they should be implemented and used

Hi @larsoner,
I am going through this topic again. I have recently started working on this problem. This is what I would like to implement if possible:

Find out: Field cancellation (i.e, net meg/eeg signals) for a given ROI/label, composed with n dipoles (distributed source config, MNE/dSPM) considering there are no activity taking place in the rest of the brain.  //auditory N1 // effect surface curvature to dipole orientation.
Paper:   https://www.sciencedirect.com/science/article/abs/pii/S1053811913001225?fr=RR-1&ref=cra_js_challenge

Find out:  Relative amplitude gain change within ROIs ie.e., at least for two ROIs that are activated simultaneously and  placed nearby (e.g., Auditory A1 Vs Insula)

I need some information regarding some functions which are already existed in MNE simulation model.  Do you think it's a good idea to discuss this here or shall I post this to mne discourse??

I need some information regarding some functions which are already existed in MNE simulation model. Do you think it's a good idea to discuss this here or shall I post this to mne discourse??

The easiest thing if you are working on an actual implementation would be to get as far as you can to the state that something works, or is close to working, but there is something you don't understand, or need but cannot find. Then open a WIP PR and comment in-line on your own PR with questions. Such a "conversation in code" is often easier because it's very concrete and I can see/infer the flow/logic from the code (and you are forced to think about it that way in the process :) )

Yes, I have added this to my to do list. I still need to finish some work with my fMRI data before I can start with this.
I will tag you once I have some thing working or something I need to know code wise.  cheers!


[SPARK-26864][SQL][BACKPORT-2.4] Query may return incorrect result when python udf is used as a join condition and the udf uses attributes from both legs of left semi join

What changes were proposed in this pull request?
In SPARK-25314, we supported the scenario of having a python UDF that refers to attributes from both legs of a join condition by rewriting the plan to convert an inner join or left semi join to a filter over a cross join. In case of left semi join, this transformation may cause incorrect results when the right leg of join condition produces duplicate rows based on the join condition. This fix disallows the rewrite for left semi join and raises an error in the case like we do for other types of join. In future, we should have separate rule in optimizer to convert left semi join to inner join (I am aware of one case we could do it if we leverage informational constraint i.e when we know the right side does not produce duplicates).
Python
>>> from pyspark import SparkContext
>>> from pyspark.sql import SparkSession, Column, Row
>>> from pyspark.sql.functions import UserDefinedFunction, udf
>>> from pyspark.sql.types import *
>>> from pyspark.sql.utils import AnalysisException
>>>
>>> spark.conf.set("spark.sql.crossJoin.enabled", "True")
>>> left = spark.createDataFrame([Row(lc1=1, lc2=1), Row(lc1=2, lc2=2)])
>>> right = spark.createDataFrame([Row(rc1=1, rc2=1), Row(rc1=1, rc2=1)])
>>> func = udf(lambda a, b: a == b, BooleanType())
>>> df = left.join(right, func("lc1", "rc1"), "leftsemi").show()
19/02/12 16:07:10 WARN PullOutPythonUDFInJoinCondition: The join condition:<lambda>(lc1#0L, rc1#4L) of the join plan contains PythonUDF only, it will be moved out and the join plan will be turned to cross join.
+---+---+
|lc1|lc2|
+---+---+
|  1|  1|
|  1|  1|
+---+---+

Scala
scala> val left = Seq((1, 1), (2, 2)).toDF("lc1", "lc2")
left: org.apache.spark.sql.DataFrame = [lc1: int, lc2: int]

scala> val right = Seq((1, 1), (1, 1)).toDF("rc1", "rc2")
right: org.apache.spark.sql.DataFrame = [rc1: int, rc2: int]

scala> val equal = udf((p1: Integer, p2: Integer) => {
     |   p1 == p2
     | })
equal: org.apache.spark.sql.expressions.UserDefinedFunction = SparkUserDefinedFunction($Lambda$2141/1101629239@4666f1b5,BooleanType,List(Some(Schema(IntegerType,true)), Some(Schema(IntegerType,true))),None,false,true)

scala> val df = left.join(right, equal(col("lc1"), col("rc1")), "leftsemi")
df: org.apache.spark.sql.DataFrame = [lc1: int, lc2: int]

scala> df.show()
+---+---+
|lc1|lc2|
+---+---+
|  1|  1|
+---+---+

How was this patch tested?
Modified existing tests.

Build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/7906/
Test PASSed.

Test build #102306 has started for PR 23775 at commit 4dc95ac.

Test build #102306 has finished for PR 23775 at commit 4dc95ac.

This patch fails Spark unit tests.
This patch does not merge cleanly.
This patch adds no public classes.

Build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/102306/
Test FAILed.

retest this please

Test build #102318 has started for PR 23775 at commit 4dc95ac.

Build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/7916/
Test PASSed.

Test build #102319 has started for PR 23775 at commit 4dc95ac.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/7918/
Test PASSed.

Test build #102321 has started for PR 23775 at commit 40b20b3.

closing this as i had a wrong branch .. Thanks to @gatorsmile for helping me fix it.

Test build #102321 has finished for PR 23775 at commit 40b20b3.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
public class JavaPrefixSpanExample
case class UnresolvedNamedLambdaVariable(nameParts: Seq[String])

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/102321/
Test FAILed.

Test build #102318 has finished for PR 23775 at commit 4dc95ac.

This patch fails Spark unit tests.
This patch does not merge cleanly.
This patch adds no public classes.

Build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/102318/
Test FAILed.

Test build #102319 has finished for PR 23775 at commit 4dc95ac.

This patch fails PySpark unit tests.
This patch does not merge cleanly.
This patch adds no public classes.

Build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/102319/
Test FAILed.


Better events generator when using Haxe not for Flash.

eg. DOM addEventListener shouldn't import flash.events.Event or even suggest to generate a DataEvent handler.

Unit tests, please :P.

Headshot.

@Neverbirth, @elsassph: Can this be merged?

There are a few tests I think that's cool.


Getting started new example throws error on M1 chip

I tried the create new example per docs on macOS arm64 and it throws the following error.
Steps to reproduce
❯ craftsman new:example

─────────────────────────────────────── Create an Example Project ────────────────────────────────────────
What would you like to name this project (e.g. MyExampleProject)? Craftsman01
File scaffolding for RecipeManagement was successful.
Database Migrations for RecipeManagement were successful.
TypeInitializationException: The type initializer for 'LibGit2Sharp.Core.NativeMethods' threw an
exception.
      In order to help diagnose loading problems, consider setting the DYLD_PRINT_LIBRARIES environment
     variable: dlopen(libgit2-106a5f2, 0x0001): tried: 'libgit2-106a5f2' (no such file),
     '/usr/local/lib/libgit2-106a5f2' (no such file), '/usr/lib/libgit2-106a5f2' (no such file),
     '/Users/me/Desktop/code/csharp/libgit2-106a5f2' (no such file),
     '/usr/local/lib/libgit2-106a5f2' (no such file), '/usr/lib/libgit2-106a5f2' (no such file)
       at git_libgit2_init()
       at InitializeNativeLibrary()
       at cctor()
  at git_repository_init_ext(git_repository*& repository, FilePath path, GitRepositoryInitOptions options)
  at git_repository_init_ext(FilePath workdirPath, FilePath gitdirPath, Boolean isBare)
  at Init(String path, Boolean isBare)
  at Init(String path)
  at GitSetup(String solutionDirectory) in Utilities.cs:393
  at CreateNewDomainProject(String domainDirectory, IFileSystem fileSystem, DomainProject domainProject)
     in NewDomainProjectCommand.cs:115
  at Run(String buildSolutionDirectory, IFileSystem fileSystem) in NewExampleCommand.cs:41

Further technical details
Craftsman version (dotnet tool list -g):
❯ dotnet tool list -g
Package Id      Version      Commands
--------------------------------------
craftsman       0.12.3       craftsman
dotnet-ef       6.0.1        dotnet-ef

Environment info
❯ dotnet --info
.NET SDK (reflecting any global.json):
 Version:   6.0.101
 Commit:    ef49f6213a

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  12.1
 OS Platform: Darwin
 RID:         osx.12-arm64
 Base Path:   /usr/local/share/dotnet/sdk/6.0.101/

Host (useful for support):
  Version: 6.0.1
  Commit:  3a25a7f1cc

.NET SDKs installed:
  6.0.101 [/usr/local/share/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 6.0.1 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 6.0.1 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET runtimes or SDKs:
  https://aka.ms/dotnet-download

Git version
❯ git --version
git version 2.34.1

Libgit2 info
❯ brew info libgit2
libgit2: stable 1.3.0 (bottled), HEAD
C library of Git core methods that is re-entrant and linkable
https://libgit2.github.com/
/opt/homebrew/Cellar/libgit2/1.3.0 (102 files, 3.5MB) *
  Poured from bottle on 2021-12-21 at 11:05:13
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/libgit2.rb
License: GPL-2.0-only
==> Dependencies
Build: cmake ✘, pkg-config ✔
Required: libssh2 ✔
==> Options
--HEAD
        Install HEAD version
==> Analytics
install: 5,007 (30 days), 23,757 (90 days), 60,775 (365 days)
install-on-request: 1,839 (30 days), 12,159 (90 days), 31,213 (365 days)
build-error: 0 (30 days)

I tried this with few different example type (BasicAuth, FK) and they all throw the same error.

Looks like git2sharp is unhappy. Let me see if this is a .NET 6 this or an apple silicon thing.

FYI, seems like it's a silicon issue. will investigate.
thanks for the updates here. sorry you ended up being the silicon guinea pig! Wish that was me :-) I do have some coworkers getting M1's soon so that will be some extra bodies keeping me honest there as well.

Oh good to know! Thanks for getting on top of this so quickly. Happy to be the contribute in a small way and make good use of the holidays 😄  Just in the past few months the M1 became more productive for dev. FWIW I've been able to build and run the generated Craftsman solution successfully. So this is not a blocker. I'll be sure to report any other issues as I work through your fantastic docs.

@pdevito3 This now works great on M1. I've added a note on https://github.com/libgit2/libgit2sharp/issues/1932 🚀


License files being published on docs

These license files are being published on docs and being flagged on the metadata health report.
This should be addressed.
Pages include:
https://docs.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start/2.2-stage-samples/rpmovepart3/wwwroot/lib/jquery-validation/license
https://docs.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start/2.2-stage-samples/rpmovienewfield/wwwroot/lib/jquery-validation/license
https://docs.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start/2.2-stage-samples/rpmovienewfield/wwwroot/lib/jquery-validation/license
https://docs.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start/2.2-stage-samples/rpmoviesearch/wwwroot/lib/jquery-validation/license

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: bfe596dd-4ef1-142a-a61d-6dd4813b0e3e
Version Independent ID: 9aa9a90f-f91d-87f1-fd0f-ee665b4106ab
Content: The MIT License (MIT)
Content Source: aspnetcore/tutorials/razor-pages/razor-pages-start/2.2-stage-samples/RPmovePart3/wwwroot/lib/jquery-validation/LICENSE.md
Product: aspnet-core
GitHub Login: @Rick-Anderson

@mairaw 	do you know if they're being published because they don't have /sample/ or /samples/ in the path.
The same jQuery license is not being published in all the other folders that have  /sample/ or /samples/ in the path.
cc @tdykstra 	@scottaddie

Missed your question earlier @Rick-Anderson. Yes, docfx.json excludes the samples and samples path. I did a small change. Let's see if that will fix the issue.


Do not allow ASGs with leading zeros

A short explanation of the proposed change:
This change adds validation logic to prevent the creation of ASGs with leading zeros in addresses. e.g.

<IP_ADDRESS>/8 and <IP_ADDRESS> are valid
<IP_ADDRESS>/0 <IP_ADDRESS> are no longer valid.

The motivation for this change in behavior is to prevent malformed IPs from making their way into the CC database to begin with. We only want to accept valid addresses in ASG destinations going forward.
An explanation of the use cases your change solves
Cloud controller blindly stores the ASG destinations in the database and then passes the value off to downstream clients. Not all downstream clients have the same IP parsing functionality that ruby does, therefore jobs like vxlan-policy-agent in silk can stop working when a destination with leading zeros is bound via cf bind-security-group; when these problems happen, they tend to also take down the diego cell too by preventing routing to all running containers.
Links to any other associated PRs, etc...

#187494337
https://github.com/cloudfoundry/silk-release/pull/130

Checkboxes

[X] I have reviewed the contributing guide

[X] I have viewed, signed, and submitted the Contributor License Agreement

[X] I have made this pull request to the main branch

[X] I have run all the unit tests using bundle exec rake

[ ] I have run CF Acceptance Tests

Adding acceptance steps here

Save this asg to a file called asg.json

[
  {
    "protocol": "tcp",
    "destination": "<IP_ADDRESS>",
    "ports": "443"
  },
  {
    "protocol": "tcp",
    "destination": "<IP_ADDRESS>",
    "ports": "443"
  },
  {
    "protocol": "tcp",
    "destination": "<IP_ADDRESS>",
    "ports": "443"
  },
  {
    "protocol": "tcp",
    "destination": "<IP_ADDRESS>",
    "ports": "443"
  },
  {
    "protocol": "tcp",
    "destination": "<IP_ADDRESS>",
    "ports": "443"
  }
]

Run cf create-security-group asg asg.json
See the following failure.

Rules[0]: destination octets cannot contain leading zeros, Rules[1]: destination octets cannot contain leading zeros, Rules[2]: destination octets cannot contain leading zeros, Rules[3]: destination octets cannot contain leading zeros, Rules[4]: destination octets cannot contain leading zeros
FAILED


Setting of epoch

Hello, the program I run here will end with one epoch. I see that there are 10 epochs in your operation document. Would you like to know how to modify it？

Hi, the trainer behaviour is supposed to train the model with 10 epochs and save checkpoint at each epoch and last_checkpoint&best_checkpoint after the final step.

Thank you for your answer. I have another question, that is, I have reproduced your experimental results, and the results are low,mid and high. May I ask which index is corresponding to paper rouge?

Please use mid for fair comparison. See here for more details: https://github.com/google-research/google-research/issues/294#issuecomment-652262191.


preRender and preCompile methods not setting data on file.data

I had assemble-core shrink wrapped since 0.17.1. Upon upgrading data added to file.data in preRender and preCompile does not seem to persist into my Nunjucks template context.  Front-matter added in onLoad seems to work though.
https://github.com/dtothefp/assemble-view-issue
Run npm start and see that any data added in preRender and preCompile is undefined

Hey @dtothefp, taking a look now. In the meantime a couple things stand out

does not seem to persist into my Nunjucks template context

Did you know that this is loading those files from the file system and re-merging them for every middleware call?

@dtothefp is there something special I need to do to get this to run? I get:
npm ERR! Darwin 15.4.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "start"
npm ERR! node v6.2.0
npm ERR! npm  v3.8.9
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>start: `node ./index.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script 'node ./index.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the assemble-view-issue package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node ./index.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs assemble-view-issue
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls assemble-view-issue
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/jonschlinkert/dev/assemble/_debugging/assemble-view-issue/npm-debug.log

It looks like the data is on ctx['global-data'] not ctx.globalData, but you're not camelcasing the file name. Not sure about page-data yet

I was able to run it btw. I'm still looking at the code, but I'm thinking the issue has something to do with your setup in tags/debug.js.
If you comment out this code then inspect file.data in a post-render middleware:
app.postRender(/./, (file, next) => {
  console.log(file.data);
  next();
});

the data is there on file.data.

Hey that's weird that the data is there in postRender but is not in my template context. Not sure what is going on but this is a significant divergence from when I last updated from 0.17.1
assemble-core@latest

<EMAIL_ADDRESS>
You can see in the above screenshots in iron-node that in latest none of the data added in the middleware is present on context.ctx but in 0.17.1 it is. Therefore, I cannot access that data in my templates so the fact that is there in postRender doesn't really help me

Not sure what is going on but this is a significant divergence

Nunjucks must do something different than other engines we've tested. @doowb and I played around with your code and got everything working just by changing your config, but we also have some ideas for something we can do in templates to make it more flexible so you don't need to think about it too much.
I'll talk to @doowb, we might be able to do this now

@jonschlinkert I just confirmed that the breaking change was introduced into<EMAIL_ADDRESS>I'm working on finding the exact commit.
What config change did you make to get it working....was it to the initial nunjucks config?
We have a huge project launching end of this week and would like to upgrade before then otherwise it might be hard and we could end up locked on an old version

@jonschlinkert looks like this is the commit that did it. Not sure how it made it's way into<EMAIL_ADDRESS>unless you did a npm publish I'm not seeing
https://github.com/jonschlinkert/templates/commit/305c700f9105b6a306a603d898daa28f706af9b6

sorry, I lied it's actually this commit https://github.com/jonschlinkert/templates/commit/e54e448d000b7e0ef573df497f8f2153857379cd which makes way more sense cause it was in the 0.20.0 release

Working on something. Give me a few mine. In the meantime, here is a screen I just took using engine-base instead of nunjucks, just to show that this works usually:


Leftover Install of Preview 2 Version Breaks Launching a Bot File from Explorer

Likely a very low priority issue or non-issue considering few will install Preview 2 and then a newer version, but I wanted to get this here for the record.
Version
4 Preview 2 and 4.2.1
Describe the bug
Needed to uninstall preview 2 version of emulator before 4.2.1 would work.4.2.1 was install with Emulator 4 Preview 2 already installed. Launching the .bot file prompted for a file association and I wasn't able (with limited effort) to find the Emulator executable. Uninstalling both versions and reinstalling 4.2.1 resolved the issue. Likely a non-issue considering it involves a preview version of Emulator.
To Reproduce
Steps to reproduce the behavior:

Install 4 Preview 2
Install 4.2.1
Launch a .bot file

Expected behavior
Bot to open in Emulator 4.2.1
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
[bug]

Haven't had any future reports of this. It seems like the workaround is to uninstall all versions of the Emulator and reinstall with the current version. You can also try deleting the app's installation folder.