glabrous 0.2 requires outdated aeson

aeson-<IP_ADDRESS> (Adam Bergmark<EMAIL_ADDRESS>@bergmark) is out of bounds for:

[ ] glabrous-0.2.0 (>=0.11.2 && < 0.12). Michel Boucey<EMAIL_ADDRESS>@MichelBoucey. @MichelBoucey

aeson-pretty-0.8.2 (Joey Eremondi<EMAIL_ADDRESS>@JoeyEremondi) is out of bounds for:

[ ] glabrous-0.2.0 (>=0.7.2 && < 0.8). Michel Boucey<EMAIL_ADDRESS>@MichelBoucey. @MichelBoucey

But bounds are ok for LTS-6.1 build plan, isn't it? Well... certainly not for nightly builds. I'm gonna remove upper bounds for those two packages. I thought you wrote somewhere that it is better for Stackage to not put upper bounds (I just did to add upper bounds because of cabal gen-bounds)... Am I wrong? But I saw in your repos that there is upper bounds. Is there a means to check the correctness of build plans till latest ones? Or just by trying?

I get crucified for anything I say about presence or absence of upper bounds, so I'll hold off on commenting. Stackage itself does not require bounds, but respects them if present.
The best way to check bounds automatically is via Travis. The standard Travis complex config from Stack (https://raw.githubusercontent.com/commercialhaskell/stack/master/doc/travis-complex.yml and https://docs.haskellstack.org/en/stable/travis_ci/) will build against:

Multiple LTSes
The current nightly
On both Linux and OS X
And do dep solving with cabal

So it's a pretty good stress test that your bounds are working for lots of cases. If you simply leave off the bounds, you'll never get bounds errors from Stack, but you may get compile errors instead.

That's what I had understood: no upper bounds, no Stack errors but possible futur build failures... So trying automatically with Travis. My travis config is too light. Thanks for Travis references... I'm gonna sove this issue...

Stackage itself does not require bounds

Putting my Hackage Trustee hat on: While technically true, Hackage's guidelines expect packages uploaded to Hackage to follow the PVP, see also this FAQ entry.

My 2 cents: it is convenient for your users if your packages are able to build against the latest versions of all dependencies.
If you put upper bounds on your package, then we at Stackage will alert you when those upper bounds are "too low" and do not accommodate the latest version of any given dependency. This gives you the opportunity to make your package "human certified" that it works with the new version.
If you don't put upper bounds on your package, then we at Stackage will only alert you when a dependency upgrade causes a build or test suite failure. (We will alert you of this sort of thing in either scenario.)
I consider upper bounds to be good practice for maintainers with packages on stackage, as long as they are able to respond promptly to the alerts.

@hvr I already mentioned you above:

I get crucified for anything I say about presence or absence of upper bounds

Please stop following me around Github and taking every chance to make a speech about the PVP. I've heard them, and they're a waste of my time. If you want to give the speech to others individually, I don't care, let them be the judges of whether they want to ask you to stop. But I'm officially, and as clearly as possible, asking you to stop doing this.

@snoyberg I'm sorry if you feel "crucified" by what was merely meant as a succinct clarification of how Hackage policy relates to Stackage policy, and moreover this was mostly directed at those who aren't aware of that relationship yet (in other words, you aren't my target audience).

Having unrelated issues filled with the same discussions constantly wastes
my time and makes it harder to deal with the issue at hand. If someone else
is your target audience, talk to them. I'm asking you to take the rhetoric
away from me.
On Wed, Dec 14, 2016, 8:49 PM Herbert Valerio Riedel <
<EMAIL_ADDRESS>wrote:

@snoyberg https://github.com/snoyberg I'm sorry if you feel "crucified"
by what was merely meant as a succinct clarification of how Hackage policy
relates to Stackage policy, and moreover this was mostly directed at those
who aren't aware of that relationship yet (in other words, you aren't my
target audience).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/fpco/stackage/issues/2135#issuecomment-267120631, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AADBB_Yk26ByC5qfjJxTr5NhMvhrLRuPks5rIDo-gaJpZM4LMnG7
.

@snoyberg I would, but it's far more efficient to clarify incomplete information right at the source before it spreads, than having to contact each single package author individually, which would end up becoming a full-time job or rather a fool's errant...

Everyone. We know this is a problem. We have begun a process to try to get it resolved in a constructive way at https://github.com/haskell/ecosystem-proposals/pull/1.
These kinds of conversations do not help, when they cover ground that has been covered many times before.

It's seems obvious to me, and I'm sure for everyone too, that upper bounds should be set, but I think we are taking about the "Upper Cabal Hell", and it is just easier for me to leave open upper bounds (it is also a good thing to ease build process to not discourage developpers by not putting upper bounds) . If an issue occur, as Dan said, I will just respond present! And if my packages becomes much popular, I will harden them.
This time I have 1°/ removed upper bounds (@hvr: I will try again to put upper bounds next time, I swear), 2°/ used the complex Travis config file to test much more build variants and it is much better now. It seems to me necessary and sufficient...
(I try to do my best to learn and use this gem, Haskell, but all of you do much more than me and have a same goal which is to build a better Haskell ecosystem, isn't it? You are just trying to open different tracks : don't flame.)

@MichelBoucey Thanks. I think in the current state of the ecosystem adding pvp-bounds: both and being responsive to reports is the best we as a community can expect. And of course the complex travis build file.

@MichelBoucey Looks like this is resolved, thanks! New version of glabrous will be included in the next nightly.

@snoyberg Thanks.
@alanz I said I will give a try to pvp-bounds: both because I don't know yet its effects.

@snoyberg @hvr @alanz @DanBurton
I just released all my packages which are now PVP compliant and tested against complex Travis config. I have made bounderies as lower and upper as possible.

@MichelBoucey FYI, the newest glabrous release introduced upper bounds on hspec, which you're about to get an issue filed about most likely.

@snoyberg My .cabal was rewritten (during stack sdist)  by pvp-bounds: both which I have just added to my stack.yml... there was no bounds in test-suite packages. Is it possible to generate the .cabal before sdist to not have surprising rewritings?

I don't believe so, you'd have to stack sdist, grab the .cabal file, and
move on from there.
On Wed, Jan 4, 2017 at 5:31 PM, Michel Boucey<EMAIL_ADDRESS>wrote:

@snoyberg https://github.com/snoyberg My .cabal was rewritten (during
stack sdist) by pvp-bounds: both which I have just added to my
stack.yml... there was no bounds in test-suite packages. Is it possible to
generate the .cabal before sdist to not have surprising rewritings?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/fpco/stackage/issues/2135#issuecomment-270399018, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AADBBw0oDf8LfEkkm_MI0rBaiACmHBKhks5rO7tTgaJpZM4LMnG7
.

@snoyberg I think it would be good... but okay.
Best wishes for 2017.


Bug/group

fixed problem with any (by updating state)
add context to switcher properties
cleaned up tests
increased get parent performance
back to 100% coverage
dont use different stamp type for initial render (type ics)

Coverage increased (+0.2%) to 100.0% when pulling c3fb08fa87611afb520fd3a98f40b1a465b4ac36 on bug/group into 7eb9404a4edafb7a9f6b4c43e1f4e7da2f11b252 on master.


Could I install the ROCm project from source?

Hi! I want to make some changes in ROCm src, so I want to manually install all necessary components of ROCm from source code. However, I don't know which components are necessary for ROCm and some components don't have install tutorials. In addition, I cannot successfully install some components like HIP, because it shows it lacks some dependencies in CMake step, and I guess it is because I haven't installed some other components in ROCm. Could anyone have met the same problem? or have any experience in installing the whole ROCm project? Thanks!

I uploaded some building scripts for ROCm-4.0.
https://github.com/xuhuisheng/rocm-build/

Hi @ShuoleiWang
Thanks for reaching us out.
We are already working on stabilizing the process for building ROCm components smoothly, please stay tuned for the updates.
Thank you.

Hi @ShuoleiWang
Thanks for reaching us out.
We are already working on stabilizing the process for building ROCm components smoothly, please stay tuned for the updates.
Thank you.

Duplicate of #1188
Request to follow #1188
Thank you.


Is the project dead?

Last push date is 5 years ago! Is the project dead?

Does it need to be active? The project has a well defined goal, to implement the glsl standard in javascript. It's done that. Has there been an oversight in the implementation, or has there been an update to the glsl standard?

Good catch! Project sunsetting is underway (see #19 for details), but your math is still sharp two years later. Thanks for checking in!


Added a free course for Android Development

This course is on Udacity and is taught by Google Developer.
Hacktoberfest notes:

due to volume of submissions, we may not be able to review PRs that do not pass tests and do not have informative titles.
please read our contributing guidelines
be sure to check the output of Travis-CI for linter errors
if this is your first open source contribution, make sure it's not your last!

What does this PR do?
Add Resource
For resources
Description
This is the course for Android Development.
Why is this valuable (or not)?
This course is taught by google developers who made android.
How do we know it's really free?
It is on the Udacity website and it's a course. Courses are free on Udacity.
For book lists, is it a book? For course lists, is it a course? etc.
It is a course.
Checklist:

[x] Not a duplicate
[x] Included author(s) if appropriate
[x] Lists are in alphabetical order
[x] Needed indications added (PDF, access notes, under construction)

Thanks, and welcome to free-programming-books!


Sample app: NFT integration

A sample app that checks for NFT ownership and changes behavior based on that

Hi Alex.
we need more data about it because we are confused
what kind of problem do you want to solve with this app?

hey @ZERO-PHC, great question! this needs more clarification. The idea is the following:

there is an existing NFT in the market that users can acquire
there is a Flow dapp that users can log in to
if the logged in user owns an NFT that is supported, the app enables specific features (this functionality is where we wanted a sample)

The main problem we want to solve for developers is: how to provide utility for NFT ownership. One real world implementation of this concept is Web3Wear. If you own one of the NFTs, you can order swag. Another example is mentioned in the Next Steps section of the Kitty Items tutorial
Does that input help? I'm happy to jam on this and/or write up more details.

@alxflw I haven't noticed any updates so far, but we have worked on a project last month for a hackathon, and I think there may be some opportunities here to expand the eco-system to flow as one of our roadmap. Here's our pitch deck and video demo. We can address the followings:

proving NFT ownership which is our core feature aka Profile in our context.
Profile expands to trust and other potential use cases as mentioned in our demo.
live feed and monitoring on NFT transfer and activities

We will love to follow up and get your input. I know this is on the wishlist, and we are new to FLOW and looking forward to join the journey. We wonder if this could be converted to a RFP and Grant application moving forward. Appreciate your input and feedback. Thanks.


About the scripts.

Hi, thank you for your great job, which is very inspiring to me.
I wonder if the inference scripts are ready now? I would like to have a try on your models.

Hi,
Apologies for the delay, we'll upload the the inferences tutorial within a week.

Hi,
Apologies for the delay, we'll upload the the inferences tutorial within a week.

Thank you very much for your reply!

Hi, would you please remind me if the scripts are updated? Thank you very much!

Thanks for your patient. We have updated the base with inference instructions. Let us know if you have any further questions.


release binaries missing for 1.5.1 and 1.5.2

Cisco's OpenH264 FAQ refers to the RELEASES file in the main directory of the openh264 github repository at https://github.com/cisco/openh264/blob/master/RELEASES for the binary modules for downloading to users.
However, there are no binaries available for the 1.5.1 and 1.5.2 releases listed in this file.
Since the 1.5.1 branch has some very important (post 1.5.0) security fixes I'm wondering if and when the according binaries will be available.

@nfedera good question I was wondering the same. I search for the 1.5.1 and 1.5.2 binaries as well and couldn't find them.

Thanks for your support on openh264. The differences between 1.5.x and 1.5 are some security fixes for GMP plugin. The provided binary files do not include the GMP plugin so we will not provide binary files for version 1.5.x

@HaiboZhu hmm, thanks but I don't really see how e.g. commit 9e75838c8638c48a32b15c73c9da7b1fe942fd5f is related to the GMP plugin.

Hi, why no make a tag release, is very confuse...

Hi, we didn't release the v1.5.1, v1.5.2 and v1.5.3 for some reasons. Now the new release v1.6 has been published and we will make the release process more formal. Thank you for all your supports on openh264 project.


When using [AllowNesting] on nested serialized objects, the default lists unfolding is not drawing a proper rect

Let's say I have this structure
SerializedClass1
{
bool show;
[ShowIf("show")]
[AllowNesting]
public SerializedClass2 serializedClass2
}
SerializedClass2
{
public string string1;
public string string2;
public string string3;
}
When serialized class 2 unfolds in the inspector, the rect is not drawn properly and fields overlap with the ones bellow.
Tested on Unity 2020.2.1f1

This indeed is a bug. I don't get why my other test cases with nesting work. This is not that different, it's even simpler. I am looking at it now

This indeed is a bug. I don't get why my other test cases with nesting work. This is not that different, it's even simpler. I am looking at it now

Fixed in the v2 branch - 0183cca6c6dcac9dcf193e3634b5cb3025f371a1

Fixed in the v2 branch - 0183cca6c6dcac9dcf193e3634b5cb3025f371a1


Pick existing asset and subset

Goal
Reduce duplicate subsets and increase confidence when creating new versions of existing assets.
Motivation
At the moment, the asset and subset published to is chosen via the Creator.

A warning is produced if the chosen asset does not exist, but so far no indication is made about subset. (see #179)
Implementation
Provide a drop-down menu alongside the Asset and Subset text fields, listing available assets and subsets of the chosen asset.
This could later then act to fill in any additional values added to the creator dialog, such as tags (#154) and membership of nodes.

Picking the asset
How about making the asset field read only and adding a "search" button next to it that would pop up the asset widget? For example, popping up something like this:

It might be slightly slower for the user than typing directly in the field (if you know the exact name of the asset) but it would be a lot clearer in most scenarios?
Picking the subset
This could have an autocompletion set up for subsets that might already exist, e.g. as you type it might recommend already existing ones. Then it could be color coded to identify whether you're defining a new subset or it's an already existing one.
Another thing noted about this field is that it might want to have some "default recommendations" as discussed here: https://gitter.im/mindbender-pipeline/Lobby?at=594d005bc101bc4e3a11b43d
This would mean the creator would be able to define multiple subset defaults that it could recommend an artist to use. An example of default recommendations can be seen in our (Colorbleed) old pipeline in this image:

Also note in this image the extra use of icons and descriptions for the creators, which could be an additional issue of its own.

Picking subsets (with recommended defaults)

Also, here's a mockup over that last image (visually it might be complicated to implement like this, but it's to showcase the overall idea).  The unused subsets would be recommended defaults that are not used yet, the exists ones would be those that were already created.
By default on a new asset those would all be grey, since they are all unused. If publishing an asset with a non-default recommended subset it would just show up next time in that list for that asset as one of the already existing ones.

Note that for a Shot this list could grow large, because it could have many published characters. As such on the right side under subsets it could show villain01, villain02, villain03, etc all with the "exists" labeling.

All good ideas.
Here's how I would recommend we tackle this; as individual PRs, in this order:

Phase 1, the user types the name of a subset and a check is made after a second or so, leaving a message at the bottom of the UI like it does for the asset
Phase 2, autocompletion in the text-box, we can easily do a database query for available members and populate autocompletion with it. There is a built-in widget for just such an occasion.
Phase 3, a search icon is added to the text field that, once clicked, brings up a more elaborate window in which the user can search and filter his choice more delicately.

Once we've gotten to phase 1, I'd expect us to get more clarity on whether auto-completion would help, and if so get clarification that it is indeed useful and not a wasted effort. At phase 2 I'd imagine it would become clear whether there is a need for more control and what exactly is missing from the existing type + autocomplete functionality.

Phase 1, the user types the name of a subset and a check is made after a second or so, leaving a message at the bottom of the UI like it does for the asset

What kind of message would you expect when the subset does not exists yet or when it already does?

You are creating a new subset or New subset 'modelHigh'
You are working on an existing subset or Subset already exists

Give the existing subsets?
I do understand the needto inform the user about the existing subsets, it will let the user know he or she will create a new version of subset modelHigh or an entire new subset. Wouldn't it be better to ensure the user can pick the subset if it already exists? With pick I mean use a combo box or list view to bring the options to the user and of course with the feature to create a new one ;)
Better to know what you got

Phase 2, autocompletion in the text-box, we can easily do a database query for available members and populate autocompletion with it. There is a built-in widget for just such an occasion.

If this is going to be the case it might be a better idea to query all subsets of the asset at the launch of the application. Currently the query is done whenever the name text field or the asset text field is changed but as we work within a context of an asset we can easily do it is the start.
Here is some pseudo code:
asset = io.find_one(filter={"type": "asset", "name": os.environ["AVALON_ASSET"]})
subsets = io.find(filter={"type": "subset", "parent": asset["_id"]}, projection={"name": 1})
if subsets:
    # subset menu needs to be a fancy textfield / combobox thingy in one
    subsets_menu.addItems([subset["name"] for subset in subsets])

Should we lock down the asset name?
I have scouted through the code of the Instance Creator to see where the asset name is being fetched and as expected it was through os.environ["AVALON_ASSET"]. If this is consistent for the future of the tool (as we work within context I would say YES) than I would opt to lock the text field of the asset name in the UI.
Keep it simple

Phase 3, a search icon is added to the text field that, once clicked, brings up a more elaborate window in which the user can search and filter his choice more delicately.

How elaborate are we talking? The Instance Creator we currently have is simple and precise, I do not see the need for any other features. Could you draw a vision of what you want it to be able to do extra?
less code == less failure == easy maintenance

Wouldn't it be better to ensure the user can pick the subset if it already exists?

Yes, I think so too.

Currently the query is done whenever the name text field or the asset text field is changed but as we work within a context of an asset we can easily do it is the start.

It's a bit of an optimisation at this point, as it doesn't change behaviour or function, but I see where you're coming from. An issue with doing it at the start is that there might be a new subset created between the time the user opens the dialog and then hits OK. If we could do a final check upon hitting OK then I'm OK with it.

than I would opt to lock the text field of the asset name in the UI.

This is actually a feature. It means you are able to publish to one or more assets, from within the context of a single asset. Mindbender requested this as they were working on what could have been variants of a single asset, as multiple assets. Could we make this an dropdown/list/combobox as well?
How about a little arrow next to each textfield, which when the user clicks it pops up a dropdown with available options?

Could you draw a vision of what you want it to be able to do extra?

From experience, once the number of assets grow into the hundreds, I'd like to facilitate searching by more than a name. I would recommend we reach this stage and experience the problem before we solve it, otherwise it could be classified as overengineering.

How about a little arrow next to each textfield, which when the user clicks it pops up a dropdown with available options?

This is similar to what I mentioned here, where the "pick an asset" window was a modal pop-up dialog: https://github.com/getavalon/core/issues/194#issuecomment-311121188

From experience, once the number of assets grow into the hundreds, I'd like to facilitate searching by more than a name. I would recommend we reach this stage and experience the problem before we solve it, otherwise it could be classified as overengineering.

By reusing the "asset" widget as in my example above that would mean all widgets would automatically allow searching to these same tags and data, making the search features work the same in all areas.

Should we lock down the asset name?

As @mottosso mentioned, no. This was actually a requested feature to be able to publish to another asset.

Base on the implementation proposal, I believe this has been implemented in #283.


Add possibility to prevent swipe dinamically i.e. short-circuit inside onTouchStart()

Hi,
I'd like to discuss this little change because we have a specific use case that can only be solved reliably by doing this, as far as I can tell.
The idea here is that if we return something truthy the swipe will be prevented.
The use case is that we have a virtualized list inside the swipe container... so the component cannot detect that the list is scrolling (indeed because there's no real scroll), and it swipes even if we still have scroll in the list... 😅
The other approach would be to set the disabled prop dynamically with setState(), but it's junky/buggy because we can swipe up and down even outside the list container. Imagine that inside the swipe container we have 1) an header with a fixed height plus 2) a virtual list with scroll, so if:

we swipe up (y axis, event.target is "the list"); as the scroll is yet 0, all good
we scroll down the list...
we swipe down (y axis, event.target is "the list"): here is when we do our check inside onTouchStart and the swipe would be prevented, e.g. onTouchStart = (ev) => (SCROLL_TOP > 0 && ev.target.closest('#the-list-container'))
now we swipe down (y axis, event.target is "the header"): with the setState approach the swipe would be still disabled, but it's not the case with this short-circuit approach

Let me know if you would modify something or if you know of a better approach.
Many thanks! 💛

Can somebody merge this? Please, thanks.

Nice, thanks! I guess this could be now mentioned in the docs?

We need to build (and test) the package still, but it can be added to the docs than yea!


Added "AzCopy Between Accounts"

Review required... @GIHAA
cc :- @ThulinaWickramasinghe
resolves sliit-foss/gists#3

@QuintusJoyal Thank you for your contribution. Keep up the good work.


[Help] System.InvalidOperationException: The test framework adapter has not been registered.

I've been using code from the xUnit/NUnit PRs for the new test adapters as inspiration for my own code.
When using dotnet test I get failures due to missing dependencies, but I'm guessing that's because my .NET SDK isn't new enough (8.0.201).
So I tried dotnet run - And it starts trying to run, but then says my framework hasn't been registered.
From what I can tell, it's invoked dynamically? So any help as to why it isn't working would be greatly appreciated.
For the time being, I've created the main entry point myself and called these extensions manually, and it's working fine.
Error:
Unhandled exception. System.InvalidOperationException: The test framework adapter has not been registered. Use 'ITestApplicationBuilder.RegisterTestFramework' to register it
   at Microsoft.Testing.Platform.Builder.TestApplicationBuilder.BuildAsync() in /_/src/Platform/Microsoft.Testing.Platform/Builder/TestApplicationBuilder.cs:line 110
   at TestingPlatformEntryPoint.Main(String[] args) in C:\git\TUnit\TUnit.TestProject\obj\Debug\net7.0\TestPlatformEntryPoint.cs:line 14
   at TestingPlatformEntryPoint.<Main>(String[] args)
PS C:\git\TUnit\TUnit.TestProject>

Here's my code:
using System.Reflection;
using Microsoft.Testing.Platform.Builder;

namespace TUnit.Engine;

public static class TestingPlatformBuilderHook
{
    public static void AddExtensions(
        ITestApplicationBuilder testApplicationBuilder,
        string[] _) =>
        testApplicationBuilder.AddTUnit(() => [Assembly.GetEntryAssembly()!]);
}

using System.Reflection;
using Microsoft.Testing.Platform.Builder;
using Microsoft.Testing.Platform.Capabilities.TestFramework;
using Microsoft.Testing.Platform.MSBuild;

namespace TUnit.Engine;

public static class TestApplicationBuilderExtensions
{
    public static void AddTUnit(this ITestApplicationBuilder testApplicationBuilder, Func<IEnumerable<Assembly>> getTestAssemblies)
    {
        TUnitExtension extension = new();
        testApplicationBuilder.RegisterTestFramework(
            _ => new TestFrameworkCapabilities(),
            (capabilities, serviceProvider) => new TUnitTestFramework(extension, getTestAssemblies, serviceProvider, capabilities));
    }
}

The generated entry point looks like this:
//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by Microsoft.Testing.Platform.MSBuild
// </auto-generated>
//------------------------------------------------------------------------------

[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
internal sealed class TestingPlatformEntryPoint
{
    public static async global::System.Threading.Tasks.Task<int> Main(string[] args)
    {
        global::Microsoft.Testing.Platform.Builder.ITestApplicationBuilder builder = await global::Microsoft.Testing.Platform.Builder.TestApplication.CreateBuilderAsync(args);
        Microsoft.Testing.Platform.MSBuild.TestingPlatformBuilderHook.AddExtensions(builder, args);
        using (global::Microsoft.Testing.Platform.Builder.ITestApplication app = await builder.BuildAsync())
        {
            return await app.RunAsync();
        }
    }
}

Ah I think I've figured out why it's not being invoked - I haven't added the
<ItemGroup><TestingPlatformBuilderHook ...
However, both the xUnit and NUnit PRs have a different GUID on those elements. How is that generated? I don't suppose I can just use the same value?

The id is a guid that you should generate and keep using for this extension point. If in the future your extension will need to be registered in some order, of if we add some categories for extensions or something like that, this id will represent your extension to us so we can make it well-known.
So definitely use different guid than xunit, nunit or mstest :)

Ah I think I've figured out why it's not being invoked - I haven't added the

Sorry for the lack of documentation we didn't expect such an "immediate" interest 😄 and we're planning to write an extensive one.
The https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild takes care of the MSBuild registration and insert the entry point, it's not mandatory and as you did you can do it manually but it's used to have smooth and transparent porting.
We collect all the items:
  <ItemGroup>
    <TestingPlatformBuilderHook Include="8E680F4D-E423-415A-9566-855439363BC0" >
      <DisplayName>MyBuilderHook</DisplayName>
      <TypeFullName>Contoso.BuilderHook</TypeFullName>
    </TestingPlatformBuilderHook>
  </ItemGroup>

And we "insert" a call expecting the shape of the method name like:
static Contoso.BuilderHook.AddExtensions(Microsoft.Testing.Platform.Builder.TestApplicationBuilder builder, string[] args)

So final users doesn't have to care about build-time registration.

Thanks! Got it working 😄


add version package

ok, :shipit:

:ok:

:ship:

change to grab the js from external host

🆗 , can I merge this PR?


Fix: Ensure headings have IDs (fixes #747)

This adds the markdown-it-anchor plugin to the default Markdown generator in order to generate IDs for all headings in the site. This change will fix the issue we're having with Algolia search.

Also, it would be nice to match GitHub ids, or find another solution for anchor links to work both on GitHub and on eslint.org (this is already broken in some cases).
For example: https://deploy-preview-755--eslint.netlify.app/docs/developer-guide/nodejs-api
Table of contents > ESLint > constructor() link is #-new-eslintoptions
This works on GitHub, but we are now generating id="%E2%97%86-new-eslint(options) so the link will be broken on eslint.org.
It seems that markdown-it-anchor supports passing a custom slugification function, maybe we could use github-slugger or some other lib that matches github.
(note: some links in the original .md document should be fixed as well, ref eslint/eslint#13415)

Hmm, I’ll see if I can find an easy way to sync the generated IDs, but I don’t want to block this for too long to find a solution for that. Getting the search drop down working again is top priority. We ca always come back to syncing the IDs

Okay, should be set now, both with highlighting and IDs.
As a side note: Manually creating a TOC in the docs doesn't seem like the right approach, nor does referring people to the raw MD files as a source of documentation. It seems like we could simplify this a great deal by auto-generated a TOC on the Node.js API page.

From a skim of the configuration page on GitHub vs the deploy preview, it appears all the headings are the same except the first one:
https://github.com/eslint/eslint/blob/master/docs/user-guide/configuring.md#specifying-parser-options
https://deploy-preview-755--eslint.netlify.app/docs/user-guide/configuring#specifying-parser-options-1
Any idea where the -1 suffix is coming from? It's the only one I was able to find. I didn't see any more on that page, and the first headings on a few other pages I checked didn't have it either.

Any idea where the -1 suffix is coming from? It's the only one I was able to find. I didn't see any more on that page, and the first headings on a few other pages I checked didn't have it either.

It's probably because there was another header with the same id:
https://deploy-preview-755--eslint.netlify.app/docs/developer-guide/working-with-rules-deprecated#specifying-parser-options
github-slugger remembers previously generated IDs and adds a suffix in order to help with avoiding duplicate IDs on the same page. However, it isn't aware of the context and can't know if it's really the same page.
Another example (254 since probably all rule docs have Rule Details header):
https://deploy-preview-755--eslint.netlify.app/docs/rules/quotes#rule-details-254
We should ideally reset this (i.e., do slugger = new GitHubSlugger() again) before processing the next document, if it's possible to do that with markdown-it-anchor.
Or, use this API:

If you need, you can also use the underlying implementation which does not keep track of the previously slugged strings (not recommended):

var slugger = require('github-slugger').slug;

slug('foo bar baz')
// returns 'foo-bar-baz'

slug('foo bar baz')
// returns the same slug 'foo-bar-baz' because it does not keep track

Okay, I’d like to suggest we split out matching the GitHub IDs into a separate task, as it is neither simple nor straightforward, and it wasn’t the point of this PR. I don’t want to hold up getting the search fixed.

Forgot to mention: the reason this isn’t easy to fix is because you need the ID counter to be reset per page in case there are duplicate IDs, so we can’t just reset for each link. I tried a number of plugins and this got us the closest.
I still think we should just not manually define TOCs on pages, and we can avoid this problem altogether.

Does this mean we can remove AnchorJS?
https://github.com/eslint/website/blob/5724e8b5fcc1cbe8c3f601020621058830e2356b/src/js/main/index.js#L34-L37

@mysticatea I merged this to fix the search asap, but yes, it looks like we could configure markdown-it-anchor to do the same as AnchorJS, and then remove AnchorJS.

One thing I wanted to mention here is that this change has made the site unpredictable to link to programmatically.
Previously, linking to https://eslint.org/docs/rules/<rule-name>#options would link to and auto scroll to the options section for any given rule.
Now it doesn't work, because every rule has a different ID appended, eg:

https://eslint.org/docs/rules/comma-dangle#options-14
https://eslint.org/docs/rules/indent#options-43
https://eslint.org/docs/rules/no-unused-vars#options-116

This has (partially) broken all links to ESLint docs that people had around the web. It's not a huge deal, it's just created some weirdness in docs.
QQ: Are these IDs guaranteed to be stable forever? It'd be a pain if the IDs changed every time someone added a new page to the site for obvious reasons.

@bradzacher can you open an issue for that so we can take a look?

@nzakas I'm kind-of new here and was wondering if I can see to fixing this. From what I understand, in order to get unique options searchable,  we added this change, but now it breaks the existing links out on the web. Would it be possible in this case, to revert this change and create these IDs on need basis just for creating search indices. Maybe instead of ids in tag, we can rely on additional data attributes to put more information in.

If you’d like to work on it, please comment on https://github.com/eslint/website/issues/772.
We don’t need to revert the change, we just need to tweak how the ID is generated.


cvxopt returns unknown for effectively the same model as one that works

I have recently found three different cases where I think cvxopt is returning unknown when the problem is in fact posed just fine. All three cases seem to be loosely described by "not enough pressure on a certain variable".  I think this could be a genuine solver bug, but I want to post here just in case.
The previous cases were annoying, but this one seems particularly egregious. I'm afraid I can't seem to recreate a MWE, and I can't post the full model here so the description will be a bit hand wavy.
Consider a cost breakdown something like this:
totalcostperpass >= cost1perpass + cost2perpass + cost3perpass + cost4perpass + cost5perpass

where each cost has its own constraint(s)
cost1perpass >= cost1/numpass
cost2perpass >= cost2/numpass
etc..

In the interest of cleaning things up, I try the following minor change:
totalcostperpass >= (cost1 + cost2 + cost3 + cost4 + cost5)/numpass

and get rid of the costxperpass >= costx/numpass constraints.
Whereas the original formulation solves fine, the second one returns unknown.
Looking at the original solution, I notice cost5 is smaller than the other costs (2x smaller than the next biggest one and about 5x smaller than the biggest). I try the following and it works:
totalcostperpass >= (cost1 + cost2 + cost3 + cost4 )/numpass + cost5perpass,
cost5perpass >= cost5/numpass

Another thing works, which makes even less sense:
totalcostperpass >= (cost1 + cost2 + cost3 + cost4 + cost5)/numpass,
cost5perpass >= cost5/numpass

(removing that cost5perpass constraint breaks it).
Any ideas why this isn't working?
EDIT: in fact it isn't unique to cost5, having the following also works:
totalcostperpass >= (cost1 + cost2 + cost3 + cost4 + cost5)/numpass,
cost4perpass >= cost4/numpass

That last one's a real head scratcher. Is this an SP?
On Sep 2, 2016 16:57, "pgkirsch"<EMAIL_ADDRESS>wrote:

I have recently found three different cases where I think cvxopt is
returning unknown when the problem is in fact posed just fine. All three
cases seem to be loosely described by "not enough pressure on a certain
variable". I think this could be a genuine solver bug, but I want to post
here just in case.
The previous cases were annoying, but this one seems particularly
egregious. I'm afraid I can't seem to recreate a MWE, and I can't post the
full model here so the description will be a bit hand wavy.
Consider a cost breakdown something like this:
totalcostperunit >= cost1perpass + cost2perpass + cost3perpass + cost4perpass + cost5perpass
where each cost has its own constraint(s)
cost1perpass >= cost1/numpass
cost2perpass >= cost2/numpass
etc..
In the interest of cleaning things up, I try the following minor change:
totalcostperunit >= (cost1 + cost2 + cost3 + cost4 + cost5)/numpass
and get rid of the costxperpass >= costx/numpass constraints.
Whereas the original formulation solves fine, the second one returns
unknown.
Looking at the original solution, I notice cost5 is smaller than the other
costs (2x smaller than the next biggest one and about 5x smaller than the
biggest). I try the following and it works:
totalcostperunit >= (cost1 + cost2 + cost3 + cost4 )/numpass + cost5perpass,
cost5perpass >= cost5/numpass
Another thing works, which makes even less sense:
totalcostperunit >= (cost1 + cost2 + cost3 + cost4 + cost5)/numpass,
cost5perpass >= cost5/numpass
(removing that cost5perpass constraint breaks it).
Any ideas why this isn't working?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/hoburg/gpkit/issues/834, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABagGCaa6Rnr3QsW1ZkOJugNotZWf1luks5qmLfkgaJpZM4J0K5d
.

GP

Dumb question, but costNperpass isn't used in any other constraints, right?

This issue would really benefit from a MWE.
@pgkirsch, are you on a pip installed version of gpkit, or the latest version off master? If the former, try m.solve(solver="cvxopt", kktsolver="ldl").

Sorry forgot to reply to these. The costNperpass didn't appear anywhere else, but the numpass appeared in a couple of other "innocuous" (for want of a better word) constraints. Replacing numpass with an equivalent monomial ended up being a somewhat satisfactory solution.
RE: MWE, I know, I'm sorry I didn't provide one. If I get a chance, I can go back and try to recreate it. Something that might help this, and I'm not at all sure about how the mechanics of this would work or if it's even remotely reasonable is something that automatically "anonymizes" a GP so people working in IP-sensitive environments don't have to spend time manually converting a very descriptive GP to something more harmless so they can publish actual code on Github cough.
And finally, I just ran into a similar issue, that I was sure should not cause an unbounded issue so I tried your kktsolver suggestion and it totally worked! Thanks! I'm happy to close this for the time being, if that's ok with you guys.

Okay, this sounds like a cvxopt bug. I'm happy to close...

I've seen behavior similar to the original report, with cvxopt only (e.g. increasing the number of constraints in a well-formulated model causes it to suddenly solve as unknown). This appears to be due to the default Cholesky-based kkt solver in cvx; glad to hear the ldl fix worked. Note this has become the default on master (but hasn't been pushed to pip yet).
I like @pgkirsch's idea of an anonymize() method for GeometricProgram, which would essentially rename all the varkeys with names like var1, var2, ..., would drop variable descriptions, and for debugging would retain the vector status of VectorVariables (with anonymized names).
TBD whether this should be at the GP level or the Model level (if at the model level, models would be renamed to Model1, Model2, etc)
Another option is just to print out the cs, A, and p_idxs, but I think this loses some important structure that might help to debug GPkit errors vs solver errors.
I'm reopening this to at least discuss this.
I think this could be fairly straightforward to implement especially with some high-level guidance from @bqpd .


switching account fields in gl model

Are you a current Fivetran customer?

Fivetran created PR
What change(s) does this PR introduce?

This PR changes the account_code, account_id, account_name, and account_type fields within the xero_general_ledger to now being selected from the stg_xero__account model instead of the stg_xero__journal_line model.
It was found that account names may be changed within Xero, but the account name within a journal line entry will remain the old name. As such, this fix will ensure all records on the xero__general_ledger and downstream models reflect the most up to date name of the account.
Does this PR introduce a breaking change?

[ ] Yes (please provide breaking change details below.)
[X] No  (please provide explanation how the change is non breaking below.)

We are only changing the base table these fields are being selected from. Therefore, this will not result in a breaking change for existing users.
Is this PR in response to a previously created Issue

[X] Yes, Issue #18
[ ] No

How did you test the PR changes?

[X] CircleCi
[ ] Other (please provide additional testing details below)

Select which warehouse(s) were used to test the PR

[X] BigQuery
[X] Redshift
[X] Snowflake
[X] Postgres
[ ] Databricks
[ ] Other (provide details below)

Provide an emoji that best describes your current mood

💰
Feedback
We are so excited you decided to contribute to the Fivetran community dbt package! We continue to work to improve the packages and would greatly appreciate your feedback on our existing dbt packages or what you'd like to see next.

These changes were tested within Issue #18 and proved to be succesful and resolve the unique dbt test error within the users environment.
As this was tested by the user who raised the issue I am comfortable merging this into the next release.


[SPARK-4452][Core]Shuffle data structures can starve others on the same thread for memory

In #9241 It implemented a mechanism to call spill() on those SQL operators that support spilling if there is not enough memory for execution.
But ExternalSorter and AppendOnlyMap in Spark core are not worked. So this PR make them benefit from #9241. Now when there is not enough memory for execution, it can get memory by spilling ExternalSorter and AppendOnlyMap in Spark core.
@davies @andrewor14 @JoshRosen  Can you take a look at this PR? thanks.

Test build #46839 has started for PR 10024 at commit 34f2441.

Test build #46839 has finished for PR 10024 at commit 34f2441.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

test this please

Test build #46852 has started for PR 10024 at commit 34f2441.

Test build #46852 has finished for PR 10024 at commit 34f2441.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Test build #49948 has started for PR 10024 at commit b561641.

Test build #49948 has finished for PR 10024 at commit b561641.

This patch fails Scala style tests.
This patch does not merge cleanly.
This patch adds no public classes.

Build finished. Test FAILed.

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

Test build #49951 has started for PR 10024 at commit 16ca87b.

Test build #49951 has finished for PR 10024 at commit 16ca87b.

This patch fails R style tests.
This patch does not merge cleanly.
This patch adds no public classes.

Build finished. Test FAILed.

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

Hi @lianhuiwang thanks for submitting this patch.
I just have a really high-level question first.  If I understand how this works correctly, the idea is that:

as data is added to Spillables, they work exactly the same as before at first, so after all records have been inserted, they've still got a bunch of data in memory.
When an iterator is requested, as before its still an iterator that merges data has been spilled to disk, and data that is still-in-memory
If the TaskMemoryManager requests more memory while that iterator is in flight, then the Spillables look at the position of the current iterator over the in-memory data, and spill only the remaining data to disk
The Spillable then free the memory to the TaskMemoryManager, and have the in-flight iterator switch to using the new spill file.

Is this a correct understanding?  If so, this seems to hinge on one key assumption: that the Spillables are never iterated over multiple times.  If they were iterated multiple times, then the second iteration would be incorrect -- some of the initial data in the in-memory structure would be lost on the second iteration.
I think this assumption is sound -- it is implied by "destructive"SortedIterator in the internals, though I think the actual wrapping Spillables might allow multiple iteration now.  I've been trying to think of a case where this assumption would be violated but cant' come up with anything.  (If the same shuffle data is read multiple times in different tasks, the work on the shuffle-read side is simply repeated each time, I'm pretty sure there isn't any sharing).  But nonetheless if that is the case, I think this deserves both a lot of comments explaining how this works, assertions which make sure this assumption is not violated, and a number of tests.
FWIW, I started down the path of writing something similar without that assumption -- when a spill was requested on an in-flight iterator, then the entire in-memory structure would get spilled to disk, and the in-flight iterator would switch to the spilled data, and advance to the same location in the spilled data that it was on the in-memory data.  This was pretty convoluted, and as I started writing tests I realized there were corner cases that needed work.  So I decided to submit the simpler change instead.  It seems much easier to it your way.    I do have some test which I think I can add as well -- lemme dig those up and send them later today.

@lianhuiwang Thanks for working on this, I think it's in the good direction. Two things left:

thread safety. For example, you will have two threads for PythonRDD (same for RRDD), one iterate rows from parent RDD, another iterator rows from PythonRDD/RRDD, the second one could trigger spilling, the spilling happen in second thread, and the first thread could consuming the same iterator. So must make them thread safe. This is the hardest part, you could take the SQL operators as examples.

Adding more tests. As @squito suggested, more comments to explain the high level ideas will be good to have.

Test build #56099 has started for PR 10024 at commit 7c36ef0.

Test build #56099 has finished for PR 10024 at commit 7c36ef0.

This patch fails MiMa tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class SparkSqlAstBuilder extends AstBuilder

Merged build finished. Test FAILed.

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

Test build #56229 has started for PR 10024 at commit 70bcffa.

@davies Thanks. I have added a SpillableIterator that can make consumer and spill thread safe. I think you can take a look at it.

Test build #56229 has finished for PR 10024 at commit 70bcffa.

This patch fails MiMa tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

@squito  Yes, I think your understanding is correct. this PR only support that a Spillables will be called once.  The code 'val sort = new Spillable() sort.iterator() sort.iterator()' will be wrong.
for ExternalSorter.iterator, I find that is just called by BlockStoreShuffleReader.Read(). Every Reader will create new ExternalSorter, So i think it's ok for it.
for ExternalAppendOnlyMap, It has two places that use it.They are Aggregator and CoGroupedRDD. we also can find that it create new ExternalAppendOnlyMap before call one  iterator(). So i think it is also ok for it.
The input and output of them are Iterator and Iterator cannot be cached, so it will not affect when rdds are cached.
BTW: this PR has been running for a long time on our many online spark jobs.
If i missed some points, please put forward. It is worth mentioning that

Test build #56246 has started for PR 10024 at commit b84ad96.

Test build #56246 has finished for PR 10024 at commit b84ad96.

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

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

Build finished. Test FAILed.

Test build #56365 has started for PR 10024 at commit dc632f5.

Test build #56365 has finished for PR 10024 at commit dc632f5.

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

Build finished. Test FAILed.

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

Test build #56397 has started for PR 10024 at commit d1ed4e4.

Test build #56398 has started for PR 10024 at commit 743ef16.

Test build #56398 has finished for PR 10024 at commit 743ef16.

This patch passes all tests.
This patch does not merge cleanly.
This patch adds no public classes.

Build finished. Test PASSed.

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

Test build #56397 has finished for PR 10024 at commit d1ed4e4.

This patch passes all tests.
This patch does not merge cleanly.
This patch adds no public classes.

Build finished. Test PASSed.

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

Test build #56456 has started for PR 10024 at commit 97fd174.

@davies Now i make some variables volatile to avoid thread safe.  Can you take a look? Thanks.

Test build #56459 has started for PR 10024 at commit e009d95.

@lianhuiwang I don't think this is enough.
If it's not easy to make it thread safe, one option could be not do forced spilling if spill() will called from another thread than the one consuming the iterator. At least it's better than before.

Could you also rebased to master?

@davies  Yes, I have update it using object.lock. I will rebased to master.

Test build #56462 has started for PR 10024 at commit 7ea7274.

Test build #56465 has started for PR 10024 at commit d16b5f3.

Test build #56466 has started for PR 10024 at commit e7a98d5.

Test build #56465 has finished for PR 10024 at commit d16b5f3.

This patch fails MiMa tests.
This patch merges cleanly.
This patch adds no public classes.

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

Merged build finished. Test FAILed.

test it please.

Jenkins, test this please

Test build #56475 has started for PR 10024 at commit e7a98d5.

Test build #56456 has finished for PR 10024 at commit 97fd174.

This patch passes all tests.
This patch does not merge cleanly.
This patch adds no public classes.

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

Build finished. Test PASSed.

Test build #56459 has finished for PR 10024 at commit e009d95.

This patch passes all tests.
This patch does not merge cleanly.
This patch adds no public classes.

Build finished. Test PASSed.

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

Test build #56462 has finished for PR 10024 at commit 7ea7274.

This patch passes all tests.
This patch does not merge cleanly.
This patch adds no public classes.

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

Build finished. Test PASSed.

Test build #56466 has finished for PR 10024 at commit e7a98d5.

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

Merged build finished. Test PASSed.

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

@davies Now all tests have been passed. So Could you take a look again? Thanks.

Test build #56475 has finished for PR 10024 at commit e7a98d5.

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

Merged build finished. Test PASSed.

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

Test build #56496 has started for PR 10024 at commit ff3c2b8.

LGTM

@lianhuiwang Have you run some stress tests with latest change?

@davies , will this pr be backported to branch-1.6?

How about add a config "spark.shuffle.spill.reservedMemory"? its default is true. It does not force to spilling when its value is true. Maybe 2.1 version the config can be deleted.

Test build #56496 has finished for PR 10024 at commit ff3c2b8.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Jenkins, test this please

Test build #56513 has started for PR 10024 at commit ff3c2b8.

Test build #56513 has finished for PR 10024 at commit ff3c2b8.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Test build #56532 has started for PR 10024 at commit 792ff5a.

Test build #56532 has finished for PR 10024 at commit 792ff5a.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class SparkSqlParser(conf: SQLConf) extends AbstractSqlParser
class SparkSqlAstBuilder(conf: SQLConf) extends AstBuilder
   *   [STORED AS file_format | STORED BY storage_handler_class [WITH SERDEPROPERTIES (...)]]
case class AddJar(path: String) extends RunnableCommand
case class AddFile(path: String) extends RunnableCommand
case class CreateTableAsSelectLogicalPlan(
case class CreateViewAsSelectLogicalCommand(
case class HiveSerDe(
class HiveSqlParser(conf: SQLConf, hiveconf: HiveConf) extends AbstractSqlParser
class HiveSqlAstBuilder(conf: SQLConf) extends SparkSqlAstBuilder(conf)

Merged build finished. Test PASSed.

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

Merging this into master, thanks!

@davies Thanks.


Test wechaty basic functions

[x] contact-bot.ts

[x] https://github.com/Chatie/wechaty/issues/1319
[x] https://github.com/Chatie/wechaty/issues/1320
[x] https://github.com/Chatie/wechaty/issues/1321
[x] https://github.com/Chatie/wechaty/issues/1332

[x] ding-dong-bot.ts
[x] friend-bot.ts

[x] https://github.com/Chatie/wechaty/issues/1322

[ ] media-file-bot.ts
[ ] room-bot.ts #63

[x] room-leave event: https://github.com/Chatie/wechaty/issues/1323
[ ] room-leave event: https://github.com/Chatie/wechaty/issues/1329
[x] room-join-event:   https://github.com/Chatie/wechaty/issues/1324
[x] room-topic-event:  https://github.com/Chatie/wechaty/issues/1330
[x] room-topic-event:  https://github.com/Chatie/wechaty/issues/1326
[x] room join action
[x] kick off action
[x] create action: https://github.com/Chatie/wechaty/issues/1327
[x] https://github.com/Chatie/wechaty/issues/1328

[x] self-testing-bot.ts

add quit-bot to room-bot
add the folloiwng to rom-bot
if (dingRoom.has(sender)) {
            /**
             * speaker is already in room
             */
            log.info('Bot', 'onMessage: sender has already in dingRoom')
            dingRoom.say('no need to ding again, because you are already in ding room', sender)
            // sendMessage({
            //   content: 'no need to ding again, because you are already in ding room'
            //   , to: sender
            // })

          } else {

add quit-bot to room-bot
add the folloiwng to rom-bot
if (dingRoom.has(sender)) {
            /**
             * speaker is already in room
             */
            log.info('Bot', 'onMessage: sender has already in dingRoom')
            dingRoom.say('no need to ding again, because you are already in ding room', sender)
            // sendMessage({
            //   content: 'no need to ding again, because you are already in ding room'
            //   , to: sender
            // })

          } else {

- if (dingRoom.has(sender)) {
+ if (await dingRoom.has(sender)) {

more room but:

[ ] Chatie/wechaty#1329
[ ] Chatie/wechaty#1343
[ ] Chatie/wechaty#1342
[ ] Chatie/wechaty#1339

done


fromJSON error while the json include popoutGroups

Describe the bug
api.fromJSON error while the json include popoutGroups
To Reproduce
with my own code when the json layout includes popoutGroups, it will cause an error "Error: Invalid grid element"

with https://dockview.dev/demo/, by using save and then load/refresh will cause empty dock

action load
popout->layout changed->load->dock empty
https://github.com/user-attachments/assets/a3abe296-d534-43d9-8790-1fddbcaea1a9

action refresh
popout->layout changed->refresh browser tab->dock empty
https://github.com/user-attachments/assets/f7cd3cc9-a87f-4c2e-8556-3af8e9cea7e1

Released in 2.0.0. See https://github.com/mathuo/dockview/releases/tag/v2.0.0


Stream flipping

Hi @pedroSG94 ,
We need to add flipping only for a stream. The uses case is that the stream should be flipped for the front camera in order for branding, texts to display correctly for the watchers. On the other hand, the preview shouldn't be flipped so user can see how he/she is dancing.
I've also added a callback to notify when camera has been changed so it is easier to react on that.
I've added sample code to OpenGLRtmpActivity to visualize that, but it can be removed.
Let me know what you think.

We definitely need this ASAP! Thanks!

FYI, I've found one issue with it. Fixing it now.

Hello,
This change is good but camera callback is unnecessary because you have this method to know if you are using front camera:
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/rtplibrary/src/main/java/com/pedro/rtplibrary/base/Camera2Base.java#L146
You can replace with this:
rtmpCamera.switchCamera();
rtmpCamera.getGlInterface().setIsStreamHorizontalFlip(rtmpCamera.isFrontCamera());

I will adapt commit and merge it soon

@pedroSG94  I've the callback for two reasons:

camera switch can fail, so you can't be sure if it has changed
you can also get initial camera facing using this callback

@pedroSG94 No hurry. I'm using it on my fork so far.
I'll try to implement it for Camera1 as well

Done, I've also reverted back the OpenGLRTMP sample to use Camera1.


chore: bdd-spring-1588559827 to 0.0.1

chore: Promote bdd-spring-1588559827 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

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


Laravel Digits Validation Not Working For Multi-byte Characters

Laravel Version: 7.11.0
PHP Version: 7.4.6
Database Driver & Version: MySQL

Description:
I have an input where user enters his work shop code, and work shop code must be 10 digits. So in my validation I have :
$apply_data = $request->validate([
   'workshop_name' => 'required|string',
   'workshop_code' => 'required|string|digits:10',
]);

Now when user enters<PHONE_NUMBER> its ok. but if user enters<PHONE_NUMBER> (10 Arabic numbers instead of English numbers) Laravel will return following error:

work shop code must be 10 digits

I guess laravel is using strlen rather than mb_strlen, because workshop is actually 10 digits.
https://github.com/laravel/framework/blob/41ea7cc3bb898ff86505d3798d8acbb8992a0aad/src/Illuminate/Validation/Concerns/ValidatesAttributes.php#L414
Steps To Reproduce:

Digits can only validate numeric digits.


Local JATOS doesn´t work, weird layout

Hey there,
I have to get my local jatos running, but after installing JATOS (tried jatos and jatos_mac_java) and JAVA (Temurin-21 jdk) and typing http://<IP_ADDRESS>:9000/jatos in my browser (tried several), logging in with "admin admin" an weird result is shown (see photo). Not only the layout is weird, but also clicking on new study doesnt lead to any further reaction.
I tried deleting and installing both jatos and java again, but it stays the same.
Is there anyone that had the same problem and can help me out? I need to get a study running on jatos.
Kind regards
David

Yes I checked, there s nothing shown. Also tried shutting down the firewall for a second, but it doesnt change the result.

That's odd. I'll ask these things, which is what I would do if I were around.
Which version of JATOS are you running? Do you have another java version that's interfering with this? What do you see on your console when you run jatos? It should say:
jatos_mac_java % ./loader.sh start
JATOS uses local Java
Starting JATOS...
started
To use JATOS type <IP_ADDRESS>:9000 in your browser's address bar

to me it says: ./loader.sh start
Starting JATOS...
started
To use JATOS type <IP_ADDRESS>:9000 in your browser's address bar

--> with: java version "21.0.1" 2023-10-17 LTS
Java(TM) SE Runtime Environment (build 21.0.1+12-LTS-29)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.1+12-LTS-29, mixed mode, sharing)

JATOS uses Java 11. Downloading the nudged-with-java version should do the trick, but it seems like your java is overriding this somehow. (https://www.jatos.org/Update-JATOS.html)

I´m stucked at the same point like David (also using a Mac). I installed Java 11, like you recommended @elisafilevich, tried different browser and activated JavaScript on every browser (I´m not sure if this could be the relevant error, because it´s not exactly the same like activated Java). Do you have any further ideas or recommendations how to fix the problem?

I don't really have an answer. But while we wait for Kristian, who might have some ideas. What happens when you ask for java -version on your terminal?

JATOS still uses Java 8 or 11. There are compatibility issue between some libraries, Scala and Java on one side and the time that I am able to spend to fix them one the other side. They will be fixed but it needs some work. Until then JATOS only runs on Java 8 or 11 (which does not impose any security or other issues btw). I can only guess that on your system you have several Java installed and somehow JATOS chooses the wrong one to run. Can you try do download JATOS bundled with Java (https://github.com/JATOS/JATOS/releases). In those version JATOS is hard-coded to use the bundled Java and not the system's one.

Thanks a lot! Firstly, I tried to download Java 11 externally, which didn't fix the problem. But after downloading jatos_mac_java version and activating java in my local Mac settings (it was blocked because the java version wasn´t accepted at a trustable source) it finally worked :) My earlier error was thinking that activating JavaScript in my internet browser would be the same like activating java... Turned out that you have to activate Java locally in your settings. Thanks again for the fast responding, maybe the posts can help other people too.


Seeking For A Permanent Fix: NodeJs-18.17.1: ERR_OSSL_EVP_UNSUPPORTED

Hi,
Can anybody help on the permanent fix on the below issue?
Our application is throwing error 'ERR_OSSL_EVP_UNSUPPORTED' with below configuration. From the nodejs documentation we came to know that webpack 4.x is still trying to use an algorithm or key size which is no longer allowed by default with OpenSSL 3.0 and flag '--openssl-legacy-provider' can be used(to fix this error) as a temporary solution. Since its only a temporary solution and as a permanent fix, webpack module need to be upgrade.
Electron: 27.0.3
NodeJs: 18.17.1
webpack: 4.29.5
Can anybody share the webpack version which has the fix for this issue, if its already fixed. If not then is there a plan to fix this issue on webpack module and when the fix will be released?
Also in one of the comment, we read that it will be fixed with "webpack 6" which is not yet released, any timelines for its release?

webpack 5 already fixed this problem iirc

Just for reference as it took me a while to find the version which fixed the issue
PR is https://github.com/webpack/webpack/pull/14584
It was released as part of v5.61.0


cant not save fast

this come in every save
{Saving 'settings.json': Running 'Prettier Now' Formatter (configure).}

Disable format on save


Avoid holes in terrain while loading

When moving around quickly in Cesium for Unreal (or presumably any engine using cesium-native), we often see "holes" where particular terrain or photogrammetry tiles are missing, and it looks bad:

These holes will not show up while the camera isn't moving; the selection algorithm is smart enough to avoid that. Also, with the default settings, if you wait a bit for all the tiles to load for the current view, then you can spin the camera around all you like and you still won't see holes. However, if you quickly move to a new area and then rotate, holes are almost inevitable.
The reason is that the selection algorithm prioritizes "showing the scene in the current camera view as quickly as possible" over "avoiding possible future holes." Let me explain.
The selection algorithm has just decided that a particular tile does not meet the required screen-space error (SSE). So it wants to REFINE: render the tile's four child tiles instead. Well, we already know the bounding volumes for those four tiles, so we know which ones are visible (inside the view frustum, close enough to not be fog-culled) and which aren't. The million dollar question is: do we 1) load the visible ones first and start rendering the visible children in place of the parent as soon as those visible tiles are available? Or do we 2) wait until all four children are loaded - including the non-visible ones - before we refine?
You'd rather do the first option, right? Me too. It makes a big difference, because when we're zoomed in close it's common for the coarse tiles in the tile hierarchy to have only one child visible. Why? Because toward the root of the tile hiearchy, the tiles get bigger while the area we're interested in remains the same. That means the area of interest in the levels near the root will tend to be only one tile.
So Option 2 doesn't require loading a "little" more data, it commonly requires loading 4 tiles when we really only "need" 1. Closer to our selected LOD (i.e. the high-detail tiles near the camera), the ratio of visible to non-visible tiles tends to be higher. But overall, it's not an exaggeration to say that waiting for all tiles versus only the visible ones requires waiting for double the tiles to load.
But if we don't wait for the non-visible tiles to be loaded before rendering the visible ones, now we have to worry about holes. The holes are those other three-ish tiles we decided not to load (or loaded with lower priority and didn't wait for). We can't eliminate the holes by "un-refining" the parent. If we did that, detail would blink out of existence with slight camera movement, which would look even worse than the holes.
In short, the holes are a direct result of loading faster. The only way we can truly eliminate the holes is by waiting longer to show content to the user. We can't render the tiles that should go in those holes because we don't have them yet. And if we wait until we have them, loading will be slower.
✨ But maybe we can fill the holes with something? Something we can create or load much more quickly than the actual tile content? ✨
But what??
Ancestor geometry, clipped in the fragment shader
One answer is that we can use a portion of a parent (or ancestor) tile to fill the space of a missing tile. The easiest way to do this by simply rendering the parent (or ancestor) tile in place of the hole, and rig up the fragment shader so that any fragments outside the bounds of the child tile get discarded (so that the parent geometry doesn't overlap the geometry of child tiles that are loaded).
Pros:

Easy to implement.
Little to no CPU time required.

Cons:

Physics / collisions don't match what's displayed.
Possible performance problems due to high fill rate on low-end GPUs. @kring previously saw significant problems with this in CesiumJS, but @jtorresfabra has used this approach in the past and didn't see any significant fill rate problems.
Cracking at edges due to LOD differences. No good way to fill the cracks with skirts or anything else.
When bounding volumes are not tight-fitting, parent geometry clipped to the missing child's bounding volume can still overlap the geometry in other child tiles.
Ancestor geometry from several levels up the tree often aligns very poorly with the real geometry. For example, with Cesium World Terrain, if we have to go all the way to the root to find a tile with geometry, that geometry can be wrong by up to 77 kilometers! That's going to be very noticeable (nearly useless) when the camera is down at ground level. "But wait," you say, "there's no terrain on Earth that's 77km high or deep." You're right, from far away the Earth is very smooth. But the curvature of Earth means that the midpoint between two correctly-placed vertices in a level zero tile can be wrong by that much.

Ancestor geometry, clipped on the CPU
Similar to the above, except we actually clip the ancestor mesh at the child boundary, giving us a new mesh.
Pros:

Almost as easy to implement as the GPU discard approach, since we already have mesh clipping code for other reasons.
Physics / collisions reflect what's rendered.
No risk of fill rate problems. Clipped tiles are cheaper to render than the real geometry would be.
We can potentially use skirts to fill cracks between tiles, at least for 2.5D geometry.
If we interpolate the edge vertex heights instead of Cartesian positions, the heights won't be as wildly wrong. The worst case will be the height of Mt. Everest or so (8-9km) rather than that 77km we mentioned before.

Cons:

Up to 8-9km of height error is still wrong enough to be useless in many cases.
More CPU time than the GPU approach. Probably measured in single digit milliseconds or so.
We still have no good way to clip for non-tight-fitting bounding volumes.

Fill Tiles
The CesiumJS terrain engine solves this problem with something called "fill tiles". Fill tiles are completely synthetic geometry that perfectly fills the space of a hole and meets adjacent (real) tiles at their edges.
It works by looking at the adjacent tiles to every hole, and copying their edge vertices into a new vertex buffer. Then it sticks one more vertex in the center at the average height of all the edge vertices, and links all the vertices into triangles as a triangle fan. This is fast enough to generate that it's done synchronously at the moment we would otherwise have a hole.
Pros:

Fast to generate.
Fills the space perfectly, no cracks.
No need to plan ahead; we can generate a fill tile when we realize we need it and not a moment sooner.

Cons:

Probably impossible to generalize to more complicated geometry than 2.5D terrain.
The geometry is totally fake. Mountains often pop up in the center of a fill tile once the real geometry is loaded.
The fan shape of the geometry can be noticeable and look strange when lighting is enabled.

Other ideas??
Render some kind of blobby foggy thing rather than a hole? Use some kind of fancy stencil trick or somesuch to render parent tile geometry? Something else?

Barring someone coming up with a better idea, I think the best approach for cesium-native will be the one described as Ancestor geometry, clipped on the CPU.
Clipping on the CPU will be too slow to do it synchronously during tile selection when we realize we'd otherwise have a hole (like we do with fill tiles in CesiumJS), but it should be plenty fast to do as part of the load process. Basically, our rule should be that we're only willing to refine a tile if all of its children have either been loaded or clipped from ancestor geometry. We can avoid "really wrong" ancestor geometry by limiting the number of levels we're willing to traverse to get to an ancestor with geometry available.
I don't really have a solution to the non-tight-fitting bounding volume problem. Options:

Clip to the child bounding volume, even though it doesn't fit tightly. There may be some overlap between the geometry from other children and from the clipped parent, but 🤷 we'll live with it.
Refuse to fill holes by clipping when bounding volumes aren't tight fitting. We can detect non-tight-fitting bounding volumes by looking for overlaps in child bounding volumes, or with an explicit, user-configurable property. When we refuse to fill holes by clipping, we're back to either living with the resulting holes, or loading slower in order to avoid them.


Is it possible to create SmartHome Devices?

No this module can only do what you could do with the phone app.

You can use https://flows.nodered.org/node/node-red-contrib-alexa-home-skill for that.


I face the error while running the commands npm install -g angualr-cli@webpack i have node -v 6 npm 3 but still the error plzzz help

Please provide us with the following information:

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

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

Repro steps. Was this an app that wasn't created using the CLI? What change did you
do on your code? etc.

The log given by the failure. Normally this include a stack trace and some
more information.

Mention any other details that might be useful.

Thanks! We'll be in touch soon.

What is the exact error?

OS? Windows 7, 8 or 10. Linux (which distribution). Mac OSX (Yosemite? El Capitan?)
MacbookPRO / El Capitan
$ node --version
v6.5.0

$ npm --version
3.10.3

$ ng --version
Could not start watchman; falling back to NodeWatcher for file system events.
Visit http://ember-cli.com/user-guide/#watchman for more info.
angular-cli: 1.0.0-beta.11-webpack.8
node: 6.5.0
os: darwin x64

Repro steps. Was this an app that wasn't created using the CLI? What change did you
do on your code? etc.
Using the above configuration I executed the following steps
$ ng build my_project
$ cd my_project
$ ng build

The log given by the failure. Normally this include a stack trace and some
more information.
This issue seems to be related to issue #1873
It  has been suggested that upgrading to node 6.5.0 might solve the problem. Unfortunately, as shown by the logs below, this is not the case:
$ node --version
v6.5.0

$ npm --version
3.10.3

$ ng --version
Could not start watchman; falling back to NodeWatcher for file system events.
Visit http://ember-cli.com/user-guide/#watchman for more info.
angular-cli: 1.0.0-beta.11-webpack.8
node: 6.5.0
os: darwin x64

$ ng build
Could not start watchman; falling back to NodeWatcher for file system events.
Visit http://ember-cli.com/user-guide/#watchman for more info.
1019ms building modules
1ms sealing
0ms optimizing
1ms basic module optimization
1ms module optimization
0ms advanced module optimization
2ms basic chunk optimization
1ms chunk optimization
0ms advanced chunk optimization
0ms module and chunk tree optimization
3ms module reviving
0ms module order optimization
0ms module id optimization
1ms chunk reviving
0ms chunk order optimization
1ms chunk id optimization
2ms hashing
0ms module assets processing
6ms chunk assets processing
1ms additional chunk assets processing
0ms recording
1ms additional asset processing
76ms chunk asset optimization
193ms asset optimization
4ms emitting
Hash: 8633515b4611dd25238a
Version: webpack 2.1.0-beta.21
Time: 1329ms
            Asset       Size  Chunks             Chunk Names
   main.bundle.js    19.3 kB    0, 2  [emitted]  main
 styles.bundle.js      13 kB    1, 2  [emitted]  styles
        inline.js    5.53 kB       2  [emitted]  inline
         main.map    15.4 kB    0, 2  [emitted]  main
       styles.map    17.9 kB    1, 2  [emitted]  styles
       inline.map    5.59 kB       2  [emitted]  inline
       index.html  481 bytes          [emitted]
assets/.npmignore    0 bytes          [emitted]
chunk    {0} main.bundle.js, main.map (main) 13.8 kB {1} [initial] [rendered]
chunk    {1} styles.bundle.js, styles.map (styles) 12.7 kB {2} [initial] [rendered]
chunk    {2} inline.js, inline.map (inline) 0 bytes [entry] [rendered]

ERROR in ./src/main.ts
Module not found: Error: Can't resolve '@angular/platform-browser-dynamic' in '/Users/silveir/Projects/studies/ng2_router/src'
 @ ./src/main.ts 2:0-75
 @ multi main

.... many more errors of this nature

Mention any other details that might be useful.
Ive tried the steps above with many different typescript versions

Try ng init and look over the merge files again to check the package.json file. You should have the RC5 version of @angular/platform-browser-dynamic installed so you can get the correct browser module.

I did, it does not solve the problem:
$ cat package.json
{
  "name": "ng2-router",
  "version": "0.0.0",
  "license": "MIT",
  "angular-cli": {},
  "scripts": {
    "start": "ng serve",
    "lint": "tslint \"src/**/*.ts\"",
    "test": "ng test",
    "pree2e": "webdriver-manager update",
    "e2e": "protractor"
  },
  "private": true,
  "dependencies": {
    "@angular/common": "2.0.0-rc.5",
    "@angular/compiler": "2.0.0-rc.5",
    "@angular/core": "2.0.0-rc.5",
    "@angular/forms": "0.3.0",
    "@angular/http": "2.0.0-rc.5",
    "@angular/platform-browser": "2.0.0-rc.5",
    "@angular/platform-browser-dynamic": "2.0.0-rc.5",
    "@angular/router": "3.0.0-rc.1",
    "core-js": "^2.4.0",
    "rxjs": "5.0.0-beta.11",
    "ts-helpers": "^1.1.1",
    "zone.js": "0.6.12"
  },
  "devDependencies": {
    "@types/jasmine": "^2.2.30",
    "angular-cli": "1.0.0-beta.11-webpack.8",
    "codelyzer": "~0.0.26",
    "jasmine-core": "2.4.1",
    "jasmine-spec-reporter": "2.5.0",
    "karma": "0.13.22",
    "karma-chrome-launcher": "0.2.3",
    "karma-jasmine": "0.3.8",
    "karma-remap-istanbul": "^0.2.1",
    "protractor": "4.0.3",
    "ts-node": "1.2.1",
    "tslint": "3.13.0",
    "typescript": "^2.0.0"
  }
}

Good News. Replacing "typescript": "^2.0.0" with "typescript": "2.0.0" worked!

Congrats!
On Wednesday, 31 August 2016, Rodrigo Silveira<EMAIL_ADDRESS>wrote:

Good News. Replacing "typescript": "^2.0.0" with "typescript": "2.0.0"
worked!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/angular/angular-cli/issues/1919#issuecomment-243815890,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEUSGiQg7iGCjb_JmeNN97ZQiqAnYzKSks5qlaf0gaJpZM4JxlAo
.

For the record, this is my current configuration
$ node --version
v6.5.0
$ npm --version
3.10.3
$ ng --version
Could not start watchman; falling back to NodeWatcher for file system events.
Visit http://ember-cli.com/user-guide/#watchman for more info.
angular-cli: 1.0.0-beta.11-webpack.8
node: 6.5.0
os: darwin x64

$ npm list -g
/usr/local/lib
├─┬<EMAIL_ADDRESS>│ ├──<EMAIL_ADDRESS>
...

├──<EMAIL_ADDRESS>
....

So, does "1.0.0-beta.11-webpack.8" is "the version" @dematic-rodrigo-silveira ? Does it work fine for you? What OS?
I need basic stuff working to showcase new stuff like NgModule and webpack. Will that version do?
I tried previous version and there was problems with typescript. It either complained with npm. Updated to 3 and worked, but then when I did "ng serve" app started with a lot of errors in console for missing type definitions like:
ERROR in [default]
Cannot find global type 'Array'.

ERROR in [default]
Cannot find global type 'Boolean'.

ERROR in [default]
Cannot find global type 'Function'.

and so on.. tried adding typing with triple slash reference, tried using typings in tsconfig, tried changing typings/*.. but nothing helped..
What are steps to get Webpack rc5 with TS2.0 working ?
Thanks Much :-)

What we have at the moment is a fluid situation; until it settles we will be experimenting and sharing our observations, as I'm doing on this post. To clarify, after upgrading to 1.0.0-beta.11-webpack.8 recently I, and many others in the community, experienced variety of errors, mostly characterized by error messages during ng build and ng serve indicating that basic modules like @agular/core could not be found. Earlier this morning, collecting notes recorded in issues in this project, I cobbled an environment that is working for me:
My tools
 node --version
v6.5.0
$ npm --version
3.10.3
$ ng --version
Could not start watchman; falling back to NodeWatcher for file system events.
Visit http://ember-cli.com/user-guide/#watchman for more info.
angular-cli: 1.0.0-beta.11-webpack.8
node: 6.5.0
os: darwin x64

$ npm list -g
/usr/local/lib
├─┬<EMAIL_ADDRESS>│ ├──<EMAIL_ADDRESS>
...

├──<EMAIL_ADDRESS>
....

Typescript and packages.json
Changed typescript": "^2.0.0" to  "typescript": "2.0.0" in my packages.json
Executed the following commands on my project root
$ rm -rf node_modules dist tmp typings
$ npm install --save-dev angular-cli@webpack

Good luck!

Now that the newly released RC6 requires typescript 2.0.2, angular-cli will not work with it until it also supports 2.0.2

@billdwhite - You say that RC6 requires 2.0.2, can we still use RC5 with 2.0.0?  I'm struggling with this same problem and had it working with RC5, but now that I'm trying to set it up on another Windows machine I can't get it to build.

The original issue seems to be a dupe of https://github.com/angular/angular-cli/issues/1919#issuecomment-243763329.
Not really sure where the followup replies came from since the main post contains 0 information, but please open new issues if your problems persist.
The<EMAIL_ADDRESS>issue was fixed though.


fix pluto build use of dcpy.builds

pluto build here that only failed due to running out of memory
will clean up commits but wanted to get eyes on this asap

Looks like it failed due to disk storage, @sf-dcp's build failed for the same reason.
We can merge this, but might also be worth just getting building on edm-data (and doubling size of edm data first to prevent maxing out storage there). Otherwise this major release might get held up more

@alexrichey just flagging commit 4c20c26 in case you were reviewing before I pushed it

@alexrichey just flagging commit 4c20c26 in case you were reviewing before I pushed it

Nice. I like returning the path and using that rather than "calculating" it in multiple spots, and now that build is meant as the cli I think it probably makes sense to remove some of the recipe cli stuff

per pluto build failing here, changed the use of purge_recipe_cache to be called in load_source_data rather than via CLI in a build workflow


RFC: Allow to fix only modified files

The most frequent use-case for fixer is fixing style before commit files. So, it would be really cool, if fixer could detect modified files by itself. Now I should write something like:
hg status -n | xargs php-cs-fixer fix --config-file=.php_cs

Much better is
php-cs-fixer fix --modified

By modified I assum you meant modified in VCS ? Then the tool need to support git, mercurial, svn etc... and what if there is no VCS?
Then I suggest you to use tools integrated with your VCS like https://github.com/sjparkinson/static-review or https://github.com/sk-/git-lint for local run or fabbot.io / StyleCI for run as a service.
Also, PHP CS Fixer has his own cache to not lint file if it was not changed afted previous fixing.

By modified I assum you meant modified in VCS ?

Yes.

Then the tool need to support git, mercurial, svn etc...

Yes, of course :) Implementing it does not seems to be hard.

and what if there is no VCS?

Throw an error

or https://github.com/sk-/git-lint

Looks interesting, thanks!

Also, PHP CS Fixer has his own cache to not lint file if it was not changed afted previous fixing.

This means that at least one time project should be scanned by the Fixer. For my project it takes for 50 minutes, and it should do every developer in my company.
Of course I can share .sh file, it enough for us, but I just want to make the Fixer better and easier to use for end users.

We already do this though through caching.

It's basically the same.

We only check files changing since the last run.

For my project it takes for 50 minutes, and it should do every developer in my company.

Great (and not, so big project as one repo ;P). Treat it as initial fix, enable cache, fix project, and commit changes. Then - next fix will fix only changed files.
I think idea behind your proposition is good, but we should keep things small and simple - PHP CS Fixer works without repo and it's great, learning it to work with repos indeed, isn't the hardest thing to do. But if there are already so many projects that fulfill this purpose, and do it in better way (eg works not only for PHP) - why not to simply use them ?

Next one solution is to use precommit hook, eg https://github.com/zendframework/zf2/blob/release-2.4/README-GIT.md#pre-commit-hook-optional

Or use a hosted service :trollface:.

Great (and not, so big project as one repo ;P). Treat it as initial fix, enable cache, fix project, and commit changes. Then - next fix will fix only changed files.

There is a few problems.

Initial fix. What if code was born in 2007, and almost whole project written when no psr was. Some mainainers do not want to fix whole project, because it could break code.

New developer starts to work in a company. He clones repo, and he should to do initial fix. And he should wait 50 minutes for cache warming up.

Both of problems fixed by fixing only modified files.

we should keep things small and simple

I am agree with you. Really. But I am also think that utility should be a little closer to end user. Maybe we can add some recipes to README file?

New developer starts to work in a company. He clones repo, and he should to do initial fix. And he should wait 50 minutes for cache warming up.

Existing users can share their cache with the new ones.

You can write tiny script to fix only modified files. For example on bash.
This solution can be implemented in 1 minute.
:-1:

:-1:

Closind due to discussion.
@Strate idea itself is great and even we like to fix only modified files. We just think that this could be solved better than inside the tool itself.


Train from file

Hi,
I wonder if it possible to train it from a specific file with conversations.
For example specify the file name in example_app/settings.py:
CHATTERBOT = {
    'name': 'ChatterBot Example',
    'trainer': 'chatterbot.trainers.ChatterBotCorpusTrainer',
    'training_data': [
#        'chatterbot.corpus.english.greetings'
        './data/custom.corpus/custom_conversations.txt'
    ],
    'django_app_name': 'django_chatterbot'
}

And in data/custom.corpus/custom_conversations.txt to have statements and responses like:
How are you?
I am doing great, thanks.
Do you enjoy the weather today?
Not really.
We should play some baseball.
I would love to play baseball.

So when I run the python manage.py train command, to get all these answers in my SQLite database.
How is this done? Thank you

Got it. My example_app/settings.py looks like this:
CHATTERBOT = {
    'name': 'ChatterBot Example',
    'trainer': 'chatterbot.trainers.ChatterBotCorpusTrainer',
    'training_data': [
        './data/custom.corpus/conversations.yml'
    ],
    'django_app_name': 'django_chatterbot'
}

And data/custom.corpus/conversations.yml looks like this.

:+1:


Any reason why some of the mib files are excluded for json conversion using mibdump tool?

When running mibdump tool, the output log says few of the mib files were excluded from code generation as below. Can someone please let me know what's the reason behind this exclusion and is there an option to override this behavior?
MIBs excluded from code generation: RFC-1212, RFC-1215, RFC1065-SMI, RFC1155-SMI,
RFC1158-MIB, RFC1213-MIB, SNMPv2-CONF, SNMPv2-SMI, SNMPv2-TC, SNMPv2-TM

Some MIBs may not be automatically transformed into another form and therefore must be explicitly excluded from processing. Such MIBs are normally manually implemented for each target MIB format. Examples include MIBs containing base SMI types or ASN.1 MACRO definitions (SNMPv2-SMI, SNMPV2-TC), initially compiled but later manually modified MIBs and others.
Default list of blacklisted MIBs for pysnmp transformation target is: RFC-1212, RFC-1215, RFC1065-SMI, RFC1155-SMI, RFC1158-MIB, RFC1213-MIB, SNMP-FRAMEWORK-MIB, SNMP-TARGET-MIB, SNMPv2-CONF, SNMPv2-SMI, SNMPv2-TC, SNMPv2-TM, TRANSPORT-ADDRESS-MIB.
If you need to modify this list use the –mib-stub option

Since you used that site as reference, you might want to read https://GitHub.com/etingof/pysnmp/issues/429 to learn more.


Add commentary explaining why we have both transports

I did an investigation to see if we needed both. Without the console transports, the only difference I saw was that the stdout log entry in the dropdown was gone. But everything that we logged to winston was in winston log still. Seems we don't need both.
@dkapadia This was prompted by your query in the GraphQL gateway code on whether both transports were needed.

Great - thanks for looking into this! Looks like we can simplify the gateway to long only to one transport then as well.


Release Google.Cloud.BigQuery.Reservation.V1 version 1.0.0-beta01

Changes in this release:
First beta release.

Created release for Google.Cloud.BigQuery.Reservation.V1-1.0.0-beta01


Rename .analysis_options to analysis_options.yaml

See https://github.com/dart-lang/sdk/issues/28385

LGTM, I guess? Please make sure to let everyone know in flutter-dev, since this may be a breaking change.


Computer won’t boot after update

Hello, I am running alienware x51 R2 with a radeon rx 550, everything has been fine but now with the latest update installed, I can’t boot. Here is my error.

I just ran the latest Steam Client beta update and it is only booting to a blinking cursor here.
I can briefly switch ttys, but it will always go back to a black screen with a blinking cursor.
Is there anything I can do to help you figure this out?

I managed to fool around a little in the 1-3s I have until it resets the TTY.
I got through to some journalctl output and snapped a few pictures, not sure if it helps:
First error I see is that it cannot run fsck.btrfs on root partition:

Later, it fails to swapon because of a read-only filesystem

Then even later, the rest of the system notices as well:

I could not really pinpoint where it decided to bail out and go readonly, so maybe I missed a crucial part. But this is almost all errors I could find.

my guess is that you're seeing the gamescope issue with polaris AMD GPUs: https://github.com/ValveSoftware/gamescope/issues/1348

I just ran the latest Steam Client beta update and it is only booting to a blinking cursor here.
I can briefly switch ttys, but it will always go back to a black screen with a blinking cursor.
Is there anything I can do to help you figure this out?
Edit: Okay I just realized there was a major OS update going on as well. Guess it did not land well here. I have an rx 6650xt if it matters

Please create a separate issue. Yours is different than OP. It looks like your btrfs filesystem has become corrupted somehow.

Same here installed a steam update did a restart and now it just shows a blank screen with a dash. I'm how ever able to get into tty with alt+f2 and login to the command line.
Deploying 45-1 does not seem to work. Same screen.
I'm using a 4th gen i5 and a Rx 470


Is gpioSetAlertFunc() thread based?

I have an infinite loop and wanted the callback function write to a global variable when the monitored GPIO goes high. The loop would then alter its function based on that variable.
Though I was wondering if that is a safe thing to do or do I need a mutex?

You shouldn't need a mutex.  The callbacks are made from a single thread so your callback will run in that threads context.  The callback will run to completion before the next call is made.

Great! So the thread where I register the callback function for a GPIO is the same thread the callback will run in? How does that work without me calling some sort of update function in my thread or blocking it? Just curious, have a hard time understanding how the function works by reading the relevant functions in pigpio.c.
Also is this true for all callback based functions?

I'd be more inclined to say it depends on the exact use case. If a single GPIO is being monitored and the callback is setting a single primitive variable like an int and alerts are not occurring at a high rate, then a mutex may not be needed. I'd feel better using one.

Great! So the thread where I register the callback function for a GPIO is the same thread the callback will run in?

No, they are different threads.

There is a single sampling thread which calls all the needed callbacks in order.  I've always understood that all the callbacks are called in the context of the sampling thread.  The sampling thread will not generate another callback until the previous callback has completed.

Yes, there's the sampling thread which calls the callbacks in order in the context of the sampling thread and there's another thread with the infinite loop mentioned in the first post.
The sampling thread may call multiple callbacks in order in quick succession without the infinite loop thread being allocated any processing time.

Ah ok, that I can wrap my head around now. I will have multiple GPIOs monitored so a mutex seems to be in order. Any recommendations? My code is written in C++, would it be ok to just use std::mutex or do I need to use pthread_mutex? I have zero experience working with pthread directly.

I assumed that since the sampling thread makes a standard function call to the callback that callback was operating in the context of the sampling thread.
The spinning thread may not even have registered the callback.  I don't think a C function has any concept of ownership.  It simply knows the thread that it is called by.

In a similar scenario I used semaphores (sem_wait, sem_post, ...) but std::mutex should work too.

Thanks I wasn't aware of that concept, sounds useful.


Feature/2824 37 change table row height to 52

Fixes #37

Changes proposed in this Pull Request:

Updated height of mat-row to 52px

Screenshots:

To Test:

yarn start
Navigate to data display in MUI components

You would also need a padding: 8px 16px so that the text would not get clogged up when it wraps.

consider also specifying the height / min-height  to be 3.25rem to scale better with browser upsizing.