New biological case study

We would like a new biological case study to use as a detailed running example.  This should come from a manuscript with an accessible, formatted dataset that follows a proper machine learning pipeline. The telomerase example does not follow our recommended cross validation procedures.
Once we identify a dataset we can:

[ ] Replace the ML in biology slide
[ ] Replace the iris example when describing the characteristics of a dataset
[ ] Replace the csv file example
[ ] Replace the interactive practice slides with the telomerase dataset
[ ] Demonstrate the preprocessing required
[ ] Use the dataset as an example for each of the steps in the ML pipeline
[ ] Replace the CNS tumor classification example
[ ] Make predictions on the example dataset
[ ] Replace the dataset in the Jupyter notebook

The dataset from our PriA-SSB drug screening project is currently not a great option because it is too slow to train with.  However, it would also be possible to simplify it and retain most of the complexity of the domain.  We currently use 1024 bits as features but that is adaptive and could be changed to something smaller like 100 bits.  We could also subsample the negatives so that the example dataset has 1000s of total instances instead of 100000.


Building Classifiers using Js

Project title
Building Classifiers using JS
Project Description
Classifiers will contains three different classifiers, one for Text Analyzer, another one for Language Analyzer and last one is News Analyzer. All the classifiers are built with API integration
Stack:

[x] Html
[x] CSS
[x] JavaScript

The UI look like:

Can I add this project?


install/connect logging should be warnet CLI commands

Because our new model is:
pip install warnet
cd some directory
warnet create ...
and so forth.
So the user shouldn't need to know where on their computer the install_logging.sh script is

Agree, and ideally they aren't even their own cli commands, but its an option set in a config file (e.g., the network.yaml) or something implicit like if you specifying logging on at least one node, then it auto installs logging.

port forwarding too though! which is tricky because its a blocking process and ive found that port 3000 for grafana will occasionally drop out and either come back on its own or need to be reset

port forwarding too though!

paging @m3dwards , I think its time to kill port-forwarding with fire 😬 probably not essential for Tabconf, but I do think if we got some basic ingress/egress working at least for the dashboards, it would make the logging stuff much simpler from the user perspective (and ours).

Might be worth a discussion on pros / cons on ingress.
Downsides that come to mind is it's another small step to enable on minikube (just works on docker desktop) and that on cloud you get billed for public IP addresses and load balancers.
Benefit of ingress is it allows anyone to connect to the same service which is nice and might be a bit more reliable than port-forwarding.


Issue #254 - LogisticRegression returns wrong results with lbfgs

This pull request fixes the issue in Logistic Regression with auto multiclass option and binary data.
Quoting the corresponding section from sklearn documentation:
multi_class{‘auto’, ‘ovr’, ‘multinomial’}, default=’auto’
If the option chosen is ‘ovr’, then a binary problem is fit for each label. For ‘multinomial’ the loss minimised is the multinomial loss fit across the entire probability distribution, even when the data is binary. ‘multinomial’ is unavailable when solver=’liblinear’. ‘auto’ selects ‘ovr’ if the data is binary, or if solver=’liblinear’, and otherwise selects ‘multinomial’.
Testing:

Extended the existing LogisticRegression test file to include test cases with multiclass option set to auto and binary classification.

Codecov Report

Merging #261 into master will decrease coverage by 0.09%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master     #261      +/-   ##
==========================================
- Coverage   92.78%   92.69%   -0.10%
==========================================
  Files          41       41
  Lines        2288     2287       -1
  Branches      421      422       +1
==========================================
- Hits         2123     2120       -3
- Misses         86       87       +1
- Partials       79       80       +1

Flag
Coverage Δ

#unittests
92.69% <0.00%> (-0.10%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...mmingbird/ml/operator_converters/sklearn/linear.py
92.59% <0.00%> (-7.41%)
:arrow_down:

hummingbird/ml/_container.py
93.43% <0.00%> (-0.07%)
:arrow_down:

...rd/ml/operator_converters/_tree_implementations.py
98.15% <0.00%> (-0.01%)
:arrow_down:

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 39a79be...6dd3409. Read the comment docs.

Wow, nice fix! Thanks for this!! :)


Remove an unneeded comment (formatted as a heading) in documentation

Seems to have been added in #392 .

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

Project coverage is 58.28%. Comparing base (947bb26) to head (8ac07c4).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #533      +/-   ##
==========================================
- Coverage   58.41%   58.28%   -0.13%
==========================================
  Files         250      250
  Lines        7796     7796
  Branches      916      916
==========================================
- Hits         4554     4544      -10
- Misses       2826     2835       +9
- Partials      416      417       +1

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


Switch to ember-fetch from $.JSON.

Even if we never want FastBoot, it's a nice, jQuery-less API. But if eventually we do want FastBoot, fetch works nicely with it.

N.B.: this assumes #43.

Seems like a good idea. I'm still very much a novice at debugging Ember, so I'm not sure exactly what's happening, but I'm having issues testing this on my machine.
The /releases route doesn't show any error because the route just passes the JSON through to the template without accessing it. This is the model for the /releases route in the console:
Ember Inspector ($E):
    Object {__ember_meta__: Meta}
    __ember_meta__: Meta
    nightlies: undefined              <-- this is defined on master
    get nightlies: GETTER_FUNCTION()
    set nightlies: SETTER_FUNCTION(value)
    __proto__: Object

The other routes are throwing errors when fixTimestamps attempts to process the undefined model data:
ember.debug.js:28535 Error while processing route: issues Cannot read property 'map' of undefined TypeError: Cannot read property 'map' of undefined
    at fixTimestamps (http://localhost:4200/assets/rust-dashboard.js:317:16)
    at http://localhost:4200/assets/rust-dashboard.js:327:35
    at tryCatch (http://localhost:4200/assets/vendor.js:63911:14)
    at invokeCallback (http://localhost:4200/assets/vendor.js:63926:15)
    at publish (http://localhost:4200/assets/vendor.js:63894:9)
    at http://localhost:4200/assets/vendor.js:42159:7
    at invoke (http://localhost:4200/assets/vendor.js:10438:16)
    at Object.flush (http://localhost:4200/assets/vendor.js:10502:11)
    at Object.flush (http://localhost:4200/assets/vendor.js:10310:17)
    at Object.end (http://localhost:4200/assets/vendor.js:10665:25)logError @ ember.debug.js:28535error @ ember.debug.js:28478triggerEvent @ ember.debug.js:28594trigger @ ember.debug.js:53473trigger @ ember.debug.js:53287(anonymous function) @ ember.debug.js:53107tryCatch @ ember.debug.js:53806invokeCallback @ ember.debug.js:53821publish @ ember.debug.js:53789publishRejection @ ember.debug.js:53724(anonymous function) @ ember.debug.js:32054invoke @ ember.debug.js:333flush @ ember.debug.js:397flush @ ember.debug.js:205end @ ember.debug.js:560(anonymous function) @ ember.debug.js:1126
ember.debug.js:32096 TypeError: Cannot read property 'map' of undefined
    at fixTimestamps (issues.js:4)
    at issues.js:14
    at tryCatch (ember.debug.js:53806)
    at invokeCallback (ember.debug.js:53821)
    at publish (ember.debug.js:53789)
    at ember.debug.js:32054
    at invoke (ember.debug.js:333)
    at Object.flush (ember.debug.js:397)
    at Object.flush (ember.debug.js:205)
    at Object.end (ember.debug.js:560)

Not being familiar with ember-fetch, everything looks normal. Any idea what might be causing this? I should probably set up a vagrant VM for testing...

Ah, interesting. I'll dig further on this later. Something in the fetch API is a bit different than I expected.

@chriskrycho @dikaiosune this hasn't moved in a couple of months. Do you mind if I try and finish this PR by fixing the error messages? Fetch is a much nicer API and would be a great addition to this project for sure.

Please do. I’ve been swamped with other things and was waiting for the Vagrant support to land to enable easier testing (which it has, but I’ve still been swamped).

I know @chriskrycho has been pretty busy of late, so assuming they're not working on it at the moment it's totally fine by me. Glad to see you diving in! I'll be able to start back up work on the backend sometime next week I expect.

Sweet, I'll get started then!

Superseded by #77. @chriskrycho thanks for getting the ball rolling on this, and thanks @DiscoStarslayer for finishing it up!


add support for downloading and reading in apVisit data

This should do the trick, but goodness do I have some words for whoever decided to sort things by location, date, and fiber rather than apogee_id.

I should add, the one thing this doesn't do is work with the current spec.continuum.fit function. It looks like that is currently very hard-wired with the default wavelength grid; is there any way you could generalize it a bit to work with any wavelength grid?

Thanks, that was quick! I'm busy today, but I will take a look at whether this works for me ASAP.
Yes, spec.continuum.fit is somewhat specific to the apStar grid, because it treats every detector separately. I don't know enough about the apVisit format to know how to edit it for those. Of course, it would be relatively easy to write the continuum fit for just a single wavelength region, which would be general.

Looked at this briefly and it seems to largely work. I'll merge it once I can do some more testing (probably only early next week), but a few comments:

[ ] I got confused because FIBERID needs to be a string. It might be better to allow an int and cast it to %03i. Same from MJD.
[ ] apogee_id is currently not used, so it probably shouldn't be a required input. Maybe make it a keyword if you plan to allow downloading based on apogee_id.

Also would be great if you could include an example in the README.rst, similar to the apStar example.

I will add some examples in the README shortly.

Sorry for the delay (was at a conference without access to GitHub last week!), but I merged this now. I slightly changed the code to allow fiberid to be a regular integer (it's an integer in the allVisit file, so I think your version would not have worked if you get values from allVisit).
Thanks!


Manual Freight Approval Requires additional RBAC permissions than necessary

Checklist

[X] I've searched the issue queue to verify this is not a duplicate bug report.
[X] I've included steps to reproduce the bug.
[x] I've pasted the output of kargo version.

Description
While testing up a custom Role to allow a group to promote freight, discovered that additional permissions are required to allow Manual Approval and subsequent promotion.
For regular promotion, the stage/promote is needed to allow promotion
For manual approval, the freights/patch is needed but also the freights/status/patch permission.
Manual approval should only need freights/patch
Screenshots
Minimum permissions needed to promote and manually approve

Steps to Reproduce
Create role with these freights verbs:
Get, List, Watch, Patch
Manually approve a freight.  Manual approval denied.
Version
0.7.1
Paste the output from `kargo version` here.
Client Version: v0.7.1

@ed-boykin thanks for reporting this.
Couple things:

By design, approving Freight for a given stage requires the promote verb on the Stage in question. We could not see the sense in allowing principals not authorized to promote to a given Stage to deem unverified Freight suitable for that Stage.

For manual approval, the freights/patch is needed but also the freights/status/patch permission.

This doesn't seem accurate. There is no need to patch Freight to execute a manual approval. A manual approval patches Freight status only.

Create role with these freights verbs:
Get, List, Watch, Patch
Manually approve a freight. Manual approval denied.

I would not have expected this to work, as it is missing permissions to patch Freight status.
The permission to patch Freight itself is extraneous in your example. Freight are mostly immutable, so the only reason to ever grant that would be to allow a user to edit Freight aliases.

I don't believe we see anything actionable here, but please do feel free to re-open if we have overlooked something.


Tab component

We have a TmPage component which handles loading and error states. We should have the same for tabs. We should probably reuse the TmPage logic in both.
Alternative: Create View component and use it in Page. Page adds the header to it.

agreed!
We should bundle the state-management pieces from TmPage into its own component to be used in Pages and Tabs.


Systemd init script should support DOCKER_OPTS

See #9889 (specifically, here. The systemd daemon should support DOCKER_OPTS the same as upstart and sysv do.
This commit is copied from https://github.com/docker/docker/commit/0e7fb272d6ce8e26984dd1b3501b6fb6a57ba9ff
The commit itself is not present anymore (maybe it's orphaned?).

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "9889-systemd" git@github.com:mattelacchiato/docker.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.


Problem in if (agar bhai) condition

Description
1 is also considering as false
agar bhai (1)         bol bhai "Hi bhai";     warna bhai          bol bhai "Hi Behan";
Output:
Hi Behan
But it should be "Hi bhai".
Domain
Develop
Type of Contribution
Refactoring
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of bhai-lang.

You need to use sahi as it evaluates to true. Bhai has its own literal defined which evaluates to truthy values. I hope this clarified your issue.

@tbhaxor You didn't understood my concern. I want to say that if conditional statement receives 1 then it shoud show the true condition out not the else condition out. 'sahi' may have set of truthy values but 1 is a truthy value if I will put 1 inside 'agar bhai' statement then it should always true, but 'agar bhai (1)' is evaluated as false and that is incorrect.

You're assuming 1 is a truthy value, but it isn't, according to the spec/rules of the language.

We'll add support for non-boolean values inside a condition as they get evaluated in JavaScript.
If you wish to work on this, then go ahead and raise a PR.


[Flaky-test] RGUsageMTAggrWaitForAllMsgsTest. testMTProduceConsumeRGUsageNonPersistentTopicNamesDifferentTenant

Master Issue: #13755
Motivation

Unregistering namespace rg-3/rg-0 will affect the subsequent course of action
Documentation

[x] no-need-doc

/pulsarbot run-failure-checks

Thanks for fixing the problem @liudezhi2098 Merging since this test is extremely flaky and blocks CI. The Thread.sleep isn't optimal, but that can be improved in a separate PR.

OK


Issue with thin layers in the velocity model

hi @wsja,
I have been trying to use rather thin layers (~2 km) in the velocity model for pyraysum and when I do, the following lines (#593-595) in raysum.f are triggered. The maxvals I get are <0.99 and >0.9. The resultant receiver functions (and seismograms??) are nans.
          write (*,*) 'WARNING in evec_check, maxval: ',maxval,
     &                ' (should be 1). Ignoring phase.'

Is there any workaround for this? Or is this a limitation?

The warning is not specifically linked to the thickness of the layer, but rather indicates that some energy has been lost at an interfaces. This is most often the case when evanescent waves emerge (i.e. reflections at the bottom of a layer, headwaves). Such waves cannot be handled with PyRaysum. However, because their amplitude is usually small, I found it safe to ignore this warning.
I am a bit puzzled that you find that the warning is related to thickness. I usually get it with too steep dips (in relation to ray incidence), strong anisotropy, or when introducing a low velocity layer.
If you really need to, you may get around this warning by ensuring that for all your rays, all phases, and all interfaces, the critical angle of total reflection is not exceeded.

Thanks very much for the explanation. The thin layer is infact a low velocity layer, and has a dip of about 20 degrees.
Do you think it is safe to set max_val to a lower value (e.g. 0.90) rather than the default 0.99?

The original behavior was only to warn the user and not bail out the phases. This resulted, however, in high amplitude artifacts that spoiled my receiver function. maxval is set somewhat arbitrary, so you can try to give it another value (e.g., 0.9, don't forget to re-compile your code) and observe what's happening. If the results look satisfying to you, you can proceed.


crash in background dismissMessageView:completion:

We have a crash in production, we are having a hard time reproducing it in test.
The scenario is we put up an RMessage with endless duration on our rootViewController. Sometime after going to background (possibly when coming back into the app), it crashes.
To fix it we have set a high value for the duration rather than "EndlessDuration" in our RMessage because "didMoveToWindow" calls extra code only when it is set to Endless.
Stack trace:
1      MYAPPNAME 0x0000000100091f2c -[RMessage dismissMessageView:completion:] + 32
2	MYAPPNAME 0x0000000100093930 -[RMessageView didMoveToWindow] + 308
3	UIKit 0x00000001887b705c -[UIView(Internal) _didMoveFromWindow:toWindow:] + 1492
4	UIKit 0x00000001887b6d7c -[UIView(Internal) _didMoveFromWindow:toWindow:] + 756
5	UIKit 0x00000001887b6310 __45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke + 148
6	Foundation 0x00000001843e9500 -[NSISEngine withBehaviors:performModifications:] + 164
7	UIKit 0x00000001887b6194 -[UIView(Hierarchy) _postMovedFromSuperview:] + 528
8	UIKit 0x0000000188aca8c0 __UIViewWasRemovedFromSuperview + 224
9	UIKit 0x00000001887b4bb8 -[UIView(Hierarchy) removeFromSuperview] + 420
10	UIKit 0x0000000188b18dc0 __71-[UIPresentationController _initViewHierarchyForPresentationSuperview:]_block_invoke596 + 684
11	UIKit 0x0000000188b137e4 -[UIPresentationController transitionDidFinish:] + 120
12	UIKit 0x0000000188c3c530 -[_UICurrentContextPresentationController transitionDidFinish:] + 40
13	UIKit 0x0000000188b16e88 __56-[UIPresentationController runTransitionForCurrentState]_block_invoke_2 + 184
14	UIKit 0x00000001888eb284 -[_UIViewControllerTransitionContext completeTransition:] + 112
15	UIKit 0x00000001888eb070 -[UITransitionView notifyDidCompleteTransition:] + 248
16	UIKit 0x00000001888eab6c -[UITransitionView _didCompleteTransition:] + 1160
17	UIKit 0x00000001888ea6cc -[UITransitionView _transitionDidStop:finished:] + 120
18	UIKit 0x00000001887f6e90 -[UIViewAnimationState sendDelegateAnimationDidStop:finished:] + 308
19	UIKit 0x00000001887f6d18 -[UIViewAnimationState animationDidStop:finished:] + 104
20	QuartzCore 0x00000001861cdc00 CA::Layer::run_animation_callbacks() + 280
21	libdispatch.dylib 0x000000018351d5f0 _dispatch_client_callout + 12
22	libdispatch.dylib 0x0000000183522cf8 _dispatch_main_queue_callback_4CF + 1840
23	CoreFoundation 0x0000000183a80bb0 CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE + 8
24	CoreFoundation 0x0000000183a7ea18 __CFRunLoopRun + 1624
25	CoreFoundation 0x00000001839ad680 CFRunLoopRunSpecific + 380
26	GraphicsServices 0x0000000184ebc088 GSEventRunModal + 176
27	UIKit 0x0000000188824d90 UIApplicationMain + 200
28	MYAPPNAME 0x000000010003e2d4 main + 84
29	libdyld.dylib 0x000000018354e8b8 start + 0

Thanks. Will look into it..

Are you still having this issue? I would love to fix it but I can't reproduce it on my end either. I tried doing an endless duration on RMessage and then minimizing to the home screen then returning back but I'm not seeing a crash.
I went ahead and added a Modal Presentation View controller under "Present Modal" button of the Example Project for testing this issue. You can play around with that to see if you can invoke the crash you are getting. For example you can present modally then present an endless duration message view then dismiss. You can also present an endless in the main view controller then present a modal over it.
I went ahead and played around with it a bit but was not able to induce a crash. As a side note the example i mentioned above definitely triggers the window being removed from the message view (but no crash) so thats a good thing.

Unfortunately we were never able to reliably get the crash while testing to debug further. I will give your test project a try.


Inspection commands

I went ahead and tested this and it's listing my identities nicely. Imported keys have their PIN and touch policies listed as Unknown but, without digging into the code, I suspect that's because those would only be read from attestation certificates and there's no attestation with imported keys.
I have a question though – what's the intended behavior of --list and --list-all? The first one prints an empty line for me, the second one lists identities. I have a single YubiKey plugged in.

I went ahead and tested this and it's listing my identities nicely. Imported keys have their PIN and touch policies listed as Unknown but, without digging into the code, I suspect that's because those would only be read from attestation certificates and there's no attestation with imported keys.
I have a question though – what's the intended behavior of --list and --list-all? The first one prints an empty line for me, the second one lists identities. I have a single YubiKey plugged in.

--list lists identities specifically created by age-plugin-yubikey, about which we can assume certain properties. --list-all lists any compatible key (i.e. anything P-256). If you've used #1 to create identities, they won't show as compatible because the way that PR creates them was just an initial draft, and not the way we've decided to create them.

--list lists identities specifically created by age-plugin-yubikey, about which we can assume certain properties. --list-all lists any compatible key (i.e. anything P-256). If you've used #1 to create identities, they won't show as compatible because the way that PR creates them was just an initial draft, and not the way we've decided to create them.

Imported keys have their PIN and touch policies listed as Unknown but, without digging into the code, I suspect that's because those would only be read from attestation certificates and there's no attestation with imported keys.

Correct. age-plugin-yubikey is going to store the policies in the certs it creates to avoid this issue (and also to avoid needing to perform slow attestations on the critical decryption path); we could similarly record policies for imported keys. For age-plugin-yubikey-created identities, we will assume it's created this way and never try attestations.

Imported keys have their PIN and touch policies listed as Unknown but, without digging into the code, I suspect that's because those would only be read from attestation certificates and there's no attestation with imported keys.

Correct. age-plugin-yubikey is going to store the policies in the certs it creates to avoid this issue (and also to avoid needing to perform slow attestations on the critical decryption path); we could similarly record policies for imported keys. For age-plugin-yubikey-created identities, we will assume it's created this way and never try attestations.


Fix null attrs in getAttrObj leading to fatal error

Was getting: TypeError: Cannot read property 'length' of null, the elem passed to getAttrObj was <body>. No idea what that all means, I'm completely new to SquareSpace, your node server, etc, but this seems to fix things.

Looks good. Merged and published new version to NPM: +<EMAIL_ADDRESS>


Docker for Mac support

Not sure if this project is still active?  Would be great though to see support for the new Docker for Mac native osx environment.
Maybe D4M will someday be fast enough for mounted volumes, but I suspect there's still have a ways to go.
https://forums.docker.com/t/file-access-in-mounted-volumes-extremely-slow-cpu-bound/8076

I think with new version of Docker ( currently in beta? ) https://blog.docker.com/2016/06/docker-mac-windows-public-beta/, where there is no need for VM we should all start switching to docker-compose and hodor will become obsolete ( sadly? ).

But that's what I'm talking about ;). The new Docker for Mac (Beta), is actually much slower than using a VM. It could be a long time before we see native level speed. (could be up to a year). If it was an easy problem, they would have solved it by now (already on Beta 16 - and performance is still horrible 3 months later).

Ah, ok :) So I'm trying to think what could be done for Docker for Mac without VM to speed it up with Hodor.. Any ideas here? )

@wamatt i am not any kind of biased, but i would tend to disagree at some particular level.
My experience is, that the overall performance / overhead of docker for mac with xhyve feels better, eventhough it seems to be common sense that it should be 10% slower in regards of overall performance. In addition, things like ports exposed on localhost of the host do ease up many things in development.
Talking about host shares, OSXFS of docker for mac is faster then vbox/fusion native shares, but still a  lot slower then nfs ( about 2/3 slower ) and by far useless ( compared to rsync ). So the filesystem issue did not get addressed by docker for mac properly, as by any other solution yet ( i think i tried them all: rsync, nfs, unison, osxfs, fusion(native), vbox (native).
Currently, i build my own rsync solution and trying to look for a project to actually join efforts. Like hodor, most of them require docker-machine and a VM running, which is at least not what i have right now ( anymore ) - due to docker for mac.
I would be actually be interested in hodor with docker for mac - are there any chances or is it conceptually not what you try to do?
Projects like dinghy need that docker machine to have an intermediat, common FS to start "mounting on", while syncing happens from host to vm, not host to container. Is that what you are doing also?

@EugenMayer first of all thanks for your thought here.
First let me step back a bit, when I created hodor the original idea was to create same workflow for developers on Linux, Mac and Windows.
There was no native Docker for Mac or Windows at that point so the project became pretty useful.
Now with native Docker for Mac that works without VM I'm kind of torn here, thinking that we may need to start switching back to docker-compose and, while I don't agree with some commands there that impose dependencies ( like linking outside of the project ), it seems like that is the way to go in the future.
They also stated that performance issues with Docker for Mac is not highest priority at the moment but will be addressed eventually.
You expressed interest in "hodor with native docker for mac" but I'm not really sure how we could implement speedup here, since we don't have any VMs anymore.. Can you explain your optimization strategy so we could understand more deeply if it's even possible without core docker modifications?
Thanks

@gansbrest Well the integration is doable - not theoretical but rather practical. I spawned https://github.com/EugenMayer/docker_sync
It has docker-for-mac support, but would also work with any docker-machine, does not matter.
I also mentions Hodor, but in docker-sync uses rsync instead of unison - while this should be pretty easy exchangeable. I also use fswatch of course.
You can, if you like, integrate docker-sync for the sync part in Hodor, keeping all the other tools.
You could monkey patch
https://github.com/EugenMayer/docker_sync/blob/master/lib/docker_sync/sync_process.rb#L42
and
https://github.com/EugenMayer/docker_sync/blob/master/lib/docker_sync/sync_process.rb#L82
To go for unison - but as you see, per sync-task a container. Just check what i am doing, no magic involved.
I used the term sync, not rsync, because if was thinking about at least adding unison - but i am biased towards unison because i do not like the idea of 2 way sync at all. There should be no sync from the container to the host - that does not make a lot of sense architectural wise.
Feel free to add a pull request for unison, i am happy to add it

I'll check those links a bit later.
Actually I specifically chose unison for 2 way sync :) One of the use cases that I remember was running diff commands like npm install or grunt / gulp that would generate some additional files. Some of those you may want to commit.
There was some other point of using 2 way sync but I just can remember now. Conceptually I think of it it as real volume on Linux, where you can modify stuff either on host or inside the container without loosing files.

@gansbrest well, use cases are different i guess. I went forward since i was refactoring anyway:
https://github.com/EugenMayer/docker_sync/tree/master/lib/docker_sync/sync_strategy
created a stub here https://github.com/EugenMayer/docker_sync/blob/master/lib/docker_sync/sync_strategy/unison.rb
You can then select, per sync task, which strategy you want to use. For now rsync will be the default. So people can chose what kind of sync to use.
this might suite your needs, created an issue here https://github.com/EugenMayer/docker_sync/issues/1 - feel free to drive this forward

@EugenMayer @gansbrest
My interest in hodor was specifically for the Unison support. In a way I'm in the same boat as @gansbrest,  in that I don't have a specific use case in mind.
That said however, it seems useful (at least in my mind) to aim for 2 way sync over the unidirectional of rsync, as it appears to increase the option space.

It was way to easy to keep it open, i just implemented unison support, you can activate it like this https://github.com/EugenMayer/docker_sync/blob/master/test/docker-sync.yml#L29
So now you can chose either of those. Implementation was done in below 10 minutes actually.
Glad for feedback how to optimize unison for this usecase ( sync arguments / server optimizations? )


[FAB-17619] encapsulate config proto in new type

Type of change

Improvement (improvement to code, performance, etc)

Description
Wrap config transaction proto and move API to wrapped type
Related issues
FAB-17619

I forgot to fix the int test, working on that.


Can't select serial port

I can't select serial port in VSCode. Menu for selecting serial port is just not visible in right bottom corner (while device selection is visible). I am able to find Select serial port if I press F1, but it doesn't do anything, and I got an error Cannot read properties of null (reading 'list').
Full log:

mainThreadExtensionService.ts:76 TypeError: Cannot read properties of null (reading 'list')
at Function.list (D:\Users\kv1dr.vscode\extensions\gamadril.led-basic-2.0.4\blp-serial\lib\bindings\win32.js:12:34)
at Function.SerialPort.list (D:\Users\kv1dr.vscode\extensions\gamadril.led-basic-2.0.4\blp-serial\lib\serialport.js:644:29)
at D:\Users\kv1dr.vscode\extensions\gamadril.led-basic-2.0.4\build\SerialPort.js:56:16
at new Promise ()
at Function.list (D:\Users\kv1dr.vscode\extensions\gamadril.led-basic-2.0.4\build\SerialPort.js:55:16)
at D:\Users\kv1dr.vscode\extensions\gamadril.led-basic-2.0.4\build\PortSelector.js:62:37
at new Promise ()
at PortSelector.getPortList (D:\Users\kv1dr.vscode\extensions\gamadril.led-basic-2.0.4\build\PortSelector.js:61:16)
at D:\Users\kv1dr.vscode\extensions\gamadril.led-basic-2.0.4\build\PortSelector.js:34:18
at new Promise ()
at PortSelector.showSelection (D:\Users\kv1dr.vscode\extensions\gamadril.led-basic-2.0.4\build\PortSelector.js:32:16)
at D:\Users\kv1dr.vscode\extensions\gamadril.led-basic-2.0.4\build\extension.js:85:37
at m._executeContributedCommand (d:\Users\kv1dr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:85:30760)
at m.$executeContributedCommand (d:\Users\kv1dr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:85:31302)
at i._doInvokeHandler (d:\Users\kv1dr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:89:13826)
at i._invokeHandler (d:\Users\kv1dr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:89:13510)
at i._receiveRequest (d:\Users\kv1dr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:89:12171)
at i._receiveOneMessage (d:\Users\kv1dr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:89:10841)
at d:\Users\kv1dr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:89:8947
at u.invoke (d:\Users\kv1dr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:58:145)
at v.fire (d:\Users\kv1dr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:58:1856)
at d.fire (d:\Users\kv1dr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:66:19034)
at d:\Users\kv1dr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:104:34275
at u.invoke (d:\Users\kv1dr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:58:145)
at v.fire (d:\Users\kv1dr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:58:1856)
at d.fire (d:\Users\kv1dr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:66:19034)
at o._receiveMessage (d:\Users\kv1dr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:66:23615)
at d:\Users\kv1dr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:66:21149
at u.invoke (d:\Users\kv1dr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:58:145)
at v.fire (d:\Users\kv1dr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:58:1856)
at v.acceptChunk (d:\Users\kv1dr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:66:15865)
at d:\Users\kv1dr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:66:14995
at Socket.P (d:\Users\kv1dr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:104:13797)
at Socket.emit (node:events:390:28)
at addChunk (node:internal/streams/readable:315:12)
at readableAddChunk (node:internal/streams/readable:289:9)
at Socket.Readable.push (node:internal/streams/readable:228:10)
at Pipe.onStreamRead (node:internal/stream_base_commons:199:23)
$onExtensionRuntimeError @ mainThreadExtensionService.ts:76

VSCode version: 1.66.2
OS: Windows 11
LED Basic extension version: 2.0.4

Thanks for the report. I will check it.

please try the new version 2.0.5

Unfortunately, I didn't have time to test this yet. I will try this when I have some spare time.


[event-hubs] Enable unit-test for node.js in CI

Replaces #14568
Uses the @azure/mock-hub package to start a local mocked version of Event Hubs to run tests against.
There are a lot of whitespace changes (indentation) so I recommend viewing with whitespace changes hidden.

CC: @jhendrixMSFT
(this is the CI-friendly eventhubs tester I mentioned the other day)

/azp run js - event-hubs - tests

/azp run js - event-hubs - tests

I had to use an additional environment variable/add a check since TEST_MODE was being set automatically in some of our live test jobs, but live tests also pass:
https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1101647&view=results


Cannot open wsl2 Ubuntu-20.04 when setting pwsh to default

Windows Build Number
Microsoft Windows [版本 10.0.19044.1200]
WSL Version

[X] WSL 2
[ ] WSL 1

Kernel Version
5.10.16
Distro Version
Ubuntu 20.04
Other Software
No response
Repro Steps

I simply change default shell to pwsh by chsh -s [pwsh].
Restart WSL2

Expected Behavior
Start WSL.
Actual Behavior

WSL does not work. Showing

: 6: export: (x86)/Intel/Intel(R): bad variable name

Diagnostic Logs
No response

I have noticed issue #5000, but I don‘t have the permission to change the file. And I cannot open wsl to change the default shell to bash.

I have noticed #5000, but I have no permission to change the file. And I cannot start wsl to change default shell to bash.

NVM. I just know I can launch bash in poweshell in windows.


RB$InstrumentMapperInstaller not working

I have the file in my downloads, but when i try to open it in any way, weather it be double clicking or opening as an administrator, nothing happens.

Nvm i figured it out.


Forward mode of an ODE solver fails with TypeAnalysisDepthLimit

MWE:
using OrdinaryDiffEq, Enzyme, ForwardDiff
Enzyme.API.runtimeActivity!(true)

function f(u0p)
	prob = ODEProblem((u, p, t) -> u .* p, u0p[1:1], (0.0, 1.0), u0p[2:2])
    Array(solve(prob, Tsit5(), abstol = 1e-12, reltol = 1e-12, saveat = 0.1))
end
u0p = [2.0, 3.0]
jac1 = Enzyme.jacobian(Forward, f, u0p)

Output of the run is attached:
output.txt

Simpler version:
using SimpleDiffEq, Enzyme, ForwardDiff, StaticArrays
Enzyme.API.runtimeActivity!(true)

function f(u0p)
	prob = ODEProblem((u, p, t) -> u .* p, SVector{1}(u0p[1:1]), (0.0, 1.0), u0p[2:2])
    Array(solve(prob, SimpleATsit5(), abstol = 1e-12, reltol = 1e-12, saveat = 0.1))
end
u0p = [2.0, 3.0]
jac1 = Enzyme.jacobian(Forward, f, u0p)
jac2 = ForwardDiff.jacobian(f, u0p)

jac1 ≈ jac2

and the simplest:
using SimpleDiffEq, Enzyme, ForwardDiff, StaticArrays
Enzyme.API.runtimeActivity!(true)

function f(u0p)
	prob = ODEProblem((u, p, t) -> u .* p, SVector{1}(u0p[1:1]), (0.0, 1.0), u0p[2:2])
    Array(solve(prob, GPUSimpleATsit5(), abstol = 1e-12, reltol = 1e-12, saveat = 0.1))
end
u0p = [2.0, 3.0]
jac1 = Enzyme.jacobian(Forward, f, u0p)
jac2 = ForwardDiff.jacobian(f, u0p)

jac1 ≈ jac2

This last one is just a loop:
https://github.com/SciML/SimpleDiffEq.jl/blob/master/src/tsit5/gpuatsit5.jl#L99-L223
so it's surprising that one fails with Forward mode. It fails with: output2.txt

We didn't add the forward mode rule to the solver, which is the correct solution here.
Presumably reopen this issue on DiffEqBase.jl?

Oh and the precise issue from the log is equivalent to: https://github.com/EnzymeAD/Enzyme.jl/issues/274

We didn't add the forward mode rule to the solver, which is the correct solution here.

We do want to support Enzyme directly on the solvers in the future though, since it is mathematically different from the adjoint rule over the solver. This is the difference of continuous and discrete adjoints, summarized in https://arxiv.org/abs/2001.04385:

Previous research has shown that the discrete adjoint approach is more stable
than continuous adjoints in some cases [53, 47, 94, 95, 96, 97] while continuous
36 adjoints have been demonstrated to be more stable in others [98, 95] and can
reduce spurious oscillations [99, 100, 101]. This trade-off between discrete and
continuous adjoint approaches has been demonstrated on some equations as
a trade-off between stability and computational efficiency [102, 103, 104, 105,
106, 107, 108, 109, 110]. Care has to be taken as the stability of an adjoint
approach can be dependent on the chosen discretization method [111, 112, 113,
114, 115], and our software contribution helps researchers switch between all
of these optimization approaches in combination with hundreds of differential
equation solver methods with a single line of code change.

Given the improved stability, we would like to try Enzyme on that against the adjoint overloads sometime. Currently the best benchmarks we have are from this paper: https://ieeexplore.ieee.org/abstract/document/9622796 or arxiv https://arxiv.org/abs/1812.01892. From this we see two things:
First is that direct forward mode of the solver (DSAAD) is just faster than the forward rules. The reason is because you can fuse computations from the primal better into the derivative ODEs.

The second is that the adjoints do faster in reverse, but part of that may be due to implementation.

We want to revisit this all now with Enzyme.


Filters applied to fill layers are not rendered unless a manual zoom is applied to the map

I am setting filters to layers using the layer.setFilter() method dynamically from code. The filters take effect for all layers immediately except the fill and fill-extrusion layers(from what I observe, maybe other layers are not rendered properly that I missed). For the fill layers, the filter is applied only if a manual zoom is applied to the map. Otherwise, the filter takes effect after another filter is applied.
To explain further;

The user changes to level 1 on the map, a filter is applied on all layers for level 1 using expression programmatically.
All of the layers filter the features correctly except the fill and fill-extrusion layers.
User changes to level 2, filter is applied to all layers, all show correct features except the fill and fill-extrusion layers. The fill and fill-extrusion layers still show level 1 features.
User changes to level 3, the filtering on the fill layer shows the previous filter. So, on the fill and fill-extrusion layers, features with level 2 are drawn.
User changes to level 1, the features on level 3 are drawn.
The only way to refresh this layer filter and show the correct features is to manually change the zoom of the map via gestures.

Steps to reproduce the behavior:

Set a filter to all layers programmatically.
Observe filtering takes effect immediately for only certain layers. Not fill and fill-extrusion layers to be precise.
Zoom in/out manually, observe features are correctly rendered for all layers.

The filtering on the layers should take effect immediately.

Platform: Android
Version: Maplibre(11.5.1)
Devices: Samsung Galaxy S23(Android 14) - Pixel 8 Pro Emulator (Android 35, 16KB page size)

This issue started happening after I upgraded from 10.2.0 to 11.5.1 for the 16kb device support on the new version. Using the same style, and the same filtering logic, I get the expected behavior on version 10.2.0.
There are no logs indicating any issue with rendering or filtering.

Thanks for the report, let me see if I can reproduce it.

@louwers any update on this issue? we need to migrate to the new version in order to accommodate for the Android 15 16KB page size and this is a blocker for us.

@louwers  I was able to reproduce the issue again in the sample project with the style you provided for ease of debugging.
You can access the codebase from here: https://github.com/elicandoenyas/maplibre-test-2/tree/bugfix/Issue-3039-reproduction

There is a layer in the style.json named "countries-fill-copy", of type "fill-extrusion" which has its source as "test-tiles", a source we created.
There is a layer in the style.json named "countries-label-copy", of type "symbol", which has its source as "test-tiles", a source we created.
In the source "test-tiles", there are two polygons "pika" and "behlul". They have properties "name" and "lvl", each having different values for them to allow filtering.
In the app, there are 3 buttons, "pika", "behlul" and "Remove Filters". The "Pika" button, adds "lvl" filter as 3 to the test layers, expecting to only show Pika polygon and its label. "Behlul" button add "lvl" filter as 4 to the test layers, expecting to only show Behlul polygon and its label. "Remove Filter" button removes all filters from the test layers.
When "Pika" button is clicked, the "behlul" polygon related to the "countries-fill-copy" layer does not get hidden right away, only after zoom level changes. (as explained in the issue) Same behavior can be observed for the other buttons. However, the "countries-label-copy" layer applies the filters immediately after clicking the buttons.

Note: This is not happening on version 10.2.0 of MapLibre.
Note 2: This is not happening when the style layer "countries-fill-copy" is of type "fill" instead of "fill-extrusion". This error is ONLY reproducible when the style layer is of type "fill-extrusion".

Thanks for the repro, confirmed for both OpenGL and Vulkan now.

https://github.com/user-attachments/assets/47fb7185-1008-47a5-b4ef-a7a286e051bd
I will ask the rendering engineers if they can have a look.
Also available in the MapLibre Android Test App on the repro-3039 branch.

Will be part of the 11.7.1 release.

@louwers thanks for the quick action! Is there a timeline for when the 11.7.1 release will be available for use?

@elican-doenyas I can make a release today if you need it.

@louwers I see that you released the new iOS but I could not see the Andorid v11.7.1. Was it released 2 days ago?

@elican-doenyas Thanks for the reminder, it should be out now.


I don't know what happened。。。。。。

Please read the installation instructions here
https://github.com/delba/Permission/blob/master/README.md

Why shut down my issuse? Because you're the author? Has my problem been solved? Isn't that what you wrote on readme?

As you can see, I can't access the static properties in your implementation。My Xcode version is 11.2.1

You might want to read the PermissionConfiguration.xcconfig part.

Yes, so I'm sorry. I think it's very troublesome, so I decided to encapsulate it myself and say sorry again

When I see all the issues, I find that I'm not the only one who has the same problem. I use CocoaPods...........


Move validation functionality out of Tmuxinator::Config

As discussed in #452, we should consider moving any validation functionality (validate, installed?, editor?, shell?, exists?, etc.) out of Tmuxinator::Config and into a new Tmuxinator::Validator module.

Since these methods are all related (exclusively?) to the "doctor" command, maybe the module/class should be called Tmuxinator::Doctor.


Support for TypeORM with MongoDB

TypeORM has experimental MongoDB support. I’m wondering well this pairing works with TypeGraphQL or whether TypeGoose works better with this package if I’m using Mongo?
Apologies if this question has already been asked. On mobile.

Please ask your question on project chat - Github issues are not a helpdesk for questions:
https://gitter.im/type-graphql/Lobby


spurious warnings for section rendering

we have an index.md file for each of these sections, and expect the normal _default/single.html to be used to render it. This is what happens, but hugo complains with an warning saying that it is rendering empty.
...
WARN: 2016/05/26 20:51:07 site.go:1974: "" is rendered empty
WARN: 2016/05/26 20:51:07 site.go:1998: Unable to locate layout for section test: [section/test.html _default/section.html _default/list.html indexes/test.html _default/indexes.html theme/section/test.html theme/_default/section.html theme/_default/list.html theme/indexes/test.html theme/_default/indexes.html theme/section/test.html theme/_default/section.html theme/_default/list.html theme/indexes/test.html theme/_default/indexes.html theme/theme/section/test.html theme/theme/_default/section.html theme/theme/_default/list.html theme/theme/indexes/test.html theme/theme/_default/indexes.html]
WARN: 2016/05/26 20:51:07 site.go:1974: "test" is rendered empty
WARN: 2016/05/26 20:51:07 site.go:1998: Unable to locate layout for section nomenu: [section/nomenu.html _default/section.html _default/list.html indexes/nomenu.html _default/indexes.html theme/section/nomenu.html theme/_default/section.html theme/_default/list.html theme/indexes/nomenu.html theme/_default/indexes.html theme/section/nomenu.html theme/_default/section.html theme/_default/list.html theme/indexes/nomenu.html theme/_default/indexes.html theme/theme/section/nomenu.html theme/theme/_default/section.html theme/theme/_default/list.html theme/theme/indexes/nomenu.html theme/theme/_default/indexes.html]
WARN: 2016/05/26 20:51:07 site.go:1974: "nomenu" is rendered empty

Could you share an index.md that reproduces the issue? Or perhaps the a link to the source?
This would help to trace the issue.

oh YES. ( I thought this would be harder)
checkout https://github.com/docker/docs-base
and if you have Docker installed, run make docs
otherwise, hugo is a go :)

Note/Update: This issue is marked as stale, and I may have said something earlier about "opening a thread on the discussion forum". Please don't.
If this is a bug and you can still reproduce this error on the latest release or the master branch, please reply with all of the information you have about it in order to keep the issue open.
If this is a feature request, and you feel that it is still relevant and valuable, please tell us why.


Restore sending queryInfo to benchto service

This got broken by some of the changes included in commit
1b0c4f6494a4cc3c51706d2106a061bf15d2e9c1.

Ci failed

Ci failed

I guess you need to include '-Pit' when bumping versions during release.


is build possible without internet access ?

This is a general Java compile issue.
It uses gradle and requires internet access but you can always use javac and jar command to build java program/library if you have all the dependency jar files.

Thanks a lot for the quick response!
Sent from my iPhone

On Jul 13, 2016, at 8:41 PM, Shiqiao Du<EMAIL_ADDRESS>wrote:
This is a general Java compile issue.
It uses gradle and requires internet access but you can always use javac and jar command to build java program/library if you have all the dependency jar files.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


Random not being random enough.

One of the timeout tests fails randomly. In this test we generate 100 timeouts and assert that we got at least more than 70% unique timeout ranges generated. This test fails randomly because we sometimes generate less unique/random timeouts for a given range. There are some possible causes for this:

It could be that our test just makes an assumption that is just way to high, as we only generate timeouts within 150 and 300 but that would still leave 150 possibilities.
Our timeout algorithm is flawed.
The timeout is flawed.

With Math.random() analysis like this: https://github.com/nquinlan/better-random-numbers-for-javascript-mirror in the back of heads, it might be wise to come up something more random.

In this case, strong randomness isn't important, as it would be in a cryptographic application, for instance. Math.random() isn't great, but it's fast and random enough for the purpose of this library. If you're bent on testing this, perhaps the best way would be to make a random module/function to wrap Math.random() and spy on it during testing to ensure it gets called.


UI - Input: Cursor should not shift text content

The issue seems to be that the cursor View is part of the normal content flow, so when it moves it also shifts the characters around. I checked oni2 and it doesn't have this problem since it uses absolute positioning for the cursor and manually calculates the offset. It seems like something similar should be done here for the Input component.

Thanks for the report & gif, @aweary! Confirmed on Windows - it seems like we're including the cursor in the text calculation (which is shifting the text).

@bryphe I’m happy to work on this if you can give a few code pointers to get started with 🙂

Would be great to have some help with the input 😍, at the moment the cursor is in the flow which causes this issue. We began discussing some of the ongoing issues with the input in #203. Something we haven't done yet is expose a way of finding out where a character is in the text which would allow us able to position the cursor absolutely

Definitely, would be awesome to have help @aweary ! 💯
Some ideas for starting out - this code here is important:
https://github.com/revery-ui/revery/blob/41f97bdf5e878bedbc307a7bff21fdd38047d961/src/UI_Components/Input.re#L240
(This is where we split the text and put a cursor in the middle).
We actually have an API to measure text size here: https://github.com/revery-ui/revery/blob/41f97bdf5e878bedbc307a7bff21fdd38047d961/src/Draw/Text.re#L38
Instead of rendering the cursor 'in the flow' - we could measure the startStr with this API (getting the fontFamily/fontSize, and the text which we already have with `startStr) - this would give us the size of the string before the cursor in pixels. Then, we could render the cursor absolutely positioned, out of the flow, based on the width of that measurement.
This will get a bit more complicated in the case of multi-line text, but I believe our inputs only handle the single-line case (something we'll have to think about as we extend them to support multi-line!).

Just a heads up @aweary - looks like @tatchi started this in #419 (don't want to duplicate work 😄 )


symphony: init at 5.7.2 and rPackages.Rsymphony

Description of changes
EDIT: 2024-04-20 thanks to the help of @jbedo and @Kupac , this works now! Tested with example from documentation:
library(Rsymphony)

obj <- c(2, 4, 3)
mat <- matrix(c(3, 2, 1, 4, 1, 3, 2, 1, 2), nrow = 3)
dir <- c("<=", "<=", "<=")
rhs <- c(60, 40, 80)
max <- TRUE
Rsymphony_solve_LP(obj, mat, dir, rhs, max = max)

This PR contains two commits: one that adds the Symphony solver, and another that fixes the build for the R package.
Original message:
Trying to fix rPackages.Rsymphony. I've first added the symphony software in pkgs/by-name/sy/symphony/package.nix and this builds successfully. I'm able to drop in a shell and execute it with:
nix-shell -I nixpkgs=. -p symphony

When building it, the following message appears:
Libraries have been installed in:
   /nix/store/r11wx6bcf8kxfdkigspbbdzgg4mvq6yf-symphony-5.7.2/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.

Trying to build the R packages, rPackages.Rsymphony doesn't succeed, so I tried to add:
    Rsymphony = old.Rsymphony.overrideAttrs (attrs: {
      preConfigure = ''
        export LD_RUN_PATH="${lib.getLib pkgs.symphony}/lib/"
      '';
    });

but trying to build results in the following error:
error: builder for '/nix/store/n310bh4kfhakzdzwrccgygh4b9d5vl3n-r-Rsymphony-0.1-33.drv' failed with exit code 1;
       last 10 log lines:
       > Running phase: buildPhase
       > Running phase: checkPhase
       > Running phase: installPhase
       > * installing *source* package 'Rsymphony' ...
       > ** package 'Rsymphony' successfully unpacked and MD5 sums checked
       > ** using staged installation
       > Cannot find SYMPHONY libraries and headers.
       > See <https://projects.coin-or.org/SYMPHONY>.
       > ERROR: configuration failed for package 'Rsymphony'
       > * removing '/nix/store/hfivzzxh1pw5rgfzc53mzxshra5wixva-r-Rsymphony-0.1-33/library/Rsymphony'
       For full logs, run 'nix log /nix/store/n310bh4kfhakzdzwrccgygh4b9d5vl3n-r-Rsymphony-0.1-33.drv'.

Any ideas?
By the way, I don't know if this should be an issue instead of a draft PR, so let me know if I should close this and open it as an issue instead.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

I don't think you need your override, just add the missing dependencies for symphony (cgl & clp) to buildInputs. May as well move pkg-config to  nativeBuildInputs too.

I don't think you need your override, just add the missing dependencies for symphony (cgl & clp) to buildInputs. May as well move pkg-config to nativeBuildInputs too.

thanks for pointing out the missing deps of symphony! However, that doesn't seem to do the trick, Rsymphony still doesn't find symphony.

This works for me:
diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix
index 35c784e9f021..8dae1810745b 100644
--- a/pkgs/development/r-modules/default.nix
+++ b/pkgs/development/r-modules/default.nix
@@ -520,6 +520,7 @@ let
     Rbwa = [ pkgs.zlib.dev ];
     trackViewer = [ pkgs.zlib.dev ];
     themetagenomics = [ pkgs.zlib.dev ];
+    Rsymphony = [ pkgs.pkg-config ];
     NanoMethViz = [ pkgs.zlib.dev ];
     RcppMeCab = [ pkgs.pkg-config ];
     HilbertVisGUI = with pkgs; [ pkg-config which ];
@@ -586,7 +587,7 @@ let
     mashr = [ pkgs.gsl ];
     hadron = [ pkgs.gsl ];
     AMOUNTAIN = [ pkgs.gsl ];
-    Rsymphony = with pkgs; [ pkg-config doxygen graphviz subversion ];
+    Rsymphony = with pkgs; [ symphony doxygen graphviz subversion cgl clp ];
     tcltk2 = with pkgs; [ tcl tk ];
     tikzDevice = with pkgs; [ which texliveMedium ];
     gridGraphics = [ pkgs.which ];
@@ -1240,12 +1241,6 @@ let
     });

-    Rsymphony = old.Rsymphony.overrideAttrs (attrs: {
-      preConfigure = ''
-        export LD_RUN_PATH="${lib.getLib pkgs.symphony}/lib/"
-      '';
-    });
-
     RPostgres = old.RPostgres.overrideAttrs (attrs: {
       preConfigure = ''
         export INCLUDE_DIR=${pkgs.postgresql}/include

Ah I should have looked at your commit first, I mean you needed to add it to Rsymphony not symphony.

@b-rodrigues did you added yourself in the maintainer list?

@b-rodrigues did you added yourself in the maintainer list?

yes, for symphony

@b-rodrigues did you added yourself in the maintainer list?

yes, for symphony

I mean this one:
https://github.com/NixOS/nixpkgs/blob/master/maintainers/maintainer-list.nix
I cant find yourself in it

@b-rodrigues did you added yourself in the maintainer list?

yes, for symphony

I mean this one: https://github.com/NixOS/nixpkgs/blob/master/maintainers/maintainer-list.nix
I cant find yourself in it

ops, sorry, no, first time adding a package. Should I add a commit adding myself as a maintainer to this PR?

Yes, you need to do it in 2 commits, one to add yourself, then one to init the package.

you need to follow alphabetical order tho

thank you for your patience! Hope I didn't mess anything up

thank you for your patience! Hope I didn't mess anything up

We are here to help, especially first contributors!
Ofborg-eval may take a bit of time

Can you add the Changelog file in meta attribute?
Like so
changelog = "https://github.com/oin-or/SYMPHONY/blob/${version}/CHANGELOG.md";

Can you add the Changelog file in meta attribute?
Like so
changelog = "https://github.com/coin-or/SYMPHONY/blob/${version}/CHANGELOG.md";

yes, done!

Result of nixpkgs-review pr 305301 run on x86_64-linux 1

1 package built:

symphony

@ofborg build rPackages.Rsymphony


ds.to_netcdf() changes values of variable

What happened?
I am very puzzled by an odd behavior of ds.to_netcdf() that modifies the value of a variable by offseting partly the vlue by 44500.
I have list of file containing meteorological variables organized in three dimensions 'time', 'longitude', latitude'. The files are loaded using xr.open_mfdataset('*.nc'). No problem here. The dataset is loaded in chuncks using Dask.

Now, I would like to save a subset of this dataset to a netcdf file as follow: ds.isel(latitude[1,2,3], longitude=[3,4,5]).to_netcdf('sub.nc'). So far nothing particular.
The value z is a float32 which varies from 2000 to -2000 along the time dimension. After being saved in the subsample, z is still a float32 but the values that are less than -1000 are being offset by 44500. However, if I do (ds.z.isel(latitude[1,2,3], longitude=[3,4,5])*1).to_netcdf('sub.nc'),  instead, then all values in the subsampled netcdf are fine.  I am very puzzled by this behavior. Could this be an odd behavior of dask chuncks and to_netcdf()?
What did you expect to happen?
I expected no modification of the data after saving to netcdf, no matter what.
Minimal Complete Verifiable Example
I will share files upon request.
Relevant log output
No response
Anything else we need to know?
 After being saved in the subsample, z is still a float32 but the values that are less than -1000 are being offset by 44500.

You may have  scale_factor and add_offset attributes in your dataset.

However, if I do (ds.z.isel(latitude[1,2,3], longitude=[3,4,5])*1).to_netcdf('sub.nc')

There's a chance xarray is discarding the attributes/encoding during the ds.z.isel(latitude[1,2,3], longitude=[3,4,5])*1 and as a result, netCDF ends up not encoding z during the to_netcdf() call.
What's the output of
print(ds.z.encoding)
print(ds.z.attrs)

??

So this is the encodiing before writing to netcdf, when loaded with xr.open_mfdataset():
In [61]: ds.z.isel(latitude=[1,2,3], longitude=[3,4,5]).encoding
Out[61]:
{'source': '/home/simonfi/github/TopoPyScale_examples/ex1_norway_finse/inputs/climate/PLEV_197810.nc',
 'original_shape': (744, 14, 7, 10),
 'dtype': dtype('int16'),
 'missing_value': -32767,
 '_FillValue': -32767,
 'scale_factor': 0.6796473581594864,
 'add_offset': 21239.89345268811}

In [63]: ds.z.isel(latitude=[1,2,3], longitude=[3,4,5]).attrs
Out[63]:
{'units': 'm**2 s**-2',
 'long_name': 'Geopotential',
 'standard_name': 'geopotential'}

After saving to netcdf with ds.z.isel(latitude=[1,2,3], longitude=[3,4,5]).to_netcdf('sub.nc'),
In [64]: d.z.encoding
Out[64]:
{'zlib': False,
 'shuffle': False,
 'complevel': 0,
 'fletcher32': False,
 'contiguous': True,
 'chunksizes': None,
 'source': '/home/simonfi/github/TopoPyScale_examples/ex1_norway_finse/sub.nc',
 'original_shape': (35760, 14, 3, 3),
 'dtype': dtype('int16'),
 'missing_value': -32767,
 '_FillValue': -32767,
 'scale_factor': 0.6796473581594864,
 'add_offset': 21239.89345268811}

So the chuncks were concatenated into this single file. Now, if I look at for instance the same timeseries before and after saving to sub.nc:

As this offset is not applied constantly in the dimension time, I though this could be seen as a "bug". Could it be that if the encoding is not specified, each dask chunck are encoded independently?

and in case I multiply the variable z prioir to save to_netcdf()
In [78]: (ds.z.isel(latitude=[1,2,3], longitude=[3,4,5])*1).to_netcdf('sub1.nc')

In [79]: d1 = xr.open_dataset('sub1.nc')

In [80]: d1.z.encoding
Out[80]:
{'zlib': False,
 'shuffle': False,
 'complevel': 0,
 'fletcher32': False,
 'contiguous': True,
 'chunksizes': None,
 'source': '/home/simonfi/github/TopoPyScale_examples/ex1_norway_finse/sub1.nc',
 'original_shape': (35760, 14, 3, 3),
 'dtype': dtype('float32'),
 '_FillValue': nan}

oh and another strange thing. The timeseries I multiply by 1 and save to sub1.nc is not exaclty the same:

I came across the same issue! @ArcticSnow have you found any solutions here? Struggled a bit but didn't find any solutions yet ...

Changing the line from ds.to_netcdf("%s/ds.nc" % save_fp)into(ds*1).to_netcdf("%s/ds.nc" % save_fp) solves everything

If someone has an MCVE, please feel free to add here. Otherwise, we can close this until we have one

@max-sixty , what is meant by MCVE?
@yuting-chen-mck , I moved away from using open_mfdataset()

@max-sixty , what is meant by MCVE?

https://stackoverflow.com/help/minimal-reproducible-example

Without checking or knowing what is going on  I assume that ds*1 drops the encoding/attributes.

Late to the party, here, thanks for reviving @yuting-chen-mck.
Another issue with packed data (with scale_factor/add_offset) is that these values can differ across the source files. When concatenating only the scale_factor/add_offset of the first dataset/file will survive in encoding. When writing out again the packing uses these scale_factor/add_offset (and might even overflow the packed dtype):
import numpy as np
packed_value1 = np.int16(-30000)

# original values of nth file
scale_factor1 = 0.6796473581594864
add_offset1 = 21239.89345268811

# data of first file
scale_factor2 = 0.4796473581594864
add_offset2 = 21239.89345268811

# unpacking with original data
unpacked_value = packed_value1 * scale_factor1 + add_offset1
print(f"1st unpacking: {packed_value1} -> {unpacked_value}")
# repacking with data of first file
packed_value2 = np.int16((unpacked_value - add_offset2) / scale_factor2)
print(f"repacking: {unpacked_value} -> {packed_value2}")
# unpacking again
unpacked_value2 = packed_value2 * scale_factor2 + add_offset2
print(f"2nd unpacking: {packed_value2} -> {unpacked_value2}")

1st unpacking: -30000 -><PHONE_NUMBER>035183
repacking:<PHONE_NUMBER>035183 -> 23027
2nd unpacking: 23027 -> 32284.7331690266

If that's the case here, in issue https://github.com/pydata/xarray/issues/5739 (and therein linked ones) is more reading. Bottom line: either drop encoding or provide it with fitting scale_factor/add_offset.

So the root cause here is probably how encoding is handled. For that please see: https://github.com/pydata/xarray/issues/6323.


AudioSwitch will not start while AVG is running.

AudioSwitch will not start while AVG AntiVirus Free Edition 2015 protection is turned on.
A workaround is to disable protection temporarily and start the program, or to add it to the exceptions list.
Since a workaround exists, this is not a high-priority issue, but it is still an issue since these steps do not have to be taken to run any other regular program.

does the error remain with the latest version?

Avast also detects it as a virus.


Adding failing test and fix for potential data destruction

Problem
This is actually a big deal, it seems it is possible to destroy data for a table with a single row when the single's row id is not 1.
It seems connected to this patch https://github.com/soundcloud/lhm/pull/39/files#diff-5f043f4ad9ef9057e658146216f47dbfR28.
Solution
We'll follow up with a patch ASAP, for now I want a sanity check, Am I not seeing something that would prevent this piece of code:
 def execute
      return unless @start && @limit
      @next_to_insert = @start
      while @next_to_insert < @limit || (@next_to_insert == 1 && @start == 1)
        stride = @throttler.stride
        affected_rows = @connection.update(copy(bottom, top(stride)))

        if @throttler && affected_rows > 0
          @throttler.run
        end

from skipping a single row if that rows id were say 1001 ?
@jasonhl @sroysen @singerwang @oliverf @arthurnn  @erikogan  @pellegrino @durran

test run with this:
00% complete
....Everything is clean.

Finished in 29.573579s, 1.8936 runs/s, 3.2461 assertions/s.

  1) Failure:
Lhm::Chunker::copying#test_0001_should copy 1  rows from origin to destination even if the id of the single row does not start at 1 [/home/vagrant/src/lhm/spec/integration/chunker_spec.rb:26]:
Expected: 1
  Actual: 0

Naive fix added.

Actually the patch (https://github.com/soundcloud/lhm/pull/39/files#diff-5f043f4ad9ef9057e658146216f47dbfR28) was not the core issue..
So we have two cases with 1 row:

CASE1: 1 row with id of 1
CASE2: 1 row with id of not 1 (say 1001)

Before the patch, the logic was
until @next_to_insert >= @limit

Which means it will fail both CASE1 and CASE2. So basically any table with 1 row will fail.
The patch fixes the logic for CASE1, but still fails CASE2. So basically now it works for any table with 1 row as long as the row id is 1
while @next_to_insert < @limit || (@next_to_insert == 1 && @start == 1)

I think a cleaner solution is
until @next_to_insert > @limit

i guess this is related to https://github.com/soundcloud/lhm/pull/127

@arthurnn it is, can we get either merged ?

ping @arthurnn

thanks bro ! :)

sorry for the delay reviewing this.

This isn't exactly the same fix as what I had in mind there. I have the impression that if the number of lines is a multiple of stride + 1 this will still fail lines = k*stride + 1, and this fix only takes care of the case k = 0.
Should I try to rebase my PR on the latest master to see if the test I added passes?

@tdeo go ahead, with the rebase and let me know if there is a problem to be fixed.


Update extension in a profile will remove same extension from other profile

Type: Bug

VS Code version: Code 1.79.2
OS version: Windows 10  21H2

Steps to Reproduce:

Install C# 1.26.0 in Default Profile.
Install C# 1.25.9 in Profile C#.
In Default Profile, Open folder with C# project and wait for initialization of the extension (Omnisharp included).
In profile C#, update extension C# 1.25.9 to 1.26.0.
Update will fail after a moment, following message will be displayed in Shared of Output:
[error] [uncaught exception in sharedProcess]: Unable to delete the existing folder '...\VSCode\data\extensions\ms-dotnettools.csharp-1.26.0-win32-x64' while installing the extension 'ms-dotnettools.csharp'. Please delete the folder manually and try again: Delete: Unable to delete the existing folder '...\VSCode\data\extensions\ms-dotnettools.csharp-1.26.0-win32-x64' while installing the extension 'ms-dotnettools.csharp'. Please delete the folder manually and try again

What I expect:
I think VS Code should reuse existing copy of extension, not deleting it no matter what and download it again.
Or, VS Code need to revert what it did for update process, ie keep that extension for other profile.

/duplicate

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!


Lazyinit bugs

Fix some bugs introduced by changes on lazyinit branch.
@uber/ringpop

lgtm

:+1:


MAP estimate of parameters (How to?)

 For example, cut and past exactly your example-notebook to generate the data:
BlockRandom[
SeedRandom[1];
testdata = (# -> (# + 2 RandomReal[])) & /@ RandomReal[{-1, 1}, 20];
]
the object
obj = defineInferenceProblem[
"Data" -> testdata,
"GeneratingDistribution" -> NormalDistribution[
a x + b,
sigma
],
"Parameters" -> {{a, -10, 10}, {b, -10, 10}, {sigma, 0.1, 10}},
"IndependentVariables" -> {x},
"PriorDistribution" -> {
ProbabilityDistribution[Sqrt[2]/Pi/(1 + x^4), {x, -10, 10}],(here it is just an example...)
UniformDistribution[{-10, 10}],
"ScaleParameter"
}
]
and I save everything on results:
result = nestedSampling[obj]
How do I get the max a posteriori values (rather than the averaged provided)?
I've tried to sum #LogPriorPDF and #LogLikelihood but, for example,
Query[TakeLargestBy[#LogPriorPDF &, 1]]@result["Samples", All]
returns errors... "Failure..." etc.
ThX
(BTW: Query[TakeLargestBy[#LogLikelihood &, 1]]@result["Samples", All] works fine if I want likelihood)

Hi,
Thanks for giving it a go. I see where the problem is occurring: the "LogPriorPDF" property isn't getting populated for the initial samples and that's why the query fails. I just pushed an update that fixes that problem. The line:
TakeLargestBy[#LogLikelihood + #LogPriorPDF &, 1]@result["Samples"]

should work now if you get the latest code from the main branch (it's just a one line fix).
I think I missed that because I never really looked at MAP estimates with this code, since there are easier ways to get one with NMaximize or FindMaximum. A while ago I added an experimental function laplacePosteriorFit for that kind of thing, so you may want to give that a look. There is some documentation in the section "The Laplace approximation".
Best regards,
Sjoerd

Thanks, Sjoerd, for the prompt reply. Now it works as expected.
May I take the chance to ask you a couple of questions about a couple of problems I've experienced today trying your code?

What is the meaning of the error:
checkCompiledFunction::mainEval: CompiledFunction LogLikelihoodFunction has calls to MainEvaluate and may not perform optimally

You should be able to reproduce it with this code simplified from an optimal-control problem:
Let me set a control by hand (say, a time series):
Ts = TimeSeries[
{{33., 1.`}, {75.`, 1.`}, {106.`, 1.`}, {165.`, 1.`}, {194.`,
1.`}, {221.`, 0.`}, {256.`, 0.`}, {279.`, 0.`}, {312.`,
0.`}, {341.`, 0.`}, {379.`, 0.`}, {428.`, 1.`}, {456.`,
1.`}, {484.`, 1.`}, {526.`, 1.`}, {561.`, 1.`}, {603.`,
1.`}, {638.`, 1.`}, {666.`, 1.`}, {694.`, 1.`}, {722.`,
0.`}, {750.`, 0.`}, {792.`, 0.`}, {834.`, 1.`}, {876.`,
1.`}, {914.`, 1.`}, {932.`, 1.`}, {960.`, 1.`}, {1009.`,
1.`}, {1051.`, 1.`}, {1093.`, 1.`}, {1135.`, 1.`}, {1184.,
1.`}, {1226., 1.`}},
ResamplingMethod -> {"Interpolation", "InterpolationOrder" -> 0}];
and an ODE system as model: For ex. something little more juicy than a straight line might be:
Model[
p1_?NumberQ, p2_?NumberQ, p3_?NumberQ, p4_?NumberQ,
ic1_?NumberQ, ic2_?NumberQ, ic3_?NumberQ
] := (Model[p1, p2, p3, p4, ic1, ic2, ic3] =
Block[{S, DD, P, sol, [Epsilon] = 10^-16},
sol = First[NDSolve[
{S'[[Tau]] ==
S[[Tau]]/(S[[Tau]] + DD[[Tau]] + [Epsilon])
p1 Log[2.] S[[Tau]], S[33.] == ic1,
Derivative[1][DD][[Tau]] == -p4 DD[[Tau]] Ts[[Tau]] +
Log[2.] S[[Tau]] (1. - (p1 S[[Tau]])/(
DD[[Tau]] + S[[Tau]] + [Epsilon]) ), DD[33.] == ic2,
P'[[Tau]] == p2 DD[[Tau]] - p3 P[[Tau]], P[33.] == ic3},
{S, DD, P},
{[Tau], 33., 1226.}]];
P[#] & /. sol])
Now I set some data as you indicate in your example notebook, in my case I take:
data = {33. -> 11.83, 75. -> 5.02, 106. -> 4.87, 165. -> 5.1,
194. -> 2.86, 221. -> 2.04, 256. -> 2.29, 279. -> 3.44,
312. -> 3.47, 341. -> 5.52, 379. -> 6.83, 428. -> 10.62,
456. -> 21.2, 484. -> 9.75, 526. -> 9.64, 561. -> 8.52,
603. -> 7.61, 638. -> 7.43, 666. -> 5.95, 694. -> 6.8,
722. -> 5.64, 750. -> 7.06, 792. -> 7.55, 834. -> 12.89,
876. -> 12.6, 914. -> 11.32, 932. -> 11.45, 960. -> 13.,
1009. -> 12.85, 1051. -> 14.32, 1093. -> 14.31,
1135. -> 12.65, 1184. -> 14.52, 1226. -> 15.78};
The mentioned warning appears when I define the inference problem:
obj = defineInferenceProblem[
"Data" -> data,
"GeneratingDistribution" -> NormalDistribution[
Model[p1, p2, p3, p4, ic1, ic2, ic3][t],
[Sigma]],
"Parameters" -> {{p1, 0, 1}, {p2, 0, 1}, {p3, 0, 1}, {p4, 0,
1}, {ic1, 0, 1}, {ic2, 0, 1}, {ic3, 0, 30}, {[Sigma], 0.01,
10.}},
"IndependentVariables" -> {t},
"PriorDistribution" -> {"LocationParameter", "LocationParameter",
"LocationParameter", "LocationParameter", "LocationParameter",
"LocationParameter", "LocationParameter", "ScaleParameter"}
]
I guess the question is more... "How would you avoid it?"

the second question is more conceptual or Mathematica related.
How would you impose some constraints on parameters? say p1 > p2?
While in a NMaximize approach it is quite straightforward, in the framework of your package it results not obvious to me.
(note, I do not mean to add prior constraints as, e.g., p1~UniformDistribution[{0, 0.5}] and p2~UniformDistribution[{0.5,1}])

Thank you very much for the insights into your beautiful project.
Best
Stefano

Hi Stefano,
Glad to head that that resolved it. As for your new questions:

This is simply a warning message I put in to indicate that the automatic compilation of the loglikelihood and/or logprior functions failed. The code should still work, but the sampling process will be slower because of the lack of compilation. You can always directly define the "LogLikelihoodFunction" and ""LogPriorPDFFunction"" in defineInferenceProblem to provide your own compiled functions. With a model that invokes NDSolve, that's going to be tricky, though. You may instead want look into ParametricNDSolveValue to define your model, since that will allow Mathematica to do some of the symbolic pre-processing in advance rather than having to do it each time Model is invoked.

I'm not sure how you can, mathematically, impose constraints other than by putting them in the loglikelihood or the prior functions. The whole inferencing is based on just those two functions, so any constraint will have to be imposed through one of them. You can return $MachineLogZero from the loglikelihood function when a point doesn't satisfy the constraints to signal that it's an illegal point. Again, in this situation it's probably easiest to define your own "LogLikelihoodFunction" property in defineInferenceProblem. There's also built-in functions like TruncatedDistribution that can help you with imposing constraints on distributions.

Hope that helps,
Sjoerd

Thank you!
Best
Stefano


fix multilingual nestings

Nesting multilingual sorting nodes occur 505 error, with this fix we get rid of it.

Hey @sineld, could you provide some steps to reproduce?
Then I can write tests for this.


Intel Extension for Scikit-learn: SVC for Adult dataset readme update

Existing Sample Changes
Description
Restructured to match new template. Corrected formatting. Corrected multiple branding issues. Added limited information on running in DevCloud.
Fixes Issue#
External Dependencies
N/A
Type of change
Please delete options that are not relevant. Add a 'X' to the one that is applicable.

[x] Documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[x] VSCode

Adding @jimmytwei for notices.


Improved pull image loading

@Elesant :)

LGTM! I'll make a separate PR to align it :+1:

LGTM! Small nitpicks :smiley:

Changes Unknown when pulling 4f80c5d0db144cce9cd3842e2d87b76bdf393a6c on pull-image-loading into ** on master**.


Fixed method not found error when connecting with signal that fires in editor

Fixed method not found error when connecting with signal that fires in editor.
This is a  better solution to the problem than #22033. As discussed on IRC
This properly fixes #13070 then.

Thanks!


chore(deps): upgrade runtime dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-runtime-dependencies-k8s-26-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 3181

Questions ?
Please refer to the Backport tool documentation


[FIXED] Randomize IPs result from LookupHost before creating connection

When a hostname is provided, before dialing we resolve the host
and get possibly several IPs. We randomize them before calling
net.Dial() so that we don't always connect to the same IP.
Signed-off-by: Ivan Kozlovic<EMAIL_ADDRESS>

Coverage increased (+0.06%) to 93.064% when pulling 85342700ff2875132944ff6d0cb4422ed6d854b6 on randomize_lookup_host_result into aa1eeb09b71e271bfc2027dabe5c7a90ad37a50f on master.


Missing WEBSITE_AUTH_SIGNING_KEY

Hiya,
I'm attempting to implement custom login using the sample code provided for the preview. It all seems to come together except that I don't have a WEBSITE_AUTH_SIGNING_KEY environment variable in my Azure mobile app to send to the AppServiceLoginHandler.CreateToken method as my secretKey.
I've configured Authentication, I've checked in Kudu and I have a dozen other WEBSITE_AUTH_* environment variables. On a Mobile app that's a few weeks old I do have the old MS_SigningKey variable (which I tried for shiggles and it didn't work either), but if I create a new Mobile app it doesn't have either of those keys.
Have I missed something? Is there another way to get this key? Is there a bug?
Your assistance is greatly appreciated.
Andrew

If you don't have that var, then it may be a bug. Just to double-check, you have:

Turned on App Service Authentication (and I'm guessing not configured any Providers?) following the steps here: https://azure.microsoft.com/en-us/blog/announcing-app-service-authentication-authorization/
Visited https://{yoursite}.scm.azurewebsites.net/env and search the page for 'SIGNING' and you don't find anything? Does WEBSITE_AUTH_ENABLED = true?
Tried restarting your site and refreshing the kudu page? This shouldn't be necessary but couldn't hurt.
Tried turning App Service Authentication off, save, then back on, save.

If all of that doesn't work to get you a WEBSITE_AUTH_SIGNING_KEY and WEBSITE_AUTH_ENABLED = true, you can always set a WEBSITE_AUTH_SIGNING_KEY App Setting with a custom signing key* and App Service Auth should use that instead. Although you may be in an odd state if things are enabled and you have no signing key. But give all of that a try and let me know what you find.
* Note: The signing key can't be any string, it needs to be a SHA-256 hashed string. I've been using http://www.xorbin.com/tools/sha256-hash-calculator to generate signing keys for testing purposes.

Thank you for your reply.

Yes, it was your article I used to set it up in the first place. I initially just turned it on and saved. I didn't get the key so I setup Facebook.

Yes. I have checked that. Here's the related tags that are present (with some values redactions as xxx):

"WEBSITE_AUTH_TOKEN_STORE":"True","WEBSITE_AUTH_ALLOWED_AUDIENCES":"http://xxx.azurewebsites.net","ScmType":"None","WEBSITE_AUTH_EXTERNAL_REDIRECT_URLS":"http://xxx.azurewebsites.net","WEBSITE_AUTH_ENABLED":"True","WEBSITE_AUTH_FB_SCOPE":"email","WEBSITE_AUTH_MSA_SCOPE":"","WEBSITE_AUTH_UNAUTHENTICATED_ACTION":"AllowAnonymous","WEBSITE_AUTH_FB_APP_SECRET":"xxx","WEBSITE_AUTH_FB_APP_ID":"xxx","WEBSITE_AUTH_AUTO_AAD":"False","MS_SigningKey":"xxx","WEBSITE_AUTH_DEFAULT_PROVIDER":"AzureActiveDirectory"

and 4. Yup. Twice. With a restart or two in there for good measure. Nada I'm afraid. I've done this on an existing site and a new one I created just in case it was something legacy related. The only difference is the lack of the MS_SigningKey on the newer instance.

OK. I've done this. I added the value as an App Setting for WEBSITE_AUTH_SIGNING_KEY. It then appears in Kudu. I've used my login method to get a new token and passed that token to a method restricted with [Authorize] and it works just fine whereas previously it failed. So.. all good code wise, just no idea why I don't get a WEBSITE_AUTH_SIGNING_KEY by default.

Thank you for your help! I'm happy to give you any more information you need or test things if you want to look into it further.

I'm not sure either -- I'll leave this issue open and see if I can get someone that knows more about signing key provisioning to weigh in. They may want some more info from you. Thanks for bringing this up.

@afladmark Are you still having issues here?

Apologies for the delay in replying. I have just retested this by launching a new Mobile App and configuring it for Authentication/Authorization per @brettsam's previous instructions. It appears to have worked correctly and a WEBSITE_AUTH_SIGNING_KEY is present on the /env page as expected. I've not tested it from code, but this was obviously missing previously. I'd say consider this resolved from my perspective. Happy to check anything further if it would be helpful.

Great to hear.

Just happened to me, following the instructions in this wonderful guide by @adrianhall
Everything seems to be working without it.  Not sure how to put it in there...

My custom authentication works whereas I never had a WEBSITE_AUTH_SIGNING_KEY.
Is this normal?

I'm having the same issue with WEBSITE_AUTH_ALLOWED_AUDIENCES missing from my SCM environment variables. This is from the published .NET mobile app backend Azure Todo sample.

Apparently, WEBSITE_AUTH_ALLOWED_AUDIENCES is not available unless you configure AAD (after a discussion with the engineer).  The Audience should be https://{WEBSITE_HOSTNAME}/ - replace {WEBSITE_HOSTNAME} with the hostname of your site.

Alright thanks. I was already using that setting.

I've filed an issue on myself in the book to update the docs in the book to match reality.


Problems in init.sh

Lines 39 and 40 the sed commands.
When I ran the script I got the errors ( <acr-name> and <dns-name> where the actual values).
sed: can't read s+!IMAGE!+<acr-name>/contoso-website+g: No such file or directory
sed: can't read s+!DNS!+<dns-name>+g: No such file or directory

I'm assuming the intent of the commands is to replace the azure values but as we proceed through the tutorial that is done via helm anyway. So I think that these commands should be removed.
Copy/Paste error on the echo on line 47
Currently
echo "-> AKS Cluster Name: $ACR_NAME"

Should be
echo "-> AKS Cluster Name: $AKS_NAME"

so the output would be
-> AKS Cluster Name: contoso-video

Thanks for letting me know, I was doing this lab and the problem still persists.


Images are working Favorites are not

Favourites handler not working. Code has been commented out until we can find bug.


Dashbook: improve navigation

What could be improved and why
Currently navigating through the examples in Dashbook is tiresome: you have to open the left panel each time and find the next item in the list.
Simply leaving the navigation pane always open by default (with the possibility to close it if the user wants so) would make this process much easier.
Any risks?
Nuclear threat not detected.

see https://github.com/bluefireteam/dashbook/issues/63


Improve readability for insert on trie

Coverage increased (+0.5%) to 92.022% when pulling 9295f6ef53dc1680e299f32875893f22aff6c405 on insert-improve-readability into 6947c077de7ec9641e1147aa3e72cda7d716dbda on master.


[Event] closing a mini app?

Is it possible to track the event of closing a mini app?

beforeunload event maybe? Didn't check
window.addEventListener("beforeunload", onClosing)

What is the problem you're trying to solve?


[BUG]: maxPages missing in Model.d.ts

maxPages is missing in OneParams type

Thanks. We'll push an update today.


Invariant Violation with Webpack + Babel

I'm getting the following error when I run my app:
Uncaught Error: Invariant Violation: Form.render(): A valid ReactComponent must be returned. You may have returned undefined, an array or some other invalid object.

Right now, I'm just trying to get the 'working example' from the docs to work properly with my setup. I'm currently using Babel and Webpack, which I believe is the root cause of the problem. I've tried removing the <Form ref="form" type={Person} /> and everything works correctly, so I know that the problem lies somewhere in my configuration conflicting with tcomb-form.
import React from 'react';
import t from 'tcomb-form';

var Form = t.form.Form;
var Person = t.struct({
    name: t.Str,
    surname: t.Str
});

export default class App extends React.Component {
    save() {
        // call getValue() to get the values of the form
        var value = this.refs.form.getValue();
        // if validation fails, value will be null
        if (value) {
            // value here is an instance of Person
            console.log(value);
        }
    }

    render() {
        return(
            <div>
                <Form ref="form" type={Person} />
                <button onClick={this.save}>Save</button>
            </div>
        )
    }
}

I'd also be happy to provide configs or files for anything else if useful. Thanks in advance.

This works for me (at least the form renders). I'm using Webpack with the babel-loader.
    ...
    module: {
        loaders: [
            {
                //tell webpack to use jsx-loader for all *.jsx files
                test: /\.jsx$/,
                loader: 'jsx-loader?insertPragma=React.DOM&harmony'
            },
            {
                test: /\.jsx$/, exclude: /node_modules/, loader: "babel-loader"
            }
        ]
    },
    ...

package.json
...
  "dependencies": {
    "react": "^0.13.3",
    "react-router": "^1.0.0-rc1",
    "tcomb-form": "^0.7.1"
  },
  "devDependencies": {
    "babel-core": "^5.8.24",
    "babel-loader": "^5.3.2",
    "http-server": "^0.8.0",
    "jsx-loader": "^0.13.2",
    "webpack": "^1.12.1",
    "webpack-dev-server": "^1.10.1"
  }
...

Hi,
If you are using react ^0.13.0 you should install tcomb-form ^0.6.4.
https://github.com/gcanti/tcomb-form/issues/199

Ah. Versioning it was. Updated to 0.14 RC1 and that fixed it. Thank you so much.

I'm having problems with tcomb-form 0.6.6 wanting to use React 0.14.x, but only when I use npm shrinkwrap
Here's how to reproduce
npm init
npm install<EMAIL_ADDRESS>--save
npm install<EMAIL_ADDRESS>--save
npm shrinkwrap
rm -rf node_modules
npm install

output npm install:
npm WARN package.json<EMAIL_ADDRESS>No description
npm WARN package.json<EMAIL_ADDRESS>No repository field.
npm WARN package.json<EMAIL_ADDRESS>No README data
<EMAIL_ADDRESS>node_modules/react
└──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
<EMAIL_ADDRESS>node_modules/tcomb-form
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>└──<EMAIL_ADDRESS><EMAIL_ADDRESS>
As you see<EMAIL_ADDRESS>is now installed as a dependency of tcomb-form... And the application breaks with this issue.
But when using tcomb-form 0.6.3 it works as I think it should:
npm init
npm install<EMAIL_ADDRESS>--save
npm install<EMAIL_ADDRESS>--save
npm shrinkwrap
rm -rf node_modules
npm install

Output:
<EMAIL_ADDRESS>node_modules/react
└──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
<EMAIL_ADDRESS>node_modules/tcomb-form
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS>└──<EMAIL_ADDRESS><EMAIL_ADDRESS>

Hi @nextminds!
Thanks for your feedback. Just released a new version of uvdom 0.1.x moving the react dependency from peerDependencies to dependencies, should be ok now


Update version to 1.0.93-2 on staging

Update version to 1.0.93-2

🚀 Deployed to staging by @OSBotify in version: 1.0.93-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @yuwenmemon in version: 1.0.94-1 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Log skipped Charts directories

We occassionally get cases where it is difficult to understand why Helm integration doesn't work well, and in particular, which directories are taken into account by Flux or not. Extra logging might help there?
N.B.: I noticed loggers are only created in mains, and propagated down to where needed. However, this consequently introduces many small signature / field changes in various places. Please let me know if we'd rather do this differently and I'll happily update this PR.

I noticed loggers are only created in mains, hence propagated these down to where needed.

For my part, this is because how on earth are you supposed to propagate loggers?. So they variously get handed down through procedure calls, hidden in structs, and so on. Which all come with the problems you identify. To some extent this would be mitigated by putting Log calls behind an API (or APIs). But there would still be the problem of how to get a reference to a logger.

I am in two minds about whether it's worth all this trouble for info logs. What was the original confusion over?

Here was the original confusion. I didn't follow this issue until the very end, but it initially seemed like some manifests/pieces weren't discovered by Flux. When @hiddeco and I started to look into it, we realised Flux was never explicitly logging which directories were being ignored. I believe having extra logging could help people self-diagnose (or rule out) path issues. This may also help us figure out what's going on when people ask support questions in Slack.
What is your concern with such extra logging @squaremo?

What is your concern with such extra logging @squaremo?

That it's extra complexity, and a lot of extra logging, since it'll run every time the repo is consulted, which will average out at several times a minute.
Looking in the Slack conversation, I don't see the bit where there was significant confusion over what was a chart and what wasn't; specifically, I don't think the user had put manifests they intended to be applied into a chart directory. It looks more like the problem turned out to be that fluxd hadn't got as far as applying the manifests at all.
I do see that it might have helped rule out a red herring cause, and I am sympathetic to the idea of being transparent about what a program is doing. Being able to get more information back from fluxctl sync, like which files were included, and which weren't, might be a better place for that transparency - -wdyt? (not asking you to implement that :-)

Sure -- closing this then.