SPARK-5665 [DOCS] Update netlib-java documentation

I am the author of netlib-java and I found this documentation to be out of date. Some main points:

Breeze has not depended on jBLAS for some time
netlib-java provides a pure JVM implementation as the fallback (the original docs did not appear to be aware of this, claiming that gfortran was necessary)
The licensing issue is not just about LGPL: optimised natives have proprietary licenses. Building with the LGPL flag turned on really doesn't help you get past this.
I really think it's best to direct people to my detailed setup guide instead of trying to compress it into one sentence. It is different for each architecture, each OS, and for each backend.

I hope this helps to clear things up :smile:

Can one of the admins verify this patch?

@fommil Generally speaking you're best placed to document this aspect. I think some of the changes need to be backed out though:

(PS could you open a simple JIRA for this? it's not 100% trivial)
Spark itself uses JBLAS. The sentence should be worded to not imply that Breeze does, but, we still need the note about the JBLAS dependency and libgfortran.
You also removed a reference to the netlib-lgpl profile, but, that's the easier way for people building Spark to include this dependency. If you're just questioning the name of the profile, sure, but probably not worth changing the profile name just for it, and should still be documented.
I tend to agree with pointing to the latest external docs is better. However this also removed a reference to OpenBLAS which is going to be relevant to the JBLAS dependency itself, no?

@srowen can you please create the JIRA? I will inevitably fill out all the wrong fields anyway. I'll push a change to this PR in a moment.
Re: JBLAS oh I didn't realise that. Why? Does it do anything that netlib-java/Breeze doesn't? My understanding is that it absolutely requires natives to be available (which is kind of weird for a java application and hence makes Spark a lot harder to setup/use), and packages its own builds of an unspecified version of BLAS (possibly LAPACK?). i.e. it doesn't use system optimised binaries (see my talk to find out why this is absolutely critical for high performance). FYI, I have Intel MKL on all my machines because it is ridiculously faster than the alternatives, and I am experimenting with GPU/APU/FPGA backends.
Re: lpgl flag. ok, I'll add this back but it does sound like the flag is incorrectly named. "natives" would perhaps have been better, but, legacy, meh.
Re: "OpenBLAS", no JBLAS packages its own (suboptimal) binaries. No runtime link to lib{blas,lapack}.so.3:
ldd mikiobraun-jblas-4ee5b65/src/main/resources/lib/static/Linux/amd64/libjblas_arch_flavor.so
	linux-vdso.so.1 (0x00007fff4f98c000)
	libgfortran.so.3 => /usr/lib/x86_64-linux-gnu/libgfortran.so.3 (0x00007f371fd71000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f371f9c8000)
	libquadmath.so.0 => /usr/lib/x86_64-linux-gnu/libquadmath.so.0 (0x00007f371f78a000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f371f489000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f371f273000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f37202b0000)
~/Downloads ldd mikiobraun-jblas-4ee5b65/src/main/resources/lib/static/Linux/amd64/
libjblas_arch_flavor.so  sse3/
~/Downloads ldd mikiobraun-jblas-4ee5b65/src/main/resources/lib/static/Linux/amd64/sse3/libjblas.so
	linux-vdso.so.1 (0x00007ffff6ffc000)
	libgfortran.so.3 => /usr/lib/x86_64-linux-gnu/libgfortran.so.3 (0x00007f7d32f16000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7d32b6d000)
	libquadmath.so.0 => /usr/lib/x86_64-linux-gnu/libquadmath.so.0 (0x00007f7d3292f000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f7d3262e000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f7d32418000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f7d33bf0000)

OK, I've just pushed.
I also had a look at mllib's use of JBLAS, and, well... I really wish somebody would pay me to look and this and optimise it because it could be a lot faster by using Breeze / netlib-java consistently and a general review/performance stress of the implementation of many of the algorithms here.

I opened https://issues.apache.org/jira/browse/SPARK-5665. If you would, update the title of this PR to SPARK-5665 [DOCS] Update netlib-java documentation for example.
JBLAS is used for DoubleMatrix internally as far as I can tell. Have a look at the usages and see if you think you can propose an improvement. netlib-java also needs native code available to no? that's a different version of the same problem, involving a build profile change in the case of Spark. Still I'd rather have 1 rather than 2 libraries to deal with.

@fommil big talk, I like it! I don't think pay is on offer, but glory is. Why not try a small improvement to demonstrate?

@srowen updated title. Re: natives, absolutely not! The whole point of netlib-java is that it is a common API that is swapped at runtime for Java (never leave the JVM), Natives (self contained) or System Optimised Natives (requiring runtime lib{blas,lapack}.so.3).
I'd love to work on this, I really feel I could make a difference and I see no reason for JBLAS unless it is part of your API, but my list of projects is ever-increasing and I recently had to take on another project that I don't want because of a decision by typesafe to close down some sources that I was about to roll out to production.

My primary FOSS focus right now is getting ENSIME to 1.0 and after that I have a few private projects demanding my time.

It's not part of the API. I can't evaluate your claims but you seem pretty sure about them, but am not aware of the history why netlib-java wasn't used. I suppose these things don't change unless someone thinks they are worth changing. Will let @mengxr weigh in on the changes and ad for your presentation in the docs.

Glory, heh, yeah right. I think it'd just get me in more trouble with my wife: I already spend too much of my personal time writing FOSS.
In light of https://github.com/slick/slick/issues/1052 I really don't fell like giving any of my personal time to advancing the commercial gains of Typesafe without renumeration, perhaps @derekhenninger /  @dickwall would be able to find a funder to pay for this work, which I would be happy to do in stages.

@srowen I can guess at the history. netlib-java used to require that users compile their own natives but, inspired by JBLAS, about 2 years ago I did a big spike and beat Maven into submission to cross-build for all major platforms (and some small ones too, like the Raspberry Pi) making it super-easy for end users. At that point, I sort of feel that JBLAS has reached the end of its shelf life but I don't know what other features it offers. The release process for netlib-java is still a nightmare, thanks to OS X, but that doesn't affect you at all... it is my cross to bare.
I've done a lot of work benchmarking different BLAS/LAPACK routines (and Intel provide me with a gratis license, bless their souls, to aid with this) as well as other mathematics routines. I strongly recommend you watch my ScalaX talk to get a feel for what is behind this.
I would also like to use the same maven build process to make more natively-enhanced mathematics routines available on the JVM (with a Java fallback, always), such as the random number generators that we use extensively in the financial services / investment sector. That's typically the bottleneck in option pricing (i.e. Black-Scholes) for example.

@fommil Thanks for the update! As @srowen pointed out, MLlib still has some JBLAS code in the NNLS solver and data generators. We should be able to remove it in the next release to simplify our dependency.
Does netlib-java still need gfrotran on linux? Or is it only required when natives are called?
I would recommend removing the https://skillsmatter.com/skillscasts/5849-high-performance-linear-algebra-in-scala link from the user guide, which doesn't look like a "permanent" link. Instead, we can use the link to your slides (http://fommil.github.io/scalax14/#/). We trust that you will keep that link working. In the slides, you can put a link to the talk.
Sorry about the netlib-lgpl flag being inaccurate. I tried to use a name not attached to a particular library (netlib-java/jblas) and covers BLAS/LAPACK/ARPACK natives. We also need to warn users about the LGPL license. So it was called netlib-lgpl and it may not be worth changing it at this time.

@mengxr I'm pretty sure that talk link is supposed to be permanent. If it isn't, I'll be having words with skillsmatters! :smile: I don't have a youtube link or anything for it, they want people to sign up for it. Re: "ad" for my talk, I definitely didn't make any money out of that talk, nor will I! I lost 3 days of good contracting rate to attend ScalaX :wink:
You really want me to make that change or have I changed your mind? :smile:

@mengxr sorry, forgot to answer re: gfortran. That's needed only for natives. All is documented on the netlib-java webpage. If I get a lot of Spark traffic, I'll create a custom wiki page for them.

@mengxr "warn people about LGPL"! Ha! That old Apache FUD.

@fommil I think you're misrepresenting the nature of the LGPL issue. It is materially different from the Apache License 2, and so bundling LGPL with Apache Licensed code means downstream consumers of Spark suddenly are bound by more than the restrictions of the AL2, and that would be surprising. It's a recipe for helping people accidentally violate the license of the LGPL code that would then be included, as it sure looks like the whole thing is AL2 (or work-alike licenses).
It's out of respect for others' choice of licensing terms, which put restrictions on redistribution that an Apache project does not meet, that LGPL code can't be redistributed. Spark does not redistribute libgfortran. That's fine, the LGPL allows linking. Clearly there's no aversion to using LGPL software per se here.
(Or do you think that the LGPL permits redistribution in a derivative work on the same terms as the AL2 -- is that what you mean the "FUD" is?)
People should be aware of licenses and either comply with software's terms or not use it. As a vendor, we most certainly care quite a lot about getting it right. I can't agree that we should all bundle whatever free software we want, because you think it's only commercial software we have to worry about. I hope that people out there wouldn't disregard the terms under which I license my free software.

@fommil I didn't mean that you were advertising netlib-java. I'm only worried about the link being "permanent" or not. We put two contracts here: 1) skillsmatters won't change the talk link, 2) you won't change the slides link. I would rather keep only one,  given the fact that the talk page doesn't provide more content than what is in your slides. If later it hosts talk videos, you can simply put that link in your slides and redirect people there. Is it okay?
For gfortran, is it true that if a user has native blas/lapack installed they must have gfortran installed already? If this is true, the current statement looks good to me.

@srowen I've had a big discussion with Apache about this and it went nowhere, even though IP laywers stepped up to back up my stance. I firmly believe the Apache stance on LGPL is FUD and driven entirely by politics. In any case, my point in this particular case is that I find it truly ridiculous that Apache cared more about the LGPL than the genuine threat of distributing proprietary binaries with Spark... which somebody might do inadvertently because they "just copied all the libs that were needed for it to run on my machine"
@mengxr I'm teasing re: advertising :stuck_out_tongue: I'll update to have only one link, but it'll be a real PITA for me to update the talk slides to point to the video (the org-mode/revealjs format doesn't allow arbitrary fields in the title slide). I should probably do it anyway.
Re: gfortran... no there is absolutely no requirement for a system BLAS/LAPACK to depend on the GNU Fortran library. This is because JBLAS uses GFORTRAN-compiled binaries. I have Intel MKL and it definitely doesn't require gfortran to operate.

@mengxr btw, the talk page definitely contains more information than is in the slides. There are no voice overlays on the high resolution slides. If I had to pick one link, I'd probably prefer the video of the talk because I don't think it's possible to read the slides on their own.

@srowen btw, have you looked inside the JBLAS jars? You know there are LGPL binaries in there, right? Look for the 32 and 64 bit versions of libgfortran-3.dll in this file: http://search.maven.org/remotecontent?filepath=org/jblas/jblas/1.2.3/jblas-1.2.3.jar
unzip -l jblas-1.2.3.jar | grep fortran
   787470  2013-02-13 15:23   lib/static/Windows/x86/libgfortran-3.dll
   937472  2013-02-13 15:23   lib/static/Windows/amd64/libgfortran-3.dll

@fommil I don't agree with how you think about licenses, but it's off topic for purposes here. But it's important if you're saying the JBLAS distro contains LGPL code. Are these shims that link to libgfortran, or libgfortran itself? I had assumed it is the former, or else, why does one have to install the lib locally?

@srowen nope, it's the full LGPL thing. Those aren't the only LGPL DLLs either, there are a few others from GCC.
If you remove the JBLAS dependency, this "problem" goes away and our mutual concern for bad licenses is already taken care of in netlib-java since JNILoader is a runtime dependency (my native layers don't actually have any LGPL code in them, although they do potentially link to LGPL code at runtime).

I agree, looks like these are just for Windows, but they are separate from the jblas shims. They need to be removed since they can't be redistributed. I will make a JIRA for this. I don't know if that means it can't run on Windows but in any event it can't be left like that IMHO. Yes it's another reason to try to standardize on one framework. I don't think anyone opposes that; someone just has to investigate and do the legwork.

It's trivial work, just needs time. I'd actually really like to do it and get more involved in optimising spark, but I really can't justify it on top of other FOSS/private projects :sob:
I think the OS is irrelevant, because legally speaking it's still "distributing" whether it runs or not.

@fommil Yes. I mean that it can't be distributed at all in the Spark assembly. Spark does not literally redistribute the jblas artifacts.

The current version looks good to me. I'm going to merge it into master and branch-1.3. Thanks for the discussion about JBLAS' license. I think we should remove JBLAS from the Spark dependency.
@srowen We use JBLAS in NNLS and data generators. Those should be easy to replace. But we might also use it in examples. Let's make a JIRA to track the progress.

@mengxr NNLS is added to Breeze in this PR https://github.com/scalanlp/breeze/pull/321 once David merges it, I believe you can clean up jblas dependencies completely...

@debasish83 Thanks for the update! Please ping me when it gets merged.

Sweet! :smile:

@mengxr
I was looking into using openBLAS and found that the doc has been changed, especially on the sentence for

BLAS/LAPACK libraries on worker nodes should be built without multithreading.

Is this no longer true since Spark 1.3.0 that I don't need to build OpenBLAS with USE_THREAD=0 ?
Can you also comment on the usage on Intel MKL?

It's not needed because it's all covered in the linked netlib-java instructions. I recommend you click through.

I couldn't find any specific information with regards to this change on netlib-java instructions.
I thought there was a specific reason that we need to to build OpenBLAS that do not use as many threads as cores because of how Spark work in terms of N tasks(threads) per executor, to avoid the stampede problem?
Can one of the Spark developers comment on this?

This is an OpenBLAS problem, it's not specific to Spark.

NAVER - http://www.naver.com/
<EMAIL_ADDRESS>님께 보내신 메일 <Re: [spark] SPARK-5665 [DOCS] Update netlib-java documentation (#4448)> 이 다음과 같은 이유로 전송 실패했습니다.

받는 사람이 회원님의 메일을 수신차단 하였습니다.


fallback forward the TabCompleteRequest to backend

Seems the client side proxy won't forward the tab complete request to backend as a fallback. I'm trying to fix this. :)

Thanks for the report. This should have been fixed a long time ago.


prioritize minikube for new developers

Fixes: #35519
This PR prioritizes the documentation recommendation of minikube ahead of kind as the very first tool that new developers should use when initially learning kubernetes.
In addition, the goal is to ensure that developers have an easier time in getting started with Kubernetes by adopting minikube from the start.
We have found that kind is oriented more towards testing kubernetes rather than for application development by new software engineers.

@klaases I think this is a change that merits discussion over an issue and fielding questions over how this could be best presented rather than a direct PR. What do you think?

I agree, this should be an issue first.
/hold
/sig cluster-lifecycle

Hi @divya-mohan0209 and @sftim, sure I would be happy to create an issue first to help open up discussion and enable feedback.
Created issue: #35519

/remove-lifecycle rotten

Thanks for opening an issue to allow contributors to discuss your proposed changes.
/close


NullPointer while Trying to use the progress indicator

Copying the code from the sample app
    <com.rey.material.widget.ProgressView
        android:id="@+id/progress_wheel"
        android:layout_width="32dp"
        android:layout_height="32dp"
        app:pv_autostart = "true"
        app:pv_circular="true"
        app:pv_progressStyle="@style/CircularProgressDrawableStyle"
        app:pv_progressMode="indeterminate"/>

I tried to wrap it in a FrameLayout (just in case) like it is done in the sample app to no avail. Any idea what's going on?
and still getting this:
04-02 18:33:48.550    1670-1670/info.androidz.horoscope E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.NullPointerException
            at com.rey.material.widget.ProgressView.getProgressMode(ProgressView.java:110)
            at com.rey.material.widget.ProgressView.onAttachedToWindow(ProgressView.java:96)
            at android.view.View.dispatchAttachedToWindow(View.java:11755)
            at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2424)
            at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2424)
            at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2424)
            at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2424)
            at android.view.ViewGroup.addViewInner(ViewGroup.java:3417)
            at android.view.ViewGroup.addViewInLayout(ViewGroup.java:3354)
            at android.view.ViewGroup.addViewInLayout(ViewGroup.java:3335)
            at android.support.v4.view.ViewPager.addView(ViewPager.java:1307)
            at android.view.ViewGroup.addView(ViewGroup.java:3194)
            at android.view.ViewGroup.addView(ViewGroup.java:3170)
            at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:968)
            at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1136)
            at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)
            at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1499)
            at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:488)
            at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:163)
            at android.support.v4.view.ViewPager.populate(ViewPager.java:1073)
            at android.support.v4.view.ViewPager.populate(ViewPager.java:919)
            at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1441)
            at android.view.View.measure(View.java:15172)

Can you pls show me the CircularProgressDrawableStyle you used?

I just imported the library and copied this from your sample app.
Isn't it included in the library?

It looks like it is not... WHY?!? :)

CircularProgressDrawableStyle is the style defined in demo app. The lib has Material.Drawable.CircularProgress style for circular progress drawable.

I see now. This is quite confusing IMO...
So how circular progress should be used then?

I tried removing the style completely hoping to get the default style but it still crashes.

You can set<EMAIL_ADDRESS>for default style.
In next version, I will fix progress view constructor to pass a default style in case you don't set it.

Maybe it's too late or something but I already tried that after your previous comment and it did not work.
Here's the code I have
    <com.rey.material.widget.ProgressView
        android:id="@+id/progress_wheel"
        android:layout_width="@dimen/sign_width"
        android:layout_height="@dimen/sign_height"
        app:pv_autostart="true"
        app:pv_circular="true"
        app:cpd_strokeColor="@color/light_primary_color"
<EMAIL_ADDRESS>        app:pv_progressMode="indeterminate"/>

In ProgressView constructor codes has that check progressStyleId > 0 (the correct should be progressStyleId != 0). Maybe that cause the CircularProgressDrawable isn't created in your case. I will fixed it in next version.

Sounds good. I think you should use the default styles in the demo app which also serves kind of a test app as fas as I understand. Right now, you are not using the defaults and missing some issues such as in this case.

I have released new 1.1.0 version. Please check it.

Hey Rey,
I have
compile 'com.github.rey5137:material:1.+'

but when I sync up the project it does not pull the update lib for some reason. Did you publish it to jcenter/maven?

UPD: I manually set it up to 1.1.0 and then it did sync up. Weird... Any idea why that did not pick up the change with the 1.+ ?

The spinner does not show up now... at all...
I tried removing the style completely too (in case it interferes somehow) but it did not help.


🌱 Don't expose spec.numberOfClusters of placements

Summary
Resolves #1641.

Thanks @waltforme !

YW @pdettori !
/approve


chore: remove uneeded workflow permission

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

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


Remove BaseDataLoader2Creator

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

Comparison is base (d39085f) 100.00% compared to head (0556904) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #547   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files          319       316    -3
  Lines        10187     10116   -71
  Branches      1316      1312    -4
=========================================
- Hits         10187     10116   -71

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


Use OnAfterBackgroundSolutionLoadComplete in Solution Load sample

The Solution Load sample uses the event OnAfterOpenSolution to detect when the solution has completed loading but OnAfterBackgroundSolutionLoadComplete is the final event in the solution load flow, so it is the one that should be used.

Fixed


Rewrite DependenciesLib in C

The tool is stand alone and forces one to use the CLR.
Having the DependenciesLib in C language would make it possible to integrate the core features of the tool to virtually every implementation in every programming language under Windows.
Imagine a use case where you have a program installed and for some reason a dll went missing, it would be possible to integrate the library into the implementation and provide a detailed analysis of the issue or even further, auto correcting the issue.

Funny, I entertained the tought to rewrite everyting in C# in order to get rid of native code ! But I admit your proposition has some merit.
Anyway, I'll keep in the back of my mind, but it will be low priority

A bit being the devils' advocate here.
I get the idea of having a pure managed implementation.
Do you believe it's possible rewriting everything in .net elegantly? as usually, low level calls are flattered by a low level language. If so, it might be worth to do so and perhaps open a parallel project just for the C implementation instead of having here two projects, DependenciesLib (C) and DependenciesLibWrapper (.net).
It's worth taking into consideration that Microsoft probably won't make major changes in the API if at all in the foreseen versions of Windows, and that this software is Windows specific, so the language being used for invoking WINAPI calls is a matter of convenience.

Actually, the SxS manifest is parsed pretty elegantly via the C# XmlDocument/XPath API, which way easier to use than it's C counterpart XmlReader.
Other than that, I agree most of the features are adherent to the native Windows API and can be accessed naturally in C.

For what it's worth, I seem to remember the original depends.exe was written in C++.


feature request: don't wait for any checks

I'm using this with commits that have already passed checks, I don't want to wait for any checks to succeed, I only want to immediately push branch A to branch B once commits have been pushed to A.

I was able to find an alternate workable solution here
If this request doesn't make sense in the context of this action feel free to close.

In this case, I think using git push straight up or the ad-m/github-push-action action should do the trick, no? This action is mainly meant for pushing to protected branches where some (as yet unfinished) status checks are required to be able to push.
However, it may be that you're using other aspects of this action not available elsewhere? Like temporarily ignoring requiring reviews? The latter part can be remedied with the new protected branch settings GitHub have been introducing since this action was first created, and some other issues hint at this (#130, #191).
But I may (definitely) be missing some edge case where your use case is valid and the mixture of status checks versus GitHub protected branches falls between the cracks of what can be verified and the only solution is to use this action in place of other, more straight forward methods for pushing (at least implementation wise).
In the end, it seems there is something to be said for the workable solution you're presenting, which might be nice to document. I'm unsure exactly the context in which to document your solution, so feel free to contribute to the README or a write up here in the issue that I can add to the README, about the motivation of using the workable solution (i.e., the use case) and how to use it.


Autoprefixer and --prod flag , do not load all styles.

Please provide us with the following information:
I am compiling a Angular  2 application with --prod flag and get file style.000.bundle.js which contain
all my styles. Ass well i have added Auctoprefixer to Angular CLI and it works well. And in my style.0000.bundle.js i have all styles which added with autoprefixer however this styles are not loaded to browser, but if i do not use --prod flag everything is  working well and all styles are loading to the browser.

OS?

Windows 7, 8 or 10. Linux (which distribution). Mac OSX (Yosemite? El Capitan?)
Mac OS Capitan

Versions.

Please run ng --version. If there's nothing outputted, please run in a Terminal: node --version and paste the result here:
beta 18

Repro steps.

Was this an app that wasn't created using the CLI? What change did you do on your code? etc.
I added autoprefixer to Angular CLI

The log given by the failure.

Normally this include a stack trace and some more information.

Mention any other details that might be useful.
Does not load all styles if i am using --prod flag

Thanks! We'll be in touch soon.

How exactly did you add autoprefixer?

@filipesilva
I believe I've the same issue.
To recreate with *.21:
CSS rule in SCSS:
.card-columns--custom {
  column-width: 18rem;
  column-count: 3;
}

default (behind --dev) inlined

.card-columns--custom {
  -webkit-column-width: 18rem;
     -moz-column-width: 18rem;
          column-width: 18rem;
  -webkit-column-count: 3;
     -moz-column-count: 3;
          column-count: 3; }

production (behind --prod), bundled:

.card-columns--custom{column-width:18rem;column-count:3}

I'm using everything default that comes with CLI, touching only angular-cli settings.
Thanks!

Fixed in https://github.com/angular/angular-cli/pull/3402, but pending release.


Projectiles

Description
This PR changes the ProjectileConfigs.java file to search all of the registered modules for a projectilesConfig.json file. This allows any module to add projectiles on it's own, without having to modify the core.
Testing
This PR is testable by adding a projectilesConfig.json file with a projectile config in it to a module other than core. You can then set any gun to use that projectile in-game.
Notes
I also removed a comma from the organicEngine.json which causes the JSON parser to break on certain occasions.

Can one of the admins please verify this patch?

@GooeyHub: Add to whitelist

Hooray Jenkins reported success with all tests good!


Make FilteredMap key matching case-insensitive

Goal
FilteredMap is currently case-sensitive, making complete matching tedious. For example, to match the keys password, USER_PASSWORD, and adminPassword would require three separate filters, password, PASSWORD, and Password. Filtering becomes simpler, and less surprising, if matching is case-insensitive.
Changeset
Changed
FilteredMap#shouldFilterKey converts both the key and filter to lower case before matching.
Tests
FilteredMapTest has additional test cases.
Discussion
Alternative Approaches
None
Outstanding Questions
None
Linked issues
Fixes #152
Review

For the submitter, initial self-review:

[x] Commented on code changes inline explain the reasoning behind the approach
[x] Reviewed the test cases added for completeness and possible points for discussion
[ ] A changelog entry was added for the goal of this pull request
[x] Check the scope of the changeset - is everything in the diff required for the pull request?
This pull request is ready for:

[x] Initial review of the intended approach, not yet feature complete
[x] Structural review of the classes, functions, and properties modified
[ ] Final review

For the pull request reviewer(s), this changeset has been reviewed for:

[ ] Consistency across platforms for structures or concepts added or modified
[ ] Consistency between the changeset and the goal stated above
[ ] Internal consistency with the rest of the library - is there any overlap between existing interfaces and any which have been added?
[ ] Usage friction - is the proposed change in usage cumbersome or complicated?
[ ] Performance and complexity - are there any cases of unexpected O(n^3) when iterating, recursing, flat mapping, etc?
[ ] Concurrency concerns - if components are accessed asynchronously, what issues will arise
[ ] Thoroughness of added tests and any missing edge cases
[ ] Idiomatic use of the language

Hi @eager - thanks for the PR. We would be interested in making this configuration option capable of taking regexes. If you were interested in making a PR for this, we'd be happy to take a look.


Refactor narrow phase collision pipeline

Problem
Currently our system only allows for 1 CollidingWith which means only 1 contact can exist between 2 entities. This is troublesome when dealing with concave shapes, particularly when using a voxel collisions shape.
Solution
We should have a way to maintain multiple contacts between 2 entities, with possibly different collision normals.
Design
Relations:
CollidingWith:

remove everything, except entity, add a vector of Manifolds.

Manifold:

remove entity (it's already in the CollidingWith)

Add PenetrationConstraints:

like collidingWith, hold entity and vector of PenetrationConstraint.

PenetrationConstraint:

remove entity

Systems:
Narrow Phase:

Merge "find colliding pairs" and "collision manifolds" systems.
Start by finding if the entities are colliding. If they aren't colliding don't do anything else.
If they are colliding use the info in the Intersection struct to compute the manifold for each contact. (just replace where we used the CollidingWith)
Buildup a vector of manifolds as we're making this. (necessary in the case of the voxel shape, in the others we can just keep 1)
In the end create the collidingWith with this vector.

Penetration Constraint:

In the creation, query through those that have a CollidingWith and create all PenetrationConstraint for the PenetrationConstraints.
Then query with PenetrationConstraints and solve each PenetrationConstraint. With this we might be able to send the entities to the function in the correct order and avoid having to always check which is which.

Is this what @joaomanita will be picking up? @fallenatlas


add retry limit for excluded backoff type to avoid infinite retry

Ref: https://github.com/tikv/client-go/issues/1001
Try to add retry limit for excluded backoff type to avoid infinite retry.

/cc @crazycs520


ONTOP_MAPPING_FILE not set

Description
I'm following the database and Ontop setup example. Upon running the example code with a docker container (and any other code making use of the endpoint command), Ontop will complain ONTOP_MAPPING_FILE is not set, even if a --mapping is provided.
Steps to Reproduce
docker run ontop/ontop ontop endpoint \
    --ontology=input/ontology.ttl \
    --mapping=input/mapping.obda \
    --lenses=input/lenses.json \
    --properties=input/duckdb.properties \
    --cors-allowed-origins=http://yasgui.org # if needed

The entrypoint.sh seems to ignore whether --mapping is set.
https://github.com/ontop/ontop/blob/4572e6ba571d2ffb22b30ab4a8d02f2ce9e3e311/client/docker/entrypoint.sh#L47-L51
I recognise the docker container won't have any of the example files in it - but even when I've set it up to have access to those files, it throws and error about a missing environmental var.
Expected behaviour:
Expected the CLI to recognise the --mapping option.
Actual behaviour:

ERROR: environment variable ONTOP_MAPPING_FILE is not set

Reproduces how often:
Happens every time.
Versions
Running off the latest docker image, which looks like ontop 5.1.0.

Hi @rossbowen, thanks for reporting the issue.
To start Ontop as an endpoint, you don't need to specify a command. All the parameters can be passed as environment variables.
See for instance https://github.com/ontopic-vkg/destination-tutorial/blob/master/docker-compose.solution.yml#L19.
Best,
Benjamin


watch failed: watcher error + empty/white page

From @mo-mueller on March 13, 2017 11:16
Ionic version:  (check one with "x")
[ ] 1.x
[x] 2.x
I'm submitting a ...  (check one with "x")
[x] bug report
[ ] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:
When I run "ionic serve" on my existing project and even on a new project, I'm getting the following error:

watch failed: watcher error:
/.../src/assets/**/*,/.../src/index.html,/.../src/manifest.json,/.../src/service-worker.js,/.../node_modules/ionicons/dist/fonts/**/*,/.../node_modules/ionic-angular/fonts/**/*,/.../node_modules/ionic-angular/polyfills/polyfills.js,/.../node_modules/sw-toolbox/sw-toolbox.js:
Error: watch /.../node_modules/ionicons/dist/fonts ENOSPC

On top of that on my existing project I get only an empty page when I run "ionic serve".
Expected behavior:
"ionic serve" should not return an error and it should not give me an empty page.
Steps to reproduce:
Related code:
package.json:
{
  "name": "ionic-hello-world",
  "author": "Ionic Framework",
  "homepage": "http://ionicframework.com/",
  "private": true,
  "scripts": {
    "clean": "ionic-app-scripts clean",
    "build": "ionic-app-scripts build",
    "ionic:build": "ionic-app-scripts build",
    "ionic:serve": "ionic-app-scripts serve"
  },
  "dependencies": {
    "@angular/common": "2.4.8",
    "@angular/compiler": "2.4.8",
    "@angular/compiler-cli": "2.4.8",
    "@angular/core": "2.4.8",
    "@angular/forms": "2.4.8",
    "@angular/http": "2.4.8",
    "@angular/platform-browser": "2.4.8",
    "@angular/platform-browser-dynamic": "2.4.8",
    "@angular/platform-server": "2.4.8",
    "@ionic/cloud-angular": "^0.11.0",
    "@ionic/storage": "2.0.0",
    "@ngx-translate/core": "^6.0.0",
    "@ngx-translate/http-loader": "0.0.3",
    "ionic-angular": "2.2.0",
    "ionic-native": "2.4.1",
    "ionicons": "3.0.0",
    "rxjs": "5.0.1",
    "sw-toolbox": "3.4.0",
    "zone.js": "0.7.2"
  },
  "devDependencies": {
    "@ionic/app-scripts": "1.1.4",
    "typescript": "2.0.9"
  },
  "cordovaPlugins": [
    "cordova-plugin-whitelist",
    "cordova-plugin-console",
    "cordova-plugin-statusbar",
    "cordova-plugin-device",
    "cordova-plugin-splashscreen",
    "ionic-plugin-keyboard"
  ],
  "cordovaPlatforms": [],
  "description": "kioskapp: An Ionic project"
}

Other information:
I have installed the latest ionic version with "npm install -g cordova ionic" and on my existing project I have updated the package.json, deleted the node_modules folder and ran "npm install" again, but still the same issue. Bevor I did that my app still works, even with the watcher error. But since I have deleted the node_modules and ran "npm install" again I'm getting only a blank page. My operating system is Arch Linux.
Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
Cordova CLI: 6.5.0
Ionic Framework Version: 2.2.0
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
Ionic App Scripts Version: 1.1.4
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Linux 4.8
Node Version: v7.2.0
Xcode version: Not installed

Copied from original issue: driftyco/ionic#10755

I fix the problem using the version 1.0.0 of app scripts, I use "@ionic/app-scripts": "1.0.0" instead of "@ionic/app-scripts": "1.1.4"

the problem is the number of watches  .
I resolve with  this command  :  echo fs.inotify.max_user_watches=582222 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Yes thats how I fixed it, too. But I have to do that every time again when I have restarted the computer. Is there a way how I can do that permanently?


fix:查询触发器状态数据结构修改

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


Overwriting a file when reuploading does not seem to work

Package version

"version": "4.1.0",
"adonis-version": "4.1.0",

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
Node.js and npm version

NodeJS v10.9.0
npm 6.2.0

Sample Code (to reproduce the issue)
From documentation :

view

<form method="POST" action="upload" enctype="multipart/form-data">
  {{ csrfField() }}
  <input type="file" name="profile_pic" />
  <button type="submit"> Submit </button>
</form>

start/route

Route.post('upload', async ({ request }) => {
  const profilePic = request.file('profile_pic', {
    types: ['image'],
    size: '2mb'
  })

  await profilePic.move(Helpers.tmpPath('uploads'), {
    name: 'custom-name.jpg',
    overwrite: true
  })

  if (!profilePic.moved()) {
    return profilePic.error()
  }
  return 'File moved'
})

This 1st time you use this script, everything is going well.
When you try to upload another image to replace it, then there is an HTTP error 500: "dest already exists."

Looks like the docs has been updated before the package.
Its been added in 41b661ffee00b36c5b9ac6fa9a31e94d03a4e4aa which has not been released yet.

Released as 2.0.6


As a release engineer, I want to set up a separate feature org where I can run tests in parallel

and track how often they fail due to rock low issues. This may help us find a pattern, and have to data to contact support with.
Also, we could use this org for any future parallel tests work, without blocking the main feature org.

@jlantz should be in the CCI org, right?


Shrink a Database

Hi, could it be implemented shrink a datababase?

      -- Shrink database
      IF EXISTS(SELECT * FROM @SelectedCheckCommands WHERE CheckCommand = 'SHRINKDATABASE') AND (SYSDATETIME() < DATEADD(SECOND,@TimeLimit,@StartTime) OR @TimeLimit IS NULL)
      BEGIN
        SET @CurrentDatabaseContext = CASE WHEN SERVERPROPERTY('EngineEdition') = 5 THEN @CurrentDatabaseName ELSE 'master' END

        SET @CurrentCommandType = 'DBCC_SHRINKDATABASE'

        SET @CurrentCommand = ''
        IF @LockTimeout IS NOT NULL SET @CurrentCommand = 'SET LOCK_TIMEOUT ' + CAST(@LockTimeout * 1000 AS nvarchar) + '; '
        SET @CurrentCommand += 'DBCC SHRINKDATABASE (' + QUOTENAME(@CurrentDatabaseName)
        SET @CurrentCommand += ') WITH NO_INFOMSGS'

        EXECUTE @CurrentCommandOutput = dbo.CommandExecute @DatabaseContext = @CurrentDatabaseContext, @Command = @CurrentCommand, @CommandType = @CurrentCommandType, @Mode = 1, @DatabaseName = @CurrentDatabaseName, @LogToTable = @LogToTable, @Execute = @Execute
        SET @Error = @@ERROR
        IF @Error <> 0 SET @CurrentCommandOutput = @Error
        IF @CurrentCommandOutput <> 0 SET @ReturnCode = @CurrentCommandOutput
      END

The SQL Server Maintenance Solution does currently no have any option to shrink databases.

I am not planning to add any option to shrink databases.


Cannot clone into repository.

The git- command does not seem to work. I get errors using the syntax provided:
git clone git@github.com:Travelbacon/MMM-NLDepartureTimes.git
Cloning into 'MMM-NLDepartureTimes'...
The authenticity of host 'github.com (<IP_ADDRESS>)' can't be established.
RSA key fingerprint is SHA256XXXXXXXXXXXXXXXXXXXXXXXXXXX <-blocked for privacy
Are you sure you want to continue connecting (yes/no)? y
Please type 'yes' or 'no': yes
Warning: Permanently added 'github.com,<IP_ADDRESS>' (RSA) to the list of known hosts.
<EMAIL_ADDRESS>Permission denied (publickey).
fatal: Could not read from remote repository.
When I try: git clone git@github.com:Travelbacon/MMM-NLDepartureTimes.git
Cloning into 'MMM-NLDepartureTimes'...
Warning: Permanently added the RSA host key for IP address '<IP_ADDRESS>' to the list of known hosts.
<EMAIL_ADDRESS>Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

solved closing


Remove unneeded .js.flow file

r? @keybase/react-hackers

Wait for what exactly?

I'm not sure about this file specifically but for example I just made one for engine to stop cyclical deps. I also made one so we could type the timerhoc correctly

ah, got it.

These kind of files could cause flow not to catch errors. Because it will trust our definition and our definition could be different than what it really is.

Yeah but I'm saying we do want this sometimes
On Fri, Nov 17, 2017 at 3:50 PM Marco Munizaga<EMAIL_ADDRESS>wrote:

These kind of files could cause flow not to catch errors. Because it will
trust our definition and our definition could be different than what it
really is.
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub
https://github.com/keybase/client/pull/9596#issuecomment-345361844, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAfhU6xmWptkdE0VvMWS-T5pT-ndMQbuks5s3fGugaJpZM4QhbVX
.

Really? When?

Yeah sorry, I had read that response.
I agree sometimes a real interface is preferable, but in that case the implementation should use the interface (it does not in this case) and this should be an actual interface.


A few refactors

Viewing commits individually may be easier.

roads_per_intersection returns Vec<&Road>. It's more convenient for some callers. The others can just lookup the Vec<OriginalRoad> themselves.
Move Road and its impl into a module, just because there's enough methods there to feel like a bit more organization is nice.
Remove some of the methods used by the RawMap editor. They're for interactively dragging intersections around. I think it's noisy / irrelevant to have these methods in this repo; they don't yet batch mutations or recalculate derived things in any nice way. If we want to support this kind of operation on a streetnetwork "properly", we can bring the code back and think through it again.

The big refactor coming after this is switching to opaque IDs

Can we move Intersection into its own file too? The symmetry will help with grokking they code layout i think.

Done! I'd vote for moving IntersectionComplexity, ControlType, etc into intersection.rs too, but I won't do that yet. types.rs kind of started as a miscellaneous / catch-all/


Calendar/Agenda events suddenly show hour early in HA Calendar.

While working correct so far on version 4.8 I suddenly today noticed that all events synced with my Outlook calendar show a hour early, in my Outlook Agenda the events start at 17:00 local time what is the correct time but since today or maybe yesterday it started showing up as 16:00 in the HA calendar while this was not the case before. I not did change anything, only thing that happened is HA did sut down last night as cause of power failure, but am not sure this is the cause as the HA clock still shows the correct local time.

Assuming you are in the uk, the dates that shows in the data attribute you can see in the Developer menu are in UTC. An event that starts at 10am BST will be down as 9am UTC.  Assuming those are showing correctly then you would need to raise the issue with the core team.
There is no reason a reboot would change anything in itself. As always with these things I would ask what has been changed on the server.

Assuming you are in the uk, the dates that shows in the data attribute you can see in the Developer menu are in UTC. An event that starts at 10am BST will be down as 9am UTC. Assuming those are showing correctly then you would need to raise the issue with the core team.
There is no reason a reboot would change anything in itself. As always with these things I would ask what has been changed on the server.

I am actually in Romania, the strange things is it all was fine before, every day at 17:00 I have a meeting for work and 15 minutes in front I get a announcement through HA, today I suddenly got it at 15:45 and noticed all appointments now show at 16:00. I will invest a bit more tomorrow and will report back what I could find. Thanks for your response!

@RogerSelwyn I did have a look and actually it is totally not related to the integration. Unfortunately I also not know how to solve it, after few hours searching the cause and solution I gave up.
I did make.a seperate outlook account specifically for this integration and did subscribe to my work agenda using a ics link. While this was working perfect so far now for whatever reason the scheduled appointments show 1 hour early in the linked outlook agenda I use for this integration while in my original work agenda the appointments still show on correct time. I not made any changes on either accounts. I searched Google for any cause or solution, checked all time zone settings if are on correct time zone and all is as should be (and as was before) ... so for me is a mystery why the appointments suddenly show up a hour early on the subscribed agenda compared to original work agenda. I doubt you will have any suggestion for this but still wanted to share what was happening just in case you would have any suggestions that could solve this weird issue I have.
If you have also no idea or any tips please feel free to close this issue. Thank you!


AppVeyor - add PHP 7.x

it will fail most probably...
let us treat it as TODO

Green now :)
This should be merged on 2.11 I think.

Thank you @julienfalque.


Theme not passed as props

Hi, I',m trying to use of the theme colors within a component but the theme props is not present.
This is what i'm doing
import { Provider, Heading } from 'rebass';

const palx = require('palx');
const colors = palx('#CC1710');

const Title = props => <Heading color={props.theme.colors.base}>Hello</Heading>;

const App = props => (
  <Provider theme={{ colors }}>
    <Title />
  </Provider>);

And the error says
Uncaught TypeError: Cannot read property 'colors' of undefined
React Version 15.5.4
Rebass Version 1.0.4
Am I doing something wrong?
Thanks

Sorry, not an issue

@tafelito I am having the same issue trying to start using rebass. How did you solve this? I feel like I'm missing something simple. I have basically you're same setup.

If you wanna access the color within a styled component you do it through the props, like props.theme.colors.xxx but if you are trying to use it within a component. you just use the color code xxx, so it would be something like
Hope it helps

On Aug 27, 2017, at 07:36, Chris Carpenter<EMAIL_ADDRESS>wrote:
@tafelito I am having the same issue trying to start using rebass. How did you solve this? I feel like I'm missing something simple. I have basically you're same setup.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Ah that makes sense. I was trying props.theme.color on the component itself. I got it working thank you!


Licensing of org.opensearch.core.common.logging.LoggerMessageFormat.java

While documenting code i noticed that :
libs/core/src/main/java/org/opensearch/core/common/logging/LoggerMessageFormat.java
is an almost identical copy of :
https://github.com/qos-ch/slf4j/blob/master/slf4j-api/src/main/java/org/slf4j/helpers/MessageFormatter.java
which is under the MIT License.
It's pretty much a non-issue since, as far as i know, it's not forbidden by the MIT License. But i'm not a licensing expert.
This code have both elasticsearch and opensearch license header (both Apache 2.0)
I wanted to add this in the javadoc :
/**
 * Format string for OpenSearch log messages.
 *

 * This class is almost a copy of {@code org.slf4j.helpers.MessageFormatter}

 * The original code is licensed under the MIT License and is available at :
 * MessageFormatter.java
 *
 * @opensearch.internal
 */

but it's a little bit weird to have this in the javadoc and i'd appreciate some feedback.
Thank you.

added to https://github.com/opensearch-project/OpenSearch/pull/9976
The licensing issue in itself may or may not be a problem.

Digging into this, it looks like there was a 2010 fork of code from sfl4j that went on quite a journey from there. Kudos to GitHub for letting me walk back through the codebases, this stuff gets ugly when you can't easily skip back along file renames :)
MIT doesn't add any additional conditions to OpenSearch (for example it's on the ASF's Category A list on https://www.apache.org/legal/resolved.html), but the original source header should have been maintained to the forked files.

Okay, here's the proposed license header:
/*
 * This code is based on code from SFL4J 1.5.11
 * Copyright (c) 2004-2007 QOS.ch
 * All rights reserved.
 * SPDX-License-Identifier: MIT
 */

The original commit that introduced this was https://github.com/elastic/elasticsearch/commit/bda476eee846b674846a0ac6b3e52e11ef275365
While many files were affected then, it looks like https://github.com/opensearch-project/OpenSearch/blob/main/libs/core/src/main/java/org/opensearch/core/common/logging/LoggerMessageFormat.java is the descendant of these files today.

@ker2x/@dblock - can you get the 6 lines above added at L32  of the file please?

Thanks for PRing it @hyandell.

Nice ! thx !


Missed TAG

Hi, @avinabmalla
Error when I compile: Error ESP32_BleSerial/src/BleSerial.cpp:86:13: error: 'TAG' was not declared in this scope
It can be solved with static const char *TAG = "BleSerial";

Switched to Arduino log functions. TAG not needed anymore


Create Fintech Bootcamp Project 01 Brainstrom

.md for Project 1 Brainstorm

nice work Mate!

C'mon approve it!


How can I set so merlin supports MetaOCaml?

Is it possible to set merlin so it supports MetaOCaml syntax?

This metaocaml branch should provide basic support for MetaOCaml :). Let me know if it works as you expect.

Put a small note here for people reading this issue in the future
One needs to add EXT meta to tell merlin to enable MetaOCaml supoort


Discussion: Restore (or document how to restore) the old Device context manager behavior (pre-v10)?

Follow-up of #5705, #6867.
For downstream libraries depending on CuPy, having a context manager that respects any cudaSetDevice/cudaGetDevice calls inside or outside CuPy is useful. However, this is not possible since v10.
We are investigating this following snippet as a workaround:
@contextlib.contextmanager
def device_ctx(new_device_id):
    """
    old_device_id = cp.cuda.runtime.getDevice()
    try:
        if old_device_id != new_device_id:
            cp.cuda.runtime.setDevice(new_device_id)
        yield
    finally:
        # We should always restore the old device at exit.
        cp.cuda.runtime.setDevice(old_device_id)

For comparison this is what CuPy is currently doing:
https://github.com/cupy/cupy/blob/fc04c9445f488272c9a1b78999e4e0df15a721b5/cupy/cuda/device.pyx#L180-L191
Compare it with CuPy's ctx mgr, we solely rely on the facts that

CUDA device context has a per-thread state, so we don't need a thread-local stack.
The device_ctx is implemented such that it is stateless (which is critical when leaving the context). Each device_ctx instance keeps its own old_device_id thanks to the contextmanager decorator.

This snippet has passed CuPy's device tests. I am wondering what have we missed in CuPy earlier? I assume it is not possible for CuPy to adopt this approach given that CuPy's Device is stateful. If so, perhaps we can at least document it?

We discuss this and think this is reasonable to do.

@leofang, thanks for raising this. I had discussion with core team members and concluded it's better to revert the v9 behavior in v12.
The motivation of the change in CuPy v10 was to align the behavior with that of cupy.cuda.Stream API (#5705), which was also changed in CuPy v10 to allow per-device & per-thread stream management (#3980). At that time I thought cupy.cuda.Device API change is fine, but it seems we overlooked that Device states are shared between libraries, in contrary to the concept of "default stream" which is clsoed to each library (CuPy, PyTorch, etc.). Supporting the interoperability between libraries is obviously important requirement for us, and v9 behavior is actually better in terms of that.
FYI, PyTorch's device context manager also uses the same strategy as in CuPy v9: https://github.com/pytorch/pytorch/blob/0ac2986d3334f8f9b35ca2fa7a30c20022c26fa6/torch/cuda/init.py#L265-L289

@kmaehashi could you assign this task to me so I don't drop the ball?

@kmaehashi @emcastillo I took some time to refresh my memory and did some investigation. My understanding is that the fix is very simple, but it must be a breaking change, mainly users should get their code updated, see below.
Based on my original post, the expected semantics requires that the previous ID to not be stored as a state of the object. However, this is not possible when creating a context manager with the __enter__ and __exit__ methods of a class, as we need a way to pass this info between the methods. This rules out the single-use context manager, as defined here.
The next viable, also breaking approach is to store the previous ID and to document it as a "reusable, but not reentrant" context manager (which PyTorch also follows). What it means is that storing the created Device objects and reusing them in the subsequent code
dev0 = cp.cuda.Device(0)
dev1 = cp.cuda.Device(1)

# do arbitrary work with the same objects dev0 & dev1
with dev0:
    with dev1:
        ...

will likely be unsafe (breaking the expected semantics). Any user code must rewrite to use each instance exactly once, as if they are single-use context managers:
# always recreate the Device object
with cp.cuda.Device(0) as dev0:
    with cp.cuda.Device(1) as dev1:
        ...

This is how PyTorch got around of this awkwardness IIUC. If this is OK I'll send a PR.

Sorry for the delay here Leo, it seems I got lost track of the discussion. Isn't it insufficient to revert #5853 to meet https://github.com/cupy/cupy/issues/6965#issuecomment-1231671294?

@kmaehashi I don't remember the detail, you might be right but I don't have time to evaluate it carefully this week 😅 Perhaps you can just send a revert PR and close #7315?


Cannot see any source code

I can't see any src other than the index.mdx, am I missing something here? New to GatsbyJS

This starter uses my Gatsby theme: https://github.com/LekoArts/gatsby-themes/tree/master/themes/gatsby-theme-cara
You can learn more about Gatsby themes here 👍
https://github.com/LekoArts/gatsby-themes#-learning-gatsby-themes


Add EnvDTE namespace to those that require the main thread

Works best when combined with https://github.com/Microsoft/vs-threading/pull/300

Codecov Report

Merging #70 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #70   +/-   ##
=======================================
  Coverage   95.23%   95.23%
=======================================
  Files          12       12
  Lines         651      651
=======================================
  Hits          620      620
  Misses         31       31

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 3454a6d...6d4694f. Read the comment docs.


Generate CRUD resolvers based on the Prisma schema

It would be nice to have the option to generate CRUD resolvers based on our Prisma schema like TypeGraphQL provides!

+1, would love to see this.

There is some more recent discussion about this here: https://github.com/graphql-nexus/nexus-prisma/issues/306

@coopbri - thanks for the heads-up!


[SPARK-35375][INFRA] Use Jinja2 < 3.0.0 for Python linter dependency in GA

What changes were proposed in this pull request?

From a few hours ago, Python linter fails in GA.
The latest Jinja 3.0.0 seems to cause this failure.
https://pypi.org/project/Jinja2/
Run ./dev/lint-python
starting python compilation test...
python compilation succeeded.

starting pycodestyle test...
pycodestyle checks passed.

starting flake8 test...
flake8 checks passed.

starting mypy test...
mypy checks passed.

starting sphinx-build tests...
sphinx-build checks failed:
Running Sphinx v3.0.4
making output directory... done
[autosummary] generating autosummary for: development/contributing.rst, development/debugging.rst, development/index.rst, development/setting_ide.rst, development/testing.rst, getting_started/index.rst, getting_started/install.rst, getting_started/quickstart.ipynb, index.rst, migration_guide/index.rst, ..., reference/pyspark.ml.rst, reference/pyspark.mllib.rst, reference/pyspark.resource.rst, reference/pyspark.rst, reference/pyspark.sql.rst, reference/pyspark.ss.rst, reference/pyspark.streaming.rst, user_guide/arrow_pandas.rst, user_guide/index.rst, user_guide/python_packaging.rst

Exception occurred:
  File "/__w/spark/spark/python/docs/source/_templates/autosummary/class_with_docs.rst", line 26, in top-level template code
    {% if '__init__' in methods %}
jinja2.exceptions.UndefinedError: 'methods' is undefined
The full traceback has been saved in /tmp/sphinx-err-ypgyi75y.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!
make: *** [Makefile:20: html] Error 2

re-running make html to print full warning list:
Running Sphinx v3.0.4
making output directory... done
[autosummary] generating autosummary for: development/contributing.rst, development/debugging.rst, development/index.rst, development/setting_ide.rst, development/testing.rst, getting_started/index.rst, getting_started/install.rst, getting_started/quickstart.ipynb, index.rst, migration_guide/index.rst, ..., reference/pyspark.ml.rst, reference/pyspark.mllib.rst, reference/pyspark.resource.rst, reference/pyspark.rst, reference/pyspark.sql.rst, reference/pyspark.ss.rst, reference/pyspark.streaming.rst, user_guide/arrow_pandas.rst, user_guide/index.rst, user_guide/python_packaging.rst

Exception occurred:
  File "/__w/spark/spark/python/docs/source/_templates/autosummary/class_with_docs.rst", line 26, in top-level template code
    {% if '__init__' in methods %}
jinja2.exceptions.UndefinedError: 'methods' is undefined
The full traceback has been saved in /tmp/sphinx-err-fvtmvvwv.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!
make: *** [Makefile:20: html] Error 2
Error: Process completed with exit code 2.

Why are the changes needed?

To recover GA build.
Does this PR introduce any user-facing change?

No.
How was this patch tested?

GA.

The linter passed. Merged to master and branch-3.1

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/42931/

Test build #138409 has finished for PR 32509 at commit bfa899d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

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


[Wave 6: Drafts] Update the type declarations for Policy

Part of https://github.com/Expensify/Expensify/issues/308213
Coming from the doc here, we are going to have to update the Policy.ts with new fields.

Hi, I’m Michael (Mykhailo) from Callstack and I would like to work in this issue.

Doesn't look like anyone needs payment here. Closing!


[WIP] Extend PQN to Proximal Quasi Newton

Currently PQN can handle the following functions:
minimize f(x) + g(x)
where g(x) is a projection operator
Proximal Quasi Newton algorithms extend PQN to all Proximal operators defined in breeze.optimize.proximal.Proximal
There are two modifications to PQN:

Extend the PQN line search to include objective improvements in f(x) + g(x)
Use variants of inner quadratic optimizers. The options we are testing are ADMM and SpaRSA. We should also test FISTA.

Mark pointed to a reference to his thesis (Chapter 3) that explored similar ideas and the solver is called QNST.

Proximal quasi-Newton implementation, in the spirit of PQN, implemented in the code:
http://www.cs.ubc.ca/~schmidtm/Software/thesis.html
The method is described in Chapter 3 of the thesis:
http://www.cs.ubc.ca/~schmidtm/Documents/2010_Thesis.pdf
and book chapter:
http://suvrit.de/papers/sksChap.pdf
There are a few examples of its usage here:
http://www.cs.ubc.ca/~schmidtm/Software/QNST/examples.html

The ideas in this PR are adapted from https://github.com/yuekai/pnopt
Reference: http://arxiv.org/abs/1206.1623
I opened it up for review since I am not getting correct results yet...If @yuekai can take a pass at it it will be great.
Related files are breeze.optimize.proximal.NonlinearMinimizer and breeze.optimize.proximal.SpectralProximalGradient (SpaRSA)...

Proximal methods should go towards TFOCS/Nesterov's method and improve on top of ADMM...closing it


Remove old impl check, fix warnings

Also brings us to rustc 1.0.0-nightly (458a6a2f6 2015-01-25 21:20:37 +0000)

Not sure we should land this before rustupping Servo that far.


Cannot find all repositories when total number is more than 25

i try to get all repositories but failed when total number is more than 25 repositories. And after debug i found there is max-results parameter in request when getting response, could you grant commit code access to me or will you kindly fix it?
ex:
api/repositories/?max-results=200

Sorry for replying late, a new version(v3.0.4) has been pushed to solve this problem temporarily, you could get update notification soon.


Runner: advanced task execution logic

Is your feature request related to a problem? Please describe
I have several use cases where I would like to execute a task with more advanced logic wrapping how the task executes. Concrete examples:

A conditional on whether a task runs, based on a variable/input (noting that this could be done in a script/cmd but not in a wait)
A loop to run a task multiple times, or the same task name but with different directories/taskfiles

Describe the solution you'd like
I'm not sure what the right approach on this is, for conditionals I think there could be a basic check implemented using conditional on a task to check existence of a variable, and possibly support more advanced logic checks (string equality, etc).
For the loop not really sure what would make sense. I could see a for type syntax being useful, with some ability to change parameter/directory on each. I don't really like the potential gross yaml here.
Describe alternatives you've considered
Most things can be done via cmd with traditional script logic, but this could mean calling uds run inside of a cmd block AND not being able to leverage wait.

Also would like to see a feature that allows conditional execution of actions.  I just ran into a scenario where it would be nice to have something like:
tasks:
  - name: validate
    actions:
      - description: Validate the dummy service
        if: $SERVICE_IS_DEPLOYED
        wait:
          cluster:
            kind: Service
            name: dummy-service
            namespace: dummy-namespace

The if keyword could be used to only run the action conditionally.  Taking inspiration from github actions.  I think this is mainly helpful at the action level, but there may be some other cases where this conditional check would be nice to have at the task level.


Better organisation of output (Per File and Per TEST_CASE)

I seem to remember in the past with this plugin that the output was organized in a tree form by Test File, and when SECTION was implemented, the output was also organized per TEST_CASE within a File, with SECTION being in a sub-tree of a TEST_CASE, and TEST_CASE in a sub-tree of a file (and subSECTION in a sub-tree of a SECTION)... Can we bring this feature back?

I need to check this out. I don't remember exactly what it looked like back then.

I may also remember wrong, but I'd still like to see a tree-like structure of the output.

At the moment I see no possibility to realize this. To my understanding it is not possible to generate nested test cases. If I again enter a test case in a test case I get an exception and without this it does not seem possible to build a hierarchy which is displayed as a tree.

Not a TEST_CASE in a TEST_CASE, but SECTION and nested SECTION.

The point is, the TestModel (Eclipse) has only test cases. SECTION is treated as a test case since it has an outcome. In that context no nested test cases or SECTION are possible.


feat: Image Hotspot Creator to the market place

Purpose
We are introducing our Image Hostpot Creator application to the Contentful Market place.

@gavinmatt Could you please clarify for us what the precise problem with apps-ci-pipeline is?

@gavinmatt Could you please clarify for us what the precise problem with apps-ci-pipeline is?

Hi @surya-sudoboat! I am one of the maintainers of this repository and I'll work to try and unblock these build failures with you.
I notice in the submission there has been an additional config.yaml for the build pipeline added under the .contentful/.circleci directory, full path being .contentful/.circleci/config.yaml.
This may be causing conflicts within the platform, and the first suggestion is to completely remove the entire .circleci directory from under .contentful.

Not entirely sure, everything looks good except for the duplicate .circleci/config.yaml directory and config file. Try deleting these from the .contentful directory and we can re-run the app pipeline 👍

Thanks for your help @matthew-gordon. We will remove the respective files and raise the pr again


kubernetes: 1.7.1 -> 1.7.8

Motivation for this change
Update
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] Linux

[X] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[X] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[X] Fits CONTRIBUTING.md.

I will do an update on our kubernetes cluster and if it works, I'll merge. Btw k8s 1.8 is out, did you try it out?

@offlinehacker Sounds good. And no, I was expecting issues and figured an up-to-date 1.7 would be a good step 1 :D

FYI, I am running the tests against 1.8.0 now, maybe I will just update this PR with it.

@offlinehacker They changed some stuff with RBAC that I am unable to figure out. I believe it is mostly due to kubernetes/kubernetes#49638
I don't have much experience with K8s RBAC, so the fix may or may not be simple.
For the moment, 1.7.7 looks to work. 1.8.0 does not. I am not even sure if it is an issue with our tests or the module itself...

@offlinehacker I updated to 1.7.8, still LGTM :)

I will take a look what's with v1.8, in a meantime let's merge this, thanks :)

@offlinehacker I have no idea what happened but I think something broke the tests even for 1.7.x :)
Noticed today, wanted to give 1.8.1 another try... I am giving up on 1.8 for now, sorry...


Cherry-pick: Improve the error handling capabilities of job service

Return none zero code when job service exit with an error
Add retry when getting configs from admin server failed

Coverage remained the same at 64.424% when pulling 8a3086fff6d44261856da599eb55ce913825674b on steven-zou:pickup_none_zero_exit_fix into f31deea60a777647423d2821b0ba7a8bc633ec06 on vmware:release-1.5.0.


Dynamic route parameters

Hi,
I implemented multilevel  menu using this.
Here is my router config:
config.map([
            { route: ['', 'products'], name: 'products', moduleId: 'products' , settings: { level: 0, show: true },
            { route: ['product/:id'], name: 'SubProducts', moduleId: 'SubProducts', href: '#/product/:id/subproducts/:spid', settings: { level: -1, show: false }  },
             {route: ['product/:id/subproducts/:spid'', 'contents'],name: 'SubProducts', moduleId: 'SubProducts', nav: true, title: 'Content',
                                             href: '#/product/:id/subproducts/:spid', settings: {level: 1,  show: false }},
            { route: 'notifications', name: 'notifications', moduleId: 'notifications', nav: true, title: 'Notifications', settings: { level: 1, show: false }},
            { route: 'email', name: 'email', moduleId: 'email', nav: true, title: 'E-Mail', settings: { level: 1, show: false }}
        ]);

I want to be able to add the href parameters dymanically, is it possible?

I think we'll need some more information in order to help you with this, but the best place to get questions answered right now is not here but on gitter or stack overflow. We use github for feature and bug issues.


General: Inclusive handles

Brief description
Added ability to have inclusive handles per project.
Description
Inclusive handles changes what frameStart and frameEnd stored on entities represents. With inclusive handles they represent full range. Even when handles should not be used we need to know their value to be able know frame range.

Frame Start
Frame End
Handle Start
Handle End
Full range
Range without handles

Extend handles
1001
1100
10
10
991-1110
1001-1100

Inclusive handles
1001
1100
10
10
1001-1100
1011-1090

It requires a lot of changes when data about frames are loaded from asset and version because they need recalculations.
To keep the code simpler it was created a unified frame info which is used when frame data are loaded from asset or version document. Based on anatomy attribute handlesExtend is recalculating frame ranges. This allows to keep current code unchanded in most of cases as inclusive handles are converted into extending.
I hope I've changed all publishing and loading code where frame start and frame end are used when reading from asset and version document.
New Anatomy key handlesExtend was also added to ftrack custom attributes.
TODOs
Editorial publishing was not modified. I couldn't find out how handles are handles handled in that case. I know that editorial can create hierarchy (asset documents) where it should be stored the way project expect it so I'll need @jakubjezek001 help.
It is not properly validated if the frame range is valid.
Notes
Changing the handlesExtend during production would probably break already existing version documents.
Testing notes

Change handlesExtend to False on a project.

since that moment all frames should be recalculated

Check if frames are calculated in right way.

If handlesExtend is set to True all should work as before.

Task linked: OP-2585 Frame range with included handles

yeah, I vote for additive/subtractive handles

From my perspective it would be better ti have anatomy attribute name 'handlesInclusive' and during publishing of versions to add the attribute to version data. So if the attribute is not available - it is exclusive, and we keep backward compatibility even this is changing during a ongoing production.
Regarding editorial, only ideal plugin to dealnwith this is the global 'CollectHierarchy' and that is what you have done, so :+1:

From my perspective it would be better ti have anatomy attribute name 'handlesInclusive' and during publishing of versions to add the attribute to version data

This would mean to change code of all loaders using those data. I'm not against, but I'm not capable. That was the reason why additive/subtractive handles are handled only on asset documents in this PR.

After some extensive discussion internally, we're pausing dev on this. We believe it is an unnecessary complication at the moment, until we get a more solid usecase.


Create ID1 submission

Node Id: 7e44bada2218aaaa

Node Id: 7e44bada2218aaaa

Node Id: 7e44bada2218aaaa

Node Id: 7e44bada2218aaaa

Node ID: 0ce45240afed83c4

Node ID: 0ce45240afed83c4

Id: 7e44bada2218aaaa

Node ID: 7e44bada2218aaaa

confirmed:B1
node:7e44bada2218aaaa

confirmed:EI1

confirmed:ID1
account1:3HQ2K5ma2MG6sWZizjmqyrRAkr5fx2Ts1duKzwK8WU3NreJD2K
account2:34sE4etLnTCcHHniqLeZb6NFfFgKGsyfgBcG7j5cF5QUNq1q8n

confirmed:EI5

confirmed:EI5

confirmed:B2

confirmed:B2

confirmed:B3

confirmed:B3

confirmed:ID2
account1:32uQSGuPYkAzxjzEDioWJPgHBprwB3q4T9XZic5g6VtQg8wViz
account2:44mTuKhVRcQ9vMpGLxVg83S3BFRdPeWaARnpdCNAjsHLx5Pz2g
PublicDataAttributes:Verified
DeviceMake&Model:Verified

rejected:ID3
reason:We cannot fully verify this submission. It looks like you are trying to submit ID3, however, it seems like there are no supporting details.

rejected:ID3
reason:We cannot fully verify this submission. It looks like you are trying to submit ID3, however, it seems like there are no supporting details.

@cryptovoyagr
ID 3 task supporting details are here 152e5f6 could you please check it out

@cryptovoyagr
ID 3 task supporting details are here 152e5f6 could you please check it out

confirmed:ID3
DocumentType:verified
Nationality:verified
DeviceDetails:verified
Experience:verified
Screenshot:verified

confirmed:ID3
DocumentType:verified
Nationality:verified
DeviceDetails:verified
Experience:verified
Screenshot:verified

confirmed:ID4
AccountAddress:3ATT8kUGGed5n4KNccQENmsnddn5YnJK4CwN5ww6zQWzaoFm1c
DeviceDetails:verified

confirmed:ID4
AccountAddress:3ATT8kUGGed5n4KNccQENmsnddn5YnJK4CwN5ww6zQWzaoFm1c
DeviceDetails:verified

pending:T1
account1:3ATT8kUGGed5n4KNccQENmsnddn5YnJK4CwN5ww6zQWzaoFm1c
account2:4pL3aSHkfwU7HjPZCUi8wLqUNU91dpsPJUo6haZ3N8U7Sg2vkN
DeviceDetails:verified
Screenshot:missing
We cannot fully verify this submission. Please provide us with screenshots with all transactions.
@TO-BOwan

pending:T1
account1:3ATT8kUGGed5n4KNccQENmsnddn5YnJK4CwN5ww6zQWzaoFm1c
account2:4pL3aSHkfwU7HjPZCUi8wLqUNU91dpsPJUo6haZ3N8U7Sg2vkN
DeviceDetails:verified
Screenshot:missing
We cannot fully verify this submission. Please provide us with screenshots with all transactions.
@TO-BOwan

@cryptovoyagr I did not collect screenshots because it was not mentioned in the task submission details. Now I do not have them anymore.

@cryptovoyagr I did not collect screenshots because it was not mentioned in the task submission details. Now I do not have them anymore.

confirmed:T2
account1:3ATT8kUGGed5n4KNccQENmsnddn5YnJK4CwN5ww6zQWzaoFm1c
account2:4pL3aSHkfwU7HjPZCUi8wLqUNU91dpsPJUo6haZ3N8U7Sg2vkN

confirmed:T2
account1:3ATT8kUGGed5n4KNccQENmsnddn5YnJK4CwN5ww6zQWzaoFm1c
account2:4pL3aSHkfwU7HjPZCUi8wLqUNU91dpsPJUo6haZ3N8U7Sg2vkN

confirmed:T1
account1:3ATT8kUGGed5n4KNccQENmsnddn5YnJK4CwN5ww6zQWzaoFm1c
account2:4pL3aSHkfwU7HjPZCUi8wLqUNU91dpsPJUo6haZ3N8U7Sg2vkN
DeviceDetails:verified

confirmed:T1
account1:3ATT8kUGGed5n4KNccQENmsnddn5YnJK4CwN5ww6zQWzaoFm1c
account2:4pL3aSHkfwU7HjPZCUi8wLqUNU91dpsPJUo6haZ3N8U7Sg2vkN
DeviceDetails:verified

confirmed:B4
address:4pL3aSHkfwU7HjPZCUi8wLqUNU91dpsPJUo6haZ3N8U7Sg2vkN
baker:652

confirmed:B4
address:4pL3aSHkfwU7HjPZCUi8wLqUNU91dpsPJUo6haZ3N8U7Sg2vkN
baker:652

confirmed:T3
address:3ATT8kUGGed5n4KNccQENmsnddn5YnJK4CwN5ww6zQWzaoFm1c

confirmed:T3
address:3ATT8kUGGed5n4KNccQENmsnddn5YnJK4CwN5ww6zQWzaoFm1c

confirmed:T4
address:3ATT8kUGGed5n4KNccQENmsnddn5YnJK4CwN5ww6zQWzaoFm1c

confirmed:T4
address:3ATT8kUGGed5n4KNccQENmsnddn5YnJK4CwN5ww6zQWzaoFm1c


secure kubectl write oprations

Hi, can we have a feature on kubectl command executions which takes user confirmation before executing any write operation on the cluster?
So, if I do
kubectl delete nodes --all
It tells me that the current context is this. Continue?
So that users do not execute any write operations on a wrong cluster accidentlly.
It can be made optional if one wants to enable safe writes or not.

/kind feature

Also see https://github.com/kubernetes/kubectl/issues/1234#issuecomment-1199296638

If we built this in to kubectl, I'd want an environment variable that specifies a command to do the confirming, and built-in code unless one isn't specified.
I have a similar thing I use locally, not specific to kubectl:
confirm ()
{
    args=("$@");
    getconfirm-pinentry "$( printf "%q " "${args[@]}" )" && "$@"
}

Example usage: confirm kubectl delete namespace production (which will give me a GUI prompt and a button to click if I think I'm sure). It'd be nice to let people integrate with this kind of existing tooling.

@carlory, is this in production? how do I use this feature?

It has been enabled by default by 1.29 and upwards

ack, thanks all.


Make build doesn't build the right binary in /build/bin/ for OSX

As an example when running make build in engine on OSX, the build/bin/srcd binary doesn't work as it corresponds to the binary for linux.
I'm wondering whether https://github.com/src-d/ci/blob/v1/Makefile.main#L28 and https://github.com/src-d/ci/blob/v1/Makefile.main#L29 should actually be "{{.Client.Os}}" and "{{.Client.Os}}" respectively.

I think this is actually expected, since build/bin is the one used for the Docker container, but maybe it would be better to just not generate it and improve the Docker build logic.

from a user point of view, it isn't really expected at all.
You run make build which generates binaries (no docker!) and ./build/bin/command doesn't work.
I stumbled on it few times myself.
It also causes additional logic in scripts that operate with results of make build. Scripts can't just use  build/bin/.... Each time they have to check the operation system and choose directory according to it.

@smacker So would you suggest to use build/bin/command for the host platform or to not use it at all?

I expect the binary in build/bin/ to work after I run make build.
Current behaviour is unexpected:
smacker in ~/go/src/github.com/src-d/lookout on master [$]
$ make build
Linking matching OS/Arch binaries to build/bin folder
smacker in ~/go/src/github.com/src-d/lookout on master [$]
$ ./build/bin/lookoutd
-bash: ./build/bin/lookoutd: cannot execute binary file: Exec format error

Most of our Dockerfile expect to find the binary as build/bin/${COMMAND}.
I find useful to leave the binary for the docker image in a place where it can be found or reconsider how we build them (we also have projects building its binaries without this src-d/ci).
Would be an alternative the following?

modify current build as @smacker and @se7entyse7en suggest, so OS user would find the binary under /build/bin, as expected,
create a new target in Makefile.main, to build the binaries for dockerbuild-docker:
    for command in $(COMMANDS); do \
        NBIN=`basename $${command}` ; \
        mkdir -p $(BUILD_PATH)/docker; \
        $(GO_BUILD_ENV) GOOS=$(DOCKER_OS) GOARCH=$(DOCKER_ARCH) \
            $(GOBUILD) -o "$(BUILD_PATH)/docker/$${NBIN}" ./$${command}; \
    done

in our Dockerfile, add a new layer over the current COPY one:RUN make build-docker
COPY ./build/docker/* /bin

I think this is the approach that gitbase took.
I'd also wonder if build target should build only for host machine, and build for all distros when using packages target.


merge from arlac77/template-github,arlac77/template-kronos-module

.github/workflows/ci.yml

chore(github): merge from template .github/workflows/ci.yml

Codecov Report

Merging #1319 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master     #1319   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            1         1
  Lines           28        28
  Branches         1         1
=========================================
  Hits            28        28

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 5eff9d1...0d803dd. Read the comment docs.


Improve parallel job configuration

Use DIST_EXTRA_CONFIG env var to configure setuptools to use parallel builds in build_ext. This speeds up compilation of packages such as Cython.
Apply package env variables last. Package configuration can now override variables like MAX_JOBS.

On my test system, the change speeds up Cython-3.0.11-0-cp311-cp311-linux_x86_64.whl build from 2:42 to 0:57.


Automator: update proxy@master in istio/istio@master

Generated by Automator - 2024-10-11T14:43:10+00:00

@istio-testing: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests_istio
618f8cc753ab299c26c76d66b34162e30fb9f069
link
true
/test unit-tests

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

/retest


Expose way to manipulate generated staticwebapp.config.json?

Currently there's no way to adjust the config of the static web app because the adapter handles it, but it would be useful to modify the configuration (for example, to add global response headers).

I see this is actually a dupe of #1, whoops :)


[5.4] Support setting an Eloquent model as an attribute

This just adds a little bit of "syntax sugar" in a way, that when setting an Eloquent model on an attribute it automatically assigns the attribute as the primary key. It's subtle, but it just avoids the repetitive ->id or ->getKey()
$user = App\User::first();

$post = new App\Post(['user_id' => $user]);

$post->user_id = $user;

$post->save();

Nice feature 😄
Won't it break usecases where you have an json column and want to serialize the model? For example:
$user = App\User::first();

$order = new App\Order;
$order->customer = $user; // Customer is a json column, so I really want it to be stored as json
$oder->save();

Not sure if anyone is doing this however IMO we should target master instead of changing this on a point release.

Nice feature and it's a safe implementation since even if the column is jsoncastable it will cast it afterwards anyway.

By the time it gets to JSON casting the value would have already been set to the key. Perhaps I should move this check until after JSON casting.

Yes, it''s better now since you'll set the key value just once instead of overwriting it like before 👍

For some reason this seems wrong to me, and would confuse any developer who wasn't aware of the feature.
I would personally read this code and think "Why does this work?".
It seems like a great convenience, but maybe I'm wrong in thinking you should just be setting values normally to describe what is actually taking place.

@dwightwatson well, it looks a bit confusing to be honest and I agree with @stevebauman .

Going to just hold off on this.


[tudou] possible bug in playlist support

Hi,
When I want to download only the first video from a playlist I use --playlist-end 1 parameter but it doesn't work properly with tudou videos. Youtube-dl does download only the first video but prior to that it fetches metadata for all videos:
C:\WINDOWS\system32>youtube-dl --verbose --playlist-start 1 --playlist-end 1 http://www.tudou.com/programs/view/ArQIeOFHpSE/
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['--verbose', '--playlist-start', '1', '--playlist-end', '1', 'http://www.tudou.com/programs/view/ArQIeOFHpSE/']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2016.03.14
[debug] Python version 3.5.1 - Windows-10-10.0.10586-SP0
[debug] exe versions: ffmpeg N-78358-g674cc26, ffprobe N-78358-g674cc26
[debug] Proxy map: {}
[tudou] ArQIeOFHpSE: Downloading JSON metadata
[tudou] ArQIeOFHpSE: found 69 parts
[tudou] 325233523: Opening the info XML page
[tudou] 325233524: Opening the info XML page
[tudou] 325233525: Opening the info XML page
[tudou] 325233526: Opening the info XML page
[tudou] 325233527: Opening the info XML page
...
...
[69 requests which is quite a bit]

Could you fix that please if this is a bug?
Thanks

This will be fixed in the next version. By the way, you can use --playlist-item in this case:
youtube-dl --verbose --playlist-item 1 http://www.tudou.com/programs/view/ArQIeOFHpSE/

Thanks a lot!


如何彻底卸载 Apple Intelligence呢？

Additional Information
试用后感觉不是很好用，占用4.4G的空间，如何彻底卸载Apple Intelligence？

Basically, this is out of scope of the repo. And I do not know and is not responsible for such answer.
If you want to restore to previous/default eligibility status for Apple Intelligence, you can follow the uninstall step in README.md.
For removing the Apple Intelligence model data, you can search it on Internet or ask in Apple forums. eg. https://discussions.apple.com

Search it for you:
Just turn off the Apple Intelligence option in Setting, and the OS will auto delete it after one week. Or if you are eager, you can just do a clear OS install.

Source: https://www.reddit.com/r/ios18beta/comments/1ftpmch/how_i_can_remove_apple_intelligence_data/


dattreact: DB: Store user's auth information - name and mnemonic

Addressed in: https://github.com/dattnetwork/datt/commit/7a81cf1fb55b2b0c07ad5f38d9dc6ba8a9e19825
...however, when you make a new user, it still doesn't actually save it to the db.

Closed by 2c7f7351e99bef73961f2846cce4fa0cc86a1aba


perf: don't do an exact count by default in vectorizer_queue_pending

Previously, we counted every row in the queue in ai.vectorizer_queue_pending, which could be very slow for large queues. Now, we limit 1000 by default and add an exact_count bool parameter, which can be used to get an exact count if desired.

What is the implication of such a change? Can this be considered as a breaking change for vectorizer_queue_pending in terms of functionality (not in function signature)?

I went back and forth on whether or not its a breaking change. I guess, technically, it is since you'd need to change your code to get the original behavior.

Added a ! to the commit message

We would need to update the docs, for instance https://github.com/timescale/pgai/blob/main/docs/vectorizer-api-reference.md#aivectorizer_queue_pending-function

Added a ! to the commit message

You should change the PR title as it will be used as commit message in this case.

ew. ok. done


Feature/update label

What
Update the version of label to 0.11.1
Update the example to show how one label module can be used with the modules.
Why
Allows passing the label module context into the VPC module, also adds all other current label module variables.

@osterman can you check in on this?

@Jamie-BitFlight could you please address the comments

This is pretty old, includes a number of conflicts, and contributor isn't responding. Closing out!


Can't Create Regional Newspaper

I am the founder of the region "The Continent of RidderDe", but for some odd reason I cannot create a newspaper for my region. I would appreciate if this issue could be fixed.

Yes, I'm having the same issue. SUPER annoying!


Allow use of local C SDK build

As it stands the cmake setup requres the C SDK to be installed on the system's default paths. It would be better to be able to point an environment variable at an instance of the SDK anywhere on the filesystem. Eg, CSDK_DIR

Closed #7


Fix CSS

modified:   dist/themes/default/style.css

The CSS file is generated from the .less files - if you want to change anything - change the .less files. Also keeping in mid your optimizations are size related - maybe you should simply use the style.min.css file?

background: linear-gradient(to bottom, #beebff 0%, #a8e4ff 100%);

background: linear-gradient(top bottom, #beebff 0%, #a8e4ff 100%);

Thanks for spotting this - I will fix the box-shadow in the next commit and I will get rid of the outdated prefixes. As for the linear-gradient - to bottom is perfectly valid but once again - I will remove the prefixed versions.


Feature/web optimization updates

Removed previous inline implementation of image dimension attributes.
Invalid HTML - this need absolute values
👍


Fix Blaze effect (#4021)

Fixed Blaze effect by replacing "not" with "all", in the predicate.

This is my first PR here, let me know if I'm doing anything wrong.
Fixes: #4021


tesla_auth not working

After I put the tesla_auth exec in usr/sbin and ran it with debug, I got this output:
"DEBUG [tesla_auth] Opening https://auth.tesla.com/oauth2/v3/authorize?response_type=code&client_id=ownerapi&state=VLIec3u_cwFwfBwNqx64Wg&code_challenge=ZqInBtaFTozJb6PtcBOh9L9VhOIPvtYqM75zMLZ_KGQ&code_challenge_method=S256&redirect_uri=https%3A%2F%2Fauth.tesla.com%2Fvoid%2Fcallback&scope=openid+email+offline_access ...
(process:20614): GLib-GIO-WARNING **: 09:58:59.304: ../../../gio/gtlsconnection.c:429: invalid property id 12 for "protocol-version" of type 'GParamEnum' in 'GTlsClientConnectionGnutls'
(process:20614): GLib-GIO-WARNING **: 09:58:59.305: ../../../gio/gtlsconnection.c:429: invalid property id 13 for "ciphersuite-name" of type 'GParamString' in 'GTlsClientConnectionGnutls'
DEBUG [tesla_auth] URL changed: about:blank." Also, in the gui that was generated, it said "could not parse http response."
If it helps, I am using a Acer Spin 11 chromebook with chrome os, and I installed the linux terminal as debian bookworm.
Please help me with this issue.

Sorry, I don't have a Chromebook to reproduce this.


Can't tell Dependabot to ignore an individual package if running grouped beta

Is there an existing issue for this?

[X] I have searched the existing issues

Package ecosystem
npm
Package manager version
npm 9.7.1
Language version
node 18.16.1
Manifest location and content before the Dependabot update
n/a
dependabot.yml content
version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    target-branch: "main"
    versioning-strategy: increase
    open-pull-requests-limit: 30
    schedule:
      # Check for updates to GitHub Actions every weekday
      interval: "daily"
      time: "08:30"
      timezone: "America/New_York"
    groups:
      storybook:
        patterns:
          - "storybook"
          - "@storybook/*"
          - "@etchteam/storybook*"

Updated dependency
storybook
What you expected to see, versus what you actually saw
Really, storybook is just an example. let's say we wanted to ignore a patch version of it. We no longer can using grouped beta as you can't just "close" the PR like you can with individual. It would be nice to have a @dependabot command to ignore a specific package and have it removed from the PR.
Native package manager behavior
No response
Images of the diff or a link to the PR, issue, or logs
No response
Smallest manifest that reproduces the issue
No response

I was just about to add grouped updates to one of my repos only to realize I won't be able to merge one of the groups for the foreseeable future.
There's a bug in the current version of jest's bundled typescript types when used with the latest @types/jest package. The bug has been fixed in jest for a few months, but a new release hasn't been made yet. Until then I need to ignore all updates to @types/jest since the build will always fail, but I do want everything else in the group to continue to be updated.
Adding an exclude pattern argument to @dependabot recreate and/or @dependabot rebase would be really helpful. At a high level it would take whatever pattern is passed in and append it to the list from in dependabot.yml for that group, then recreate or rebase. That would let me comment @dependabot recreate exclude:@types/jest on the jest group PR until a new release is published and the build passes.

Hi there is an exclude-patterns key available!
You should be able to do something along the lines of:
version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
    groups:
      typed:
        patterns:
          - "@types/*"
        exclude-patterns:
          - "@types/jest"

I'll update our documentation to include information about exclude patterns.

Our documentation does include a section on exclude-patterns now
https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#groups

closing older ticket of mine -> dependabot team fixed this one a while ago


Error with $HOME in volume path

Starting up on portainer, I get an issue with the volumes not processing properly. I mapped /config to a docker volume and /output and /watch both have absolute paths, but mapping /storage to $HOME gave me the below error on container startup:
Failure create $HOME: "$HOME" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intended to pass a host directory, use absolute path

I was able to make it work by passing /root but I wanted to ask for a clarification on the recommended docker command so that it's clearer for new users

Using $HOME may be suitable for people creating the container from the command line.  But when using Portainer, you definitely needs to adjust the path to your need, without using $HOME.
Note that you don't need to map /storage if you don't need it.

Closing this issue.  Please re-open if needed.


Please make clear that .cache/pipenv/ is created when initialising pipenv.

One of the reasons why virtualenvs are so valuable is that everything related to the created env is contained in the single specified folder. There are no silently created folder outside of it.
Is it possible to specify that the auxiliary folder .cache/pipenv/ is created each time a new pipenv is created?
Thanks

Like pip, pipenv creates a cache for the things it downloads.  This is a standard practice and creating it inside the virtualenv itself would defeat the purpose.  The cache is global because it allows global sharing of previously downloaded artifacts.
I am not aware of other software that alerts you to its creation of appdirs such as ~/.cache subdirectories.  Pipenv works fine without this and doesn't claim to never create anything outside the virtualenv.  If there was some problem this caused for you that you'd like addressed I'd invite you to open another issue on that subject, but I am going to close this one for now since we already display a substantial amount of text upon environment creation
Thanks for the report