I'm trying to update the code on my own

I'm not sure which library I should use for the script to recognize and run the code even though the window is not in the foreground. For example: you are using YouTube and meanwhile the code keeps running the MFF in the Nox window, keeps running without the need for the Nox window to always be showing. Would anyone know tell library I should add for this to work?

Isn't it already doing that? windll.user32.PrintWindow captures any active window that currently renders.
The window should be active (not minimized to tray) but you can have any other window on foreground over it and it still should work anyway.


Remove Default Source And Meta Colors

Fixes #54

I don't believe this has anything to do with atom changing as other themes do not have the same problem.
The problem maybe that we are setting too many colors. For example if you remove line 16 and line 185 from syntax.less everything looks good.
I checked a couple languages after doing that and everything looked good. Is there a specific reason these were added here? If an element does not have a better scope it will be set by line 13 of editor.less which is what most other themes do.
Maybe we revert #53 in favor of removing these color definitions? If you would like me to put that together I can.

I added this to my custom style sheet and then looked through a project with 44 different languages in it and everything looked fine.
.syntax--source, .syntax--meta {
  color: unset;
}

@arcticicestudio do you think my new solution would work? I can amend this request if it seems like a good idea.

Sounds like a great improvement! I've planned to refactor the syntax- and UI Atom themes to clean them up and I think this might be good start to prevent issues like #53 and #54.

I made the updates I was talking about.
Should I change this merge request to merge into release/0.10.0?

Maybe a new PR would be better so I can close this one and mark it to be superseded by the the new PR including the specific issues. If the changes also fix #52 I'll revert the merge.
You can use the develop branch for the new PR, I'll organize the versions later on and change it if it better fits in version 0.10.0.

Ok. I will do that.


Remove references to UserVoice for "suggestions"

Link to article:
An example, but there are more
https://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2017-relnotes#feedback
Problem:
The feedback section says to use UserVoice, but UserVoice says use devcomm.
The page also does not have a specific feedback section for itself.

Thank you for your feedback @StingyJack . Yes, you can use UserVoice https://visualstudio.uservoice.com/forums/121579-visual-studio-ide to submit any suggestion for VS, also you can create bug at dev community site. This feedback channel to is to accept user feedback for docs.microsoft.com. What kind of feedback do you want to submit?

Big note at the top of the UserVoice page says dont use it anymore.

@StingyJack Thank you for your detailed info. This is the user voice managed by VS team, it's not in docs and out of control. I can try to contact with their team offline, but you can also submit your feedback in the VS developer community, very appreciate.

@EdisonDa I'm confused. As far as I can tell, this issue is about the fact that this Docs page links to the deprecated VS UserVoice:

I think that's something that's in your control and should be fixed.

@EdisonDa

We don't manage their user voice site and their community site.

But you do manage https://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2017-relnotes#feedback, right? Which is the page that I think should be updated.

@StingyJack Thank you for your detailed info. This is the user voice managed by VS team, it's not in docs and out of control. I can try to contact with their team offline, but you can also submit your feedback in the VS developer community, very appreciate

@EdisonDa - I did. that a year and a half ago. I'm now asking Docs (you, this page, your team) to correct its links to match.


Transaction verify not working.

https://coinb.in/#verify
010000000001a0860100000000001976a9145700e52bce4a0fceca7646a9614a46c2f364559f88ac00000000
Submit
Result: Unable to decode

https://ttutdxh-nubits.github.io/cointoolkit/#verify
Change mode - select BitCoin.
010000000001a0860100000000001976a9145700e52bce4a0fceca7646a9614a46c2f364559f88ac00000000
press "Verify" button.
Result: Success decoding raw transaction.

Source code: https://github.com/ttutdxh-nubits/cointoolkit

Also in coinbin-v1.2a from releases transaction verify working good, but in coinbin-v1.3 this is not working.
Fix this, please.

P.S.: You can fix this, using next code:

coinbin.js:

function decodeTransactionScript(){//...
//if (decode.witness.length>=1) {
if (typeof decode.witness !== 'undefined' /*exclude undefined for non-segwit transaction*/
&& decode.witness.length>=1) {

coin.js:

var obj = new coinjs.transaction();
obj.version = readAsInt(4);
//console.log(obj.version);
//if(buffer[pos] == 0x00 && buffer[pos+1] == 0x01){
if(obj.version!==1 /*or another identificator to exclude not segwit transaction*/
&& buffer[pos] == 0x00 && buffer[pos+1] == 0x01){
	// segwit transaction

Didn't work on either.

Please read what I said:
The transaction you posted is an invalid format and can not be parsed by a proper application.
Any application that looks at that data and says "this is a valid transaction format" is wrong. The fact that is says "OK" when it SHOULD say "WRONG" means that the app is wrong.
Coinbin is correct here.

Here is the simplest English I can say:
This hex data:
"010000000001a0860100000000001976a9145700e52bce4a0fceca7646a9614a46c2f364559f88ac00000000"
is not a Bitcoin transaction.
Coinbin is right.
Brainwalletx and cointoolkit are wrong.

@junderw Ok, thanks.
If you have free time, you can fork and rewrite this client-side applications,
just for fun, and open the pull requests.
Bitcoin documentation is very hard to read and understanding.


Add (back) support for syncing Instagram photos

Sync has broken for instagram photos.  I believe this was due to a change in Strrava API and hence changes in Stravalib, but I have not investigated this deeply.

I will tinker with this.

Ok, great -- let us know what you find.  Also, contact me to get setup with access to the server so you can use existing API keys.


can we add battery percentage?

can we add battery percentage?

What would be the added value comparing to https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-battery-status/?

yes, i do agree with that, but it would be better to add battery % and weather charging or not in the location collection, otherwise for only this thing user has to install the above mentioned plugin, as well he has to write some code so that it can be embedded with location collection.
Hopefully this makes some sense.

Make sense. Will consider adding. Also accepting PR.

@mauron85 Thanks for your reply, i will love to do that but currently i don't have much understanding with java but i will try.

+1

@mauron85 Any updates on this?

Hello, in my opinion there is no need to add such enhancement to this plugin.
There is https://github.com/apache/cordova-plugin-battery-status that covers exactly what is requested in this issue.
Please do not pollute more this plugin with requeriments that has nothing to do with geolocation.

I think with version 3.0.0 one can integrate cordova-plugin-battery-status  nicely:
window.addEventListener("batterycritical", onBatteryCritical, false);

function onBatteryCritical(status) {
    alert("Battery Level Critical " + status.level + "%\nRecharge Soon!");
    BackgroundGeolocation.configure({ postTemplate: { battery: status, lat: '@latitude', ... } }
}

Closing. Use my advice above as solution. Keep in mind that it's limited to stopOnTerminate: true. If you kill app you cannot track percentage anymore. However I think it's fair though. Tracking users silently is bad. As such I don't really want to add any more power.

@mauron85 "Tracking users silently is bad"
If this were true, one wouldn't need background geolocation too. Anyways, if you just go through the issues a lot of them have been about battery percentage. I think this is a must have feature and should be a part of this plugin.


Implement cuDNN convolution interface

Please merge #512 before this PR.

#512 is merged.

@niboshi I added test. And, it was passed.

Sorry for delay. Can you resolve conflict?

I added comment.

jenkins, test this please.

jenkins, test this please.

I fixed.

Please check this too: https://github.com/cupy/cupy/pull/715#discussion_r172437796

Forgot return?

I fixed.

LGTM!

I fixed.

@okuta Should this PR be backported?

No.


[Bug] elasticstack_elasticsearch_security_api_key

Describe the bug
looks like the elasticstack_elasticsearch_security_api_key recource is not working, event the defauklt example code does not working: https://github.com/elastic/terraform-provider-elasticstack/blob/b78c2ec78e21114ff802c5e78d02dc7e15a5341e/internal/elasticsearch/security/api_key_test.go#L76-L85)
To Reproduce
Steps to reproduce the behavior:
resource "elasticstack_elasticsearch_security_api_key" "this" {
  name = "test"
  role_descriptors = jsonencode({
    role_name = {
      role-a = {
        cluster = ["all"]
        indices = [{
          names                    = ["index-a*"]
          privileges               = ["read"]
          allow_restricted_indices = false
        }]
      }
    }
  })
}

Expected behavior
It should create the key with the defined permissions
Screenshots
using the example: https://registry.terraform.io/providers/elastic/elasticstack/latest/docs/resources/elasticsearch_security_api_key#api_key

Works but does not take into account the settings:

Versions (please complete the following information):

OS: [e.g. Linux]
Terraform Version [e.g. 1.7.0]
Provider version [e.g. v0.11.2]
Elasticsearch Version [e.g. 8.12.2]

I was able to successfully run the following TF config on my local using a docker image of ES:

start ES docker image - run make docker-elasticsearch from the provider repo root (it should expose ES on host port 9200)
apply the following TF config

terraform {
  required_providers {
    elasticstack = {
      source  = "elastic/elasticstack"
    }
  }
}

provider "elasticstack" {
  elasticsearch {
    endpoints = ["http://localhost:9200"]
    username = "elastic"
    password = "password"
  }
}

resource "elasticstack_elasticsearch_security_api_key" "test" {
  name = "test"

  role_descriptors = jsonencode({
    role-a = {
      cluster = ["all"]
      indices = [{
	names = ["index-a*"]
	privileges = ["read"]
	allow_restricted_indices = false
      }]
    }
  })
}

It could be that you faced with the issue described here.

@dimuon Thanks for checking this out, effectively it looks like its because I am trying to create an API using an API Key :-)
https://github.com/elastic/elasticsearch/issues/52244
It is still not clear if this is possible or not, I have tried creating a new using the roles "manage_api_key", "manage_own_api_key" an I am still getting the same error.
This is how I am using the TF:
resource "elasticstack_elasticsearch_security_api_key" "this" {
  name = "test"
  role_descriptors = jsonencode({
    role-a = {
      cluster = ["all"]
      indices = [{
        names                    = ["index-a*"]
        privileges               = ["read"]
        allow_restricted_indices = false
      }]
    }
  })
}

terraform {
  required_version = ">= 1.7"
  required_providers {
    elasticstack = {
      source  = "elastic/elasticstack"
      version = "~>0.11"
    }
  }
}

provider "elasticstack" {
  elasticsearch {
    api_key   = "XXX"
    endpoints = ["https://XXXX.es.westeurope.azure.elastic-cloud.com:9243"]
  }
}


 I'll fix that.

oh, I guess lazy isn't in old versions of Vue. I'll fix that.


Add distributed force unit with operator overloads

Same pull request as before but this time with operator overloads for the forcePerLength:

forcePerLength * length = force
force / forcePerLength = length
forcePerLength / length = pressure

Okay, new PR, no problem.

@JKSnd Would you care to review and merge this PR?

@anjdreas : sorry, still a beginner with github and push requests...

I can have a look right now!

My deepest apologies! I made these review comments, then neglected to hit the "submit review" button. I thought at the time that the comments would be added to this thread in real time. That's a mistake I'll only make once. Again, I'm sorry for this delay!

@JKSnd I've added a few comments requesting some changes, but just to avoid any misunderstanding I still want you to review and merge this PR.

The server is giving me a 522 error (Connection timed out) when I try to investigate this build failure. @anjdreas I'm going to wait for your input before trying again.

Sorry, that's me. The build server was moved to the new house. I just updated the domain name and it will probably take a day or so to propagate.

Copied from build server:
Step 1/1: build.bat (Command Line) (18s)
[01:14:10][Step 1/1] Process exited with code 1
[01:14:10][Step 1/1] UnitsNet.Tests.dll
[01:14:10][UnitsNet.Tests.dll] UnitsNet.Tests.CustomCode.ForcePerLengthTests.ForcePerLenghTimesLengthEqualForce
[01:14:10]
[UnitsNet.Tests.CustomCode.ForcePerLengthTests.ForcePerLenghTimesLengthEqualForce] Expected: 81 N
  But was:  9 N
[01:14:10][UnitsNet.Tests.CustomCode.ForcePerLengthTests.ForcePerLenghTimesLengthEqualForce] at UnitsNet.Tests.CustomCode.ForcePerLengthTests.ForcePerLenghTimesLengthEqualForce() in C:\TeamCity\buildAgent\work\6c2ac6daa7a037ba\UnitsNet.Tests\CustomCode\ForcePerLengthTests.cs:line 73
[01:14:10][Step 1/1] Step build.bat (Command Line) failed

Oh, build 285 was success and build 284 was failed but reported later at github. Threw me off. Anyhow, all looks good and is merged now.

Perfect, thx :-)


no data

i ran it myself, my targets ran it and nothing, no data was send to the webhook

Can be caused due to so many reasons ...
Check if your anti-virus is disabled.
What builds of Discord you have installed?
What browsers you have installed?
You getting any error while debugging?
What version of Windows you using?

Av is disabled
Discord is up to date
Browser is OperaGX
No errors while debugging
Windows 10 Pro

Put breakpoint on line 491 (Main/Grabber.cs) and check if it reach there.

Alright since I will archive this project in couple of days and you have not responded, I will close this issue.


[image_picker] Support option for already selected images in ImagePicker().pickMultiImage()

Use case
Currently, pickMultiImage() returns a [List] object with the Images that were picked.
When selecting multiple Images, sometimes you might need to let the user preview the images before saving them in state. If the user wants to edit the selected images, calling the ImagePicker().pickMultiImage() function again does not save the previously selected images.
This function should have an optional parameter for already selected images, so that when the new native Galery view is opened, the images that were selected from a previous state are marked with selected.
Proposal
Adding an optional parameter for selected images (maybe a [List] for already selected images should add more functionality to this flow.

I think this feature is important for a Chat application
If you want to send photos in the chat, user might select multiple photos at a time, but if the user wants to edit their selection, I believe that having previously selected photos marked as already selected when opening the Native Gallery page is important for ux
This package https://pub.dev/packages/multi_image_picker_plus already supports this feature, however the Native Gallery opens with selecting multiple photos by default

This feature is already provided in another package (multi_image_picker_plus) but it's using a different library though. However, having this feature at least in Android and iOS would be much appreciated.

Use case
Currently, pickMultiImage() returns a [List] object with the Images that were picked.
When selecting multiple Images, sometimes you might need to let the user preview the images before saving them in state. If the user wants to edit the selected images, calling the ImagePicker().pickMultiImage() function again does not save the previously selected images.
This function should have an optional parameter for already selected images, so that when the new native Galery view is opened, the images that were selected from a previous state are marked with selected.
Proposal
Adding an optional parameter for selected images (maybe a [List] for already selected images should add more functionality to this flow.

However, having this feature at least in Android and iOS would be much appreciated.

Please see my previous comment. If you are aware of a way to configure PickVisualMediaRequest to pre-select items, please link to the relevant documentation.


Question: How to handle polymorphysim

Hi, previously i asked about an issue i had, the problem seemed to be how i was handling inheritance.
How can i fix the following issue.
Entity
public class Event extends BaseEntity{
 private String eventName;

// Getters and setters
}

Base Entity
public abstract class BaseEntity extends BaseEntityFunction implements Comparable, Serializable{
   @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    protected Long id;

// Getters and setters
}

Then my query
{findById(id:1){eventName}}
Service
 @GraphQLQuery(name = "findById")     public Event  getById(@GraphQLArgument(name = "id") Integer id) {         return null;     }
GraphQL init
`            EventService eventService = new EventService();
GraphQLSchema schema = new GraphQLSchemaGenerator()
.withOperationsFromSingleton(eventService)
.generate();
GraphQL graphQL = GraphQL.newGraphQL(schema).build();
        ExecutionResult result = graphQL.execute(query);`

Error im getting
Error The type of member "getClassName" belonging to io.bone.SpecialView is missing generic type parameters and can not be mapped. For details and possible solutions see https://github.com/leangen/graphql-spqr/wiki/Errors#ambiguous-member-type [Ljava.lang.StackTraceElement;@64b2142d
This happens to all the Entities, i looked at the possible solutions but cant seem to get it right

No I have not yet, Still struggling with the abstract part. I closed this due to several abstract issue closed, so will try that first.
Currently i have this
`     ResolverBuilder filteringBuilder = new AnnotatedResolverBuilder().withFilters( //add a filter
m -> (!(m instanceof Method) || !((Method) m).isBridge()) && !m.isSynthetic());
        GraphQLSchema schema = new GraphQLSchemaGenerator()
                .withOperationsFromSingleton(eventFacade, TypeFactory.innerClass(EventFacade.class, AbstractFacade.class), filteringBuilder)
                .withBasePackages(basePackages)
                .generate();
        GraphQL graphQL = GraphQL.newGraphQL(schema).build();`

But im not sure if im doing it correctly

Recent versions of SPQR (you're on 0.9.7, right?) already correctly filter out the bridge and synthetic methods, so you don't need to customize that.
As for the EventFacade, does it have a generic type (EventFacade<T>)? If not, you don't need the TypeFactory stuff. If it is, you must provide the full generic type, e.g.
.withOperationsFromSingleton(eventFacade, new TypeToken<EventFacade<Something>>(){}.getType())

This is you know the generic type (Something in my example). Only if that's dynamic, you need the TypeFactory:
.withOperationsFromSingleton(eventFacade, TypeFactory.parameterizedClass(EventFacade.class, dynamicClass))

TypeFactory#innerClass is for dynamically producing types representing inner classes, it's highly unlikely you need that.
If you're still having issues, post what your EventFacade and AbstractFacade (and whatever else is relevant) look like.

The error you quoted above is about the getClassName method from SpecialView. Where is that coming from and what does it look like?
What you've shown up to now is perfectly vanilla and doesn't require any special setup. You're on v0.9.7, right?

I am on 0.9.7 The error is one of the other entities similar to Event

Error The type of member "getClassName" belonging to za.co.picksmart.entity.bone.Event is missing generic type parameters and can not be mapped. For details and possible solutions see https://github.com/leangen/graphql-spqr/wiki/Errors#ambiguous-member-type
[Ljava.lang.StackTraceElement;@62714c8b

As I said, this setup is the most basic one and whatever makes it special is outside of what you've shown so far... Without knowing exactly what the types look like, it is simply impossible for me to answer.
The only way I'd be able to help you is if you could provide a minimal example demonstrating the issue. Maybe create a small throw-away project on GitHub that reproduces the issue, or something like that?

I've just noticed that in your examples you sometimes register eventService and sometimes eventFacade in withOperationsFromSingleton.
Which one contains the query method? Especially in the last example, you register eventFacade but query for the event method which is on the EventService. If this is not just a typo, it is no wonder the query is not found. It indeed doesn't exist on the registered (EventFacade) bean, at least according to your examples.
Also, the query { event (id: 1) } because it is missing a sub-selection, e.g.
{
  event (id: 1) {
      id
  }
}

I made a quick test that replicates your setup as closely as I could recreate it from your samples: https://github.com/kaqqao/tinusj/blob/master/src/main/java/kaqqao/spqr/sample/GraphQLTest.java
It works just fine. I suspect that apart from the errors above, you have a method with an ambiguous generic return type (getClassName ). If the generic type is not possible to detect statically, e.g. because it is an unconstrained type variable or a wildcard, you either have to filter that method out and not map it to GraphQL at all, or map the generic type as Object using schemaGenerator.withTypeTransformer(new DefaultTypeTransformer(true, true)) .

Thanks for the example, appreciate it.
Im only using the EventFacade sorry for the confusion. It contains the business code and the jpa query.
Still got the same issue. Will look further into it today using the example.
Just to recap this is what the EventFacade looks like

@Stateless
public class EventFacade extends AbstractFacade<Event> {

     @GraphQLQuery(name = "event")
    public Event findById(@GraphQLArgument(name = "id") Long id) {
// JPA Query
    }

}

@kaqqao When i debug my facade looks like this in the servlet

I believe this is where the issue is, just not sure how to fix it.

Hm, could be that the type somehow gets mangled by the generated proxy...
Try registering it with an explicit type:
.withOperationsFromSingleton(eventFacade, new TypeToken<AbstractFacade<Event>>(){}.getType())

Ok so i tried it and it still gives the same. This is what my servlet looks like.
`
@WebServlet(value = "/bql")
public class GraphQLServlet extends HttpServlet {
private static final Logger LOG = LoggerFactory.getLogger(GraphQLServlet.class);
private static final String[] basePackages = new String[]{"za.co.picksmart.entity"};

@EJB
private EventFacade eventFacade;

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    ServletOutputStream sout = response.getOutputStream();
    response.setContentType("text/plain;charset=UTF-8");
    try {

//            String query = "{ event (id: 1) { id }}";//request.getParameter("q");
        GraphQLSchema schema = new GraphQLSchemaGenerator()
                .withBasePackages(basePackages)
                .withOperationsFromSingleton(eventFacade,new TypeToken<AbstractFacade<Event>>(){}.getType())
                .generate();

        GraphQL graphQL = GraphQL.newGraphQL(schema).build();

        ExecutionResult result = graphQL.execute("{ event (id: 1) {id}}");

        sout.print(result.getData().toString());
        response.setStatus(200);
    } catch (Exception e) {
        sout.println("Error " + e.getMessage());
        sout.println(e.getStackTrace().toString());

        response.setStatus(400);
    }

}`

Closing this, found the culprit
    GraphQLSchema schema = new GraphQLSchemaGenerator()
                .withBasePackages(basePackages)
                .withTypeTransformer(new DefaultTypeTransformer(true, true))  // 1
                .withOperationsFromSingleton(eventWrapper) // 2
                .generate();

I switched this when i tested it first. 1 with 2
Thanks for an awesome lib.


Reset pan and zoom on double click

This adds the functionality to reset the zoom and pan of a plot by double clicking, like it works in Matlab.

Looks good, thank you.


Broadlink remote

Description:
This PR introduces a new platform for controlling Broadlink remotes. I know, we already have the Broadlink switch platform that does pretty much the same. But I consider this an enhancement to the wonderful work started by mjg59 and Danielhiversen.
This integration introduces the following improvements:

Instead of being treated as a switch, the Broadlink remote is now treated as a remote.

As a result, learning and command-sending services no longer need to be registered by the Broadlink component as they are already registered by the remote component.

Command learning has become much easier.

The user no longer needs to learn one command at a time, check the persistent notification and then enter it manually into the configuration file as a switch. He can now use the following service:
- service: remote.learn_command
  data:
    entity_id: remote.bedroom
    device: television
    command:
      - turn on
      - turn off
      - channel up
      - channel down
      - volume up
      - volume down

This service allows the user to learn a sequence of commands very quickly. All the commands are stored in a JSON file and are easily retrieved by the command sending service. It also allows the user to capture toggle commands by using the 'alternative' flag:
- service: remote.learn_command
  data:
    entity_id: remote.bedroom
    device: television
    command: power
    alternative: True

When calling the command learning service with this flag, two codes will be captured for the same command, and will be sent alternatively each time the command is called.

Command sending has become much powerful.

Now the user can send several commands sequentially, and can repeat the sequence as many times as desired. Suppose the user wants to turn on the air conditioner and then turn off the annoying display light with a single service call. He can do something like this:
- service: remote.send_command
  data:
    entity_id: remote.bedroom
    device: air conditioner
    command:
      - turn on
      - turn off display

Now suppose the user wants to increase the volume of the television by 20. He can do something like this:
- service: remote.send_command
  data:
    entity_id: remote.bedroom
    device: television
    command: volume up
    num_repeats: 20

I use this powerful tool combined with a data template to voice control the volume of my TV. I can say things like "Alexa, set TV volume to 50". If you want to know how I do it, just ask me and I send you the config.
So that's it, I hope you enjoy this integration and make good use of it. And if there is anything I can do to make this code better before it is merged please let me know and I will do it.
Related issue (if applicable): #23888
Pull request with documentation for home-assistant.io (if applicable): home-assistant/home-assistant.io#10329
Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[x] I have followed the development checklist

If user exposed functionality or configuration variables are added/changed:

[x] Documentation added/updated in home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[x] The manifest file has all fields filled out correctly. Update and include derived files by running python3 -m script.hassfest.
[x] New or updated dependencies have been added to requirements_all.txt by running python3 -m script.gen_requirements_all.
[x] Untested files have been added to .coveragerc.

Hello @felipediel,
When attempting to inspect the commits of your pull request for CLA signature status among all authors we encountered commit(s) which were not linked to a GitHub account, thus not allowing us to determine their status(es).
The commits that are missing a linked GitHub account are the following:

7af305a7de132df3eb9803e47372b236bb804487 - This commit has something that looks like an email address (felipe-diel@hotmail.com). Maybe try linking that to GitHub?.
e3f9b1027ee83a3c94dd10698e78af3f131c20a4 - This commit has something that looks like an email address (felipe-diel@hotmail.com). Maybe try linking that to GitHub?.

Unfortunately, we are unable to accept this pull request until this situation is corrected.
Here are your options:

If you had an email address set for the commit that simply wasn't linked to your GitHub account you can link that email now and it will retroactively apply to your commits. The simplest way to do this is to click the link to one of the above commits and look for a blue question mark in a blue circle in the top left. Hovering over that bubble will show you what email address you used. Clicking on that button will take you to your email address settings on GitHub. Just add the email address on that page and you're all set. GitHub has more information about this option in their help center.

If you didn't use an email address at all, it was an invalid email, or it's one you can't link to your GitHub, you will need to change the authorship information of the commit and your global Git settings so this doesn't happen again going forward. GitHub provides some great instructions on how to change your authorship information in their help center.

If you only made a single commit you should be able to rungit commit --amend --author="Author Name<EMAIL_ADDRESS>
(substituting Author Name and<EMAIL_ADDRESS>for your actual information) to set the authorship information.
If you made more than one commit and the commit with the missing authorship information is not the most recent one you have two options:

You can re-create all commits missing authorship information. This is going to be the easiest solution for developers that aren't extremely confident in their Git and command line skills.
You can use this script that GitHub provides to rewrite history. Please note: this should be used only if you are very confident in your abilities and understand its impacts.

Whichever method you choose, I will come by to re-check the pull request once you push the fixes to this branch.

We apologize for this inconvenience, especially since it usually bites new contributors to Home Assistant. We hope you understand the need for us to protect ourselves and the great community we all have built legally. The best thing to come out of this is that you only need to fix this once and it benefits the entire Home Assistant and GitHub community.
Thanks, I look forward to checking this PR again soon! :heart:

⚠ I was unable to find a documentation PR (matching this code change) in our documentation repository.
Please, update the documentation and open a PR for it (be sure to create a documentation PR against the next branch) and link 🔗 this PR and the new documentation PR by mentioning the link to the PR's in both openings posts/descriptions.
🏷 I am adding the docs-missing label until this has been resolved.

warning I was unable to find a documentation PR (matching this code change) in our documentation repository.
Please, update the documentation and open a PR for it (be sure to create a documentation PR against the next branch) and link link this PR and the new documentation PR by mentioning the link to the PR's in both openings posts/descriptions.
label I am adding the docs-missing label until this has been resolved.

Done.

Now the user can send several commands sequentially, and can repeat the sequence as many times as desired. Suppose the user wants to turn on the air conditioner and then turn off the annoying display light with a single service call. He can do something like this:
- service: remote.send_command
  data:
    entity_id: remote.bedroom
    device: air conditioner
    command:
      - turn on
      - turn off display

Now suppose the user wants to increase the volume of the television by 20. He can do something like this:
- service: remote.send_command
  data:
    entity_id: remote.bedroom
    device: television
    command: volume up
    num_repeats: 20

It is not clear to me how to combine sending several commands and repeating some commands at the same time.

It is not clear to me how to combine sending several commands and repeating some commands at the same time.

You could definetely do both.
  - service: remote.send_command
    data:
      entity_id: remote.bedroom
      device: some_device
      command:
        - 1
        - 2
        - 3
      num_repeats: 2

The num_repeats is the outer loop, so this script it will send 1 2 3 1 2 3.

I will start working on the improvements now and respond to other comments as their requirements are completed.

The num_repeats is the outer loop, so this script it will send 1 2 3 1 2 3.

How to send 1 2 2 2  ?

@a005 that is an issue for the remote integration, not for the broadlink implementation.

Very nice! 🎉


Profile Settings HTML

Simple and bad, will improve later

Could you utilize Buefy?
https://buefy.org/

ignore


Lingering test containers after make test

Describe the bug
make test launches containers to enable integration tests. However, they are not torn down after.
System Information (please complete the following information):

OS: macOS Sonoma
Lumigator version: 7be2518

To Reproduce
Steps to reproduce the behavior:

Clone repo
docker ps shows no containers
make test (requires 128GB available to build the images)
docker ps shows lingering containers

Expected behavior
No containes should be left there.
Screenshots
N/A
Additional context
Potentially one might want to only tear down those created during tests, but we can also agree that test should happen with no other lumigator containers running in the background anyway.

Adding further context here:

make test runs the following:

test:
    make start-lumigator-build
    cd lumigator/python/mzai/backend; SQLALCHEMY_DATABASE_URL=sqlite:///local.db uv run pytest
    cd lumigator/python/mzai/sdk; uv run pytest
    make stop-lumigator

There are a few checks missing:

containers are started ignoring whether any container is already running (in the typical developer setting, they are already up in attached mode with make local-up)
if anything breaks during tests, the last command (make stop-lumigator) is not run
if everything works, all containers are teared down including those started with make local-up

Ideally what should happen is the following:

check whether there are containers already running
if so, run tests
otherwise, (1) start containers, (2) run tests, (3) tear down containers

Fixed with #327


Invalid group error

Error: Invalid group: 10000
Error: /Stage[main]/Nvm/File[/opt/boxen/bin/node-waf]/ensure: change from absent to link failed: Invalid group: 10000
Error: Invalid group: 10000
Error: /Stage[main]/Nvm/File[/opt/boxen/bin/npm]/ensure: change from absent to link failed: Invalid group: 10000

Homebrew just updated ~2 hours ago and I've started getting this error while running boxen. Is this related to https://github.com/boxen/our-boxen/issues/172 ?
More errors:
Error: Invalid group: 10000
Error: /Stage[main]/Nvm/File[/opt/boxen/bin/node]/ensure: change from absent to link failed: Invalid group: 10000

Error: Invalid group: 10000
Error: /Stage[main]/Git/File[/opt/boxen/bin/boxen-git-credential]/ensure: change from absent to link failed: Invalid group: 10000

FWIW this seems to be a bug in puppet, I've reported it here: https://tickets.puppetlabs.com/browse/PUP-5047
This fix here: https://github.com/lstoll/puppet/commit/53efaffcb45fc165b12685f2085c1f732e4bfb9b seems to validate it. If I ever get anywhere, I'll open a PR to revert the hack in #581 and bump puppet.

I'm a bit late to the game, but I'm hitting this now. And FWIW, this is still an issue. Half of our macs are on a windows domain and they fail. So I'm using the hack above, which is a hack, not a fix, so I'm not sure why this is closed.
Anyway, what if we just used the user's main group? id -gn will give the group name, so why not use it? This script assumes the group is staff, but we could just ask the system.
Thoughts?


HBASE-24588 : Submit task for NormalizationPlan (#1933)

Signed-off-by: Nick Dimiduk<EMAIL_ADDRESS>

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 40s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

_ branch-2.3 Compile Tests _

+0 :ok:
mvndep
0m 15s
Maven dependency ordering for branch

+1 :green_heart:
mvninstall
3m 49s
branch-2.3 passed

+1 :green_heart:
checkstyle
1m 48s
branch-2.3 passed

+1 :green_heart:
spotbugs
3m  9s
branch-2.3 passed

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 12s
Maven dependency ordering for patch

+1 :green_heart:
mvninstall
3m 28s
the patch passed

-0 :warning:
checkstyle
1m 14s
hbase-server: The patch generated 2 new + 103 unchanged - 2 fixed = 105 total (was 105)

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
hadoopcheck
19m  6s
Patch does not cause any errors with Hadoop 2.10.0 or 3.1.2 3.2.1.

+1 :green_heart:
spotbugs
4m 20s
the patch passed

_ Other Tests _

+1 :green_heart:
asflicense
0m 25s
The patch does not generate ASF License warnings.

46m 59s

Subsystem
Report/Notes

Docker
Client=19.03.12 Server=19.03.12 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/1/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/1985

Optional Tests
dupname asflicense spotbugs hadoopcheck hbaseanti checkstyle

uname
Linux c3007ceb4f59 4.15.0-101-generic #102-Ubuntu SMP Mon May 11 10:07:26 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
branch-2.3 / 5e0935977d

checkstyle
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/1/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt

Max. process+thread count
84 (vs. ulimit of 12500)

modules
C: hbase-client hbase-server U: .

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/1/console

versions
git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f) spotbugs=3.1.12

Powered by
Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 36s
Docker mode activated.

-0 :warning:
yetus
0m  7s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ branch-2.3 Compile Tests _

+0 :ok:
mvndep
0m 16s
Maven dependency ordering for branch

+1 :green_heart:
mvninstall
3m 31s
branch-2.3 passed

+1 :green_heart:
compile
1m 20s
branch-2.3 passed

+1 :green_heart:
shadedjars
4m 56s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
1m  1s
branch-2.3 passed

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 16s
Maven dependency ordering for patch

+1 :green_heart:
mvninstall
3m 10s
the patch passed

+1 :green_heart:
compile
1m 20s
the patch passed

+1 :green_heart:
javac
1m 20s
the patch passed

+1 :green_heart:
shadedjars
4m 58s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 59s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
2m 18s
hbase-client in the patch passed.

-1 :x:
unit
152m 19s
hbase-server in the patch failed.

179m 37s

Subsystem
Report/Notes

Docker
Client=19.03.12 Server=19.03.12 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/1/artifact/yetus-jdk8-hadoop2-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/1985

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux cd30327355b4 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
branch-2.3 / 5e0935977d

Default Java
1.8.0_232

unit
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/1/artifact/yetus-jdk8-hadoop2-check/output/patch-unit-hbase-server.txt

Test Results
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/1/testReport/

Max. process+thread count
4306 (vs. ulimit of 12500)

modules
C: hbase-client hbase-server U: .

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/1/console

versions
git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)

Powered by
Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
1m 38s
Docker mode activated.

-0 :warning:
yetus
0m  5s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ branch-2.3 Compile Tests _

+0 :ok:
mvndep
0m 15s
Maven dependency ordering for branch

+1 :green_heart:
mvninstall
4m 57s
branch-2.3 passed

+1 :green_heart:
compile
1m 44s
branch-2.3 passed

+1 :green_heart:
shadedjars
6m 29s
branch has no errors when building our shaded downstream artifacts.

-0 :warning:
javadoc
0m 31s
hbase-client in branch-2.3 failed.

-0 :warning:
javadoc
0m 44s
hbase-server in branch-2.3 failed.

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 19s
Maven dependency ordering for patch

+1 :green_heart:
mvninstall
4m 25s
the patch passed

+1 :green_heart:
compile
1m 45s
the patch passed

+1 :green_heart:
javac
1m 45s
the patch passed

+1 :green_heart:
shadedjars
6m 25s
patch has no errors when building our shaded downstream artifacts.

-0 :warning:
javadoc
0m 28s
hbase-client in the patch failed.

-0 :warning:
javadoc
0m 40s
hbase-server in the patch failed.

_ Other Tests _

+1 :green_heart:
unit
2m 45s
hbase-client in the patch passed.

-1 :x:
unit
195m 32s
hbase-server in the patch failed.

230m 49s

Subsystem
Report/Notes

Docker
Client=19.03.12 Server=19.03.12 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/1985

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux d581f34f7366 4.15.0-101-generic #102-Ubuntu SMP Mon May 11 10:07:26 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
branch-2.3 / 5e0935977d

Default Java
2020-01-14

javadoc
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/1/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-client.txt

javadoc
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/1/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-server.txt

javadoc
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/1/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-client.txt

javadoc
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/1/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-server.txt

unit
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/1/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt

Test Results
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/1/testReport/

Max. process+thread count
2461 (vs. ulimit of 12500)

modules
C: hbase-client hbase-server U: .

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/1/console

versions
git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)

Powered by
Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
1m 38s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

_ branch-2.3 Compile Tests _

+0 :ok:
mvndep
0m 14s
Maven dependency ordering for branch

+1 :green_heart:
mvninstall
3m 50s
branch-2.3 passed

+1 :green_heart:
checkstyle
1m 49s
branch-2.3 passed

+1 :green_heart:
spotbugs
3m 12s
branch-2.3 passed

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 12s
Maven dependency ordering for patch

+1 :green_heart:
mvninstall
3m 35s
the patch passed

-0 :warning:
checkstyle
1m 15s
hbase-server: The patch generated 2 new + 103 unchanged - 2 fixed = 105 total (was 105)

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
hadoopcheck
18m 36s
Patch does not cause any errors with Hadoop 2.10.0 or 3.1.2 3.2.1.

+1 :green_heart:
spotbugs
3m 30s
the patch passed

_ Other Tests _

+1 :green_heart:
asflicense
0m 22s
The patch does not generate ASF License warnings.

46m 43s

Subsystem
Report/Notes

Docker
Client=19.03.12 Server=19.03.12 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/2/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/1985

Optional Tests
dupname asflicense spotbugs hadoopcheck hbaseanti checkstyle

uname
Linux eb6a07745e83 4.15.0-74-generic #84-Ubuntu SMP Thu Dec 19 08:06:28 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
branch-2.3 / 6b6acb59be

checkstyle
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/2/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt

Max. process+thread count
84 (vs. ulimit of 12500)

modules
C: hbase-client hbase-server U: .

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/2/console

versions
git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f) spotbugs=3.1.12

Powered by
Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
1m 50s
Docker mode activated.

-0 :warning:
yetus
0m  5s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ branch-2.3 Compile Tests _

+0 :ok:
mvndep
0m 16s
Maven dependency ordering for branch

+1 :green_heart:
mvninstall
5m  2s
branch-2.3 passed

+1 :green_heart:
compile
1m 54s
branch-2.3 passed

+1 :green_heart:
shadedjars
6m 42s
branch has no errors when building our shaded downstream artifacts.

-0 :warning:
javadoc
0m 34s
hbase-client in branch-2.3 failed.

-0 :warning:
javadoc
0m 44s
hbase-server in branch-2.3 failed.

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 21s
Maven dependency ordering for patch

+1 :green_heart:
mvninstall
4m 43s
the patch passed

+1 :green_heart:
compile
1m 45s
the patch passed

+1 :green_heart:
javac
1m 45s
the patch passed

+1 :green_heart:
shadedjars
7m  0s
patch has no errors when building our shaded downstream artifacts.

-0 :warning:
javadoc
0m 37s
hbase-client in the patch failed.

-0 :warning:
javadoc
0m 50s
hbase-server in the patch failed.

_ Other Tests _

+1 :green_heart:
unit
3m  1s
hbase-client in the patch passed.

+1 :green_heart:
unit
217m 28s
hbase-server in the patch passed.

254m 57s

Subsystem
Report/Notes

Docker
Client=19.03.12 Server=19.03.12 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/2/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/1985

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux 513e926d64b1 4.15.0-91-generic #92-Ubuntu SMP Fri Feb 28 11:09:48 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
branch-2.3 / 6b6acb59be

Default Java
2020-01-14

javadoc
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/2/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-client.txt

javadoc
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/2/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-server.txt

javadoc
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/2/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-client.txt

javadoc
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/2/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-server.txt

Test Results
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/2/testReport/

Max. process+thread count
2531 (vs. ulimit of 12500)

modules
C: hbase-client hbase-server U: .

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/2/console

versions
git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)

Powered by
Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
1m 52s
Docker mode activated.

-0 :warning:
yetus
0m  6s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ branch-2.3 Compile Tests _

+0 :ok:
mvndep
0m 16s
Maven dependency ordering for branch

+1 :green_heart:
mvninstall
4m 13s
branch-2.3 passed

+1 :green_heart:
compile
1m 28s
branch-2.3 passed

+1 :green_heart:
shadedjars
5m 38s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
1m  3s
branch-2.3 passed

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 15s
Maven dependency ordering for patch

+1 :green_heart:
mvninstall
3m 50s
the patch passed

+1 :green_heart:
compile
1m 31s
the patch passed

+1 :green_heart:
javac
1m 31s
the patch passed

+1 :green_heart:
shadedjars
5m 35s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
1m  3s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
2m 23s
hbase-client in the patch passed.

+1 :green_heart:
unit
231m 37s
hbase-server in the patch passed.

262m 51s

Subsystem
Report/Notes

Docker
Client=19.03.12 Server=19.03.12 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/2/artifact/yetus-jdk8-hadoop2-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/1985

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux 5bf13680aab8 4.15.0-91-generic #92-Ubuntu SMP Fri Feb 28 11:09:48 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
branch-2.3 / 6b6acb59be

Default Java
1.8.0_232

Test Results
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/2/testReport/

Max. process+thread count
2431 (vs. ulimit of 12500)

modules
C: hbase-client hbase-server U: .

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1985/2/console

versions
git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)

Powered by
Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.


Activation functions currently do not enforce symmetric units

The Hopfield network works best when states are equal to their inverse. This can be implemented by reversing states with a low-value first unit (forcing the first unit to always be the high value) and altering all other units to match, or by breaking the symmetry with a bias unit.

I will implement the former


Hangs on launch with ui/gamestartup.mp3 files

MP3 files in the ui/ folder starting with gamestartup will be randomly, automatically played on the main menu in the desktop UI, but in gamepad UI these files being present will cause the engine to hang on startup.
This breaks mods such as Portal: Prelude which use this for menu music.

Fixed in #10


Both directions scrolling

Hey, I want to implement my infinite list according to this guidelines: https://webmasters.googleblog.com/2014/02/infinite-scroll-search-friendly.html Ex: http://scrollsample.appspot.com/items?page=3
Such a list requires the ability to scroll in two directions. I see that there is a direction property but it can only be set to one value. It would be great to have the option to scroll up and dwon with the variable determing direction being pushed to onInfinite method.

Hello, the direction property can be set to top or bottom, have you tried it?

@PeachScript Is it possible to use it in a bidirectional way? No just top or bottom but both at the same time.

@ndelvalle in fact, if we need a bidirectional list, we also need two load animations, so we can use two InfiniteLoading component in one list, one of them load top, another one load bottom, how do you think about it?

17 days passed but no reply, I will close this issue, you can reopen it if you need in the future.

Hey @PeachScript, sorry for reviving this old issue, but could you add a code example for bidirectional lists to the documentation? I'm currently working on an ERP system for a company with around 11,000 products. I intend to display them as tiles with an image, so as you can imagine, that'll have a huge impact on browser performance once you scroll too much.
Therefore, I'd like to use another InfiniteLoading at the top of the list, I'm just not sure how to do the list handling correctly, because there is no reference to the previous offset, unless I'm keeping track of it somewhere...

@Radiergummi I think so and will add it in the near future, thanks! And for you problem, maybe this comment can help you: https://github.com/PeachScript/vue-infinite-loading/issues/73#issuecomment-328336620


Add a Dockerfile for generating manpages on aarch64

Allow generation of man pages on aarch64. Tested myself as we have no aarch64 CI at present.
Signed-off-by: Justin Cormack<EMAIL_ADDRESS>We currently have a PR for ppc64le as part of https://github.com/docker/docker/pull/23438

cc @dnephin

LGTM

LGTM


Add sort feature: goto --list --sort

Hi @vigo ! Thank you very much for the contribution! I've been busy but I will check it and merge it asap! Greetings and happy new year!

❤


How do I get the index of the current active image?

I'd like to put some more information about the current image onto my we page. So how can I figure out a) if the current image was changed and b) which one ist the current active image?

Hello? Is anybody there?


Version 2.32.3 - small bug fixes

update local docker-compose services (redis, ES, postgresql)
fix Jenkins image build via docker-compose
test both builds
update claranet/php parent image to latest patch version

I think this is no longer needed:
https://github.com/claranet/spryker-demoshop/blob/cb96c8078e62cb888f4d1b18f9943bfa55f7e04a/docker/project.conf.sh#L14


Changes to use aeson for serialisation

As noted in issue #15, I have found that the serialisation to and from Strings using show and read is currently a major overhead of the pipeline. This change uses the aeson JSON encoding library instead, where we are able to improve throughput from < 5,000 mps to ~22,000 mps.

After further testing with this library I have discovered an issue - whilst we are able to achieve much higher throughputs, there is also the introduction of a space leak. I'm unsure whether this is present in the current master version of the pipeline (and only coming to light at higher message rates), but I can not seem to find a way to eliminate it. For reference on my test platform at ~22,000 mps, within 30 seconds the sink has accumulated over 1GB of memory, and does not release it even if the connection is closed.
I would refrain from merging this for the time being and I will search for the root of the issue or an alternative solution.

I did change the testing methodology a little also, so not all of the speedup can be attributed to the aeson package, but there is considerable documentation on the slow nature of String.
I'm going to try the binary package next for comparison.

Now that I have sufficiently tested the changes in this PR, and also determined that the space leak is not related to these changes, I am happy for this to be merged, assuming you have not found any issues @jmtd.

Hi @adam-cattermole , after a long delay (Holiday for a week, work stuff backed up etc.) I'm looking at this properly today. It's looking good! I'm learning a lot as I go (first experience of AESON, and Generic types).


Upgrade Nomad to 0.8.0

Nomad 0.8.0 was out a few days ago! :)

Might be cool to release both 0.8.0 and 0.8.1 in case somebody wants to test both versions!

I guess now we have 0.8.1 and 0.8.3 we don't really care about 0.8.0


Support cdrom with url

Is your feature request related to a problem? Please describe:
Yes, currently in KubeVirt, there is no direct way to specify an ISO image for a VM's CD-ROM using a URL. This limitation hinders the flexibility and automation potential in setting up virtual environments, especially in scenarios where ISO images are frequently updated or stored remotely.
Describe the solution you'd like:
I would like KubeVirt to support specifying ISO images for a VM's CD-ROM through URLs. This feature would allow users to directly link to ISO images hosted on remote servers, enabling easier updates and management of the images, and streamlining the deployment process for VMs.
Describe alternatives you've considered:
An alternative considered is using DataVolumes to import ISO images. However, this method faces a significant limitation in that it doesn't support the use of the same ISO image across different namespaces, which restricts its usability in multi-namespace environments. This limitation necessitates separate imports of the same ISO image for each namespace, leading to inefficiencies and redundancy.
Additional context:

@wavezhang there has been in the past some attempts to introduce something similar. Could you please check this proposal and verify it covers your use-case.


Execution time of engine ios builds is 2x compared to legacy builds

We need to validate what is causing the increase in execution time. A few ideas are xcode and/or checkout caches.

Validated that builds using drones were not using caches.

https://flutter-review.googlesource.com/c/infra/+/35401

A second reason is that ios builds on engine_v2 recipes were disabling goma at the gn level.

https://flutter-review.googlesource.com/c/recipes/+/35480 fix to not propagate deps.

The remaining issues are related to capacity. https://github.com/flutter/flutter/issues/114656 is tracking a few mitigation tasks


streamalert - schemas - vpc flow logs - address NODATA case

to: @ryandeivert
cc: @airbnb/streamalert-maintainers
Overview
This PR addresses the fact that AWS has VPC flow logs that aren't strongly typed and can result in Record does not match any defined schemas ERRORs.
In most instances, protocol, srcport, etc are integers.
However, for the NODATA case (see http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/flow-logs.html), this doesn't hold true:
{
    "messageType": "DATA_MESSAGE",
    "owner": "...",
    "logGroup": "...",
    "logStream": "...",
    "subscriptionFilters": [
        "..."
    ],
    "logEvents": [
        {
            "id": "...",
            "timestamp": 123,
            "message": "...",
            "extractedFields": {
                "eni": "...",
                "destination": "-",
                "windowstart": "12345",
                "source": "-",
                "flowlogstatus": "NODATA",
                "version": "2",
                "packets": "-",
                "protocol": "-",
                "bytes": "-",
                "srcport": "-",
                "action": "-",
                "windowend": "45678",
                "destport": "-",
                "account": "..."
            }
        }
    ]
}

Note the "-" as a placeholder for empty data.
We address the issue by defining a schema that specifically matches this log type via  log_patterns and string vs. integer types.
Testing
python manage.py validate-schemas
AND
python manage.py lambda test --processor all

Coverage remained the same at 95.278% when pulling d71e14dfa6e2bcaf7e95add889bf1719591cf32b on mimeframe-streamalert-schemas-vpc-fix into 51452a1434955890fe2f66fdbbeb07bd5b595592 on master.


Extend BenchmarkTools at-benchmark

This PR extends BenchmarkTools @benchmark (ref: https://cuda.juliagpu.org/dev/development/profiling/#Time-measurements)

Whoops, meant to use @sync in that benchmark. This is nicely superseded by #64


Saving models?

Hi,
Is there a way to save models generated in PIML so that I do not need to run the program and train the model each time?
Also, what is the best way to export results? Is there any way to export results such that the widgets are still interactive? I have just been saving the notebook as an html file in order to share results.
Thank you

Hi @xloffree,
First of all, you may save a fitted model in PiML using the following approach.
import dill

clf = exp.get_model("GAM").estimator

with open('name_model.pkl', 'wb') as file:
    dill.dump(clf, file)

with open('name_model.pkl', 'rb') as file:
    clf_load = dill.load(file)

train_x = exp.get_model("GAM").get_data(train=True)[0]
clf_load.predict(train_x)

You may also register the loaded model into PiML using the demo at https://colab.research.google.com/github/SelfExplainML/PiML-Toolbox/blob/main/examples/Example_ExternalModels.ipynb#scrollTo=7WGJ8PzutkLh, "Scenario 2: Register external fitted models with dataset".
Second, all the interactive panels used in PiML are based on python runtime. Currently, we don't have such functionality to export interactive results; the best way is to save the notebook as static Html: a) Click on "Widgets -> Save Notebook Widget State"; b) Export it as Html by "File -> Download as -> HTML (.html)".

Hi, thank you for your help with this. Has this solution worked for you with PiML? When I try this solution, this line:
with open('name_model.pkl', 'rb') as file:     clf_load = dill.load(file)
results in a recursion error every time. I tried changing the recursion limit but even with a recursion limit pf 10000000 I still run into this error. Increasing the recursion limit indefinitely just causes the kernel to crash.
The error is as follows:

RecursionError                            Traceback (most recent call last)
Cell In [39], line 2
1 with open('name_model.pkl', 'rb') as file:
----> 2     clf_load = dill.load(file)
File /n/holylfs05/LABS/liang_lab_l3/Lab/piml_py39_shared/lib/python3.9/site-packages/dill/_dill.py:272, in load(file, ignore, **kwds)
266 def load(file, ignore=None, **kwds):
267     """
268     Unpickle an object from a file.
269
270     See :func:loads for keyword arguments.
271     """
--> 272     return Unpickler(file, ignore=ignore, **kwds).load()
File /n/holylfs05/LABS/liang_lab_l3/Lab/piml_py39_shared/lib/python3.9/site-packages/dill/_dill.py:419, in Unpickler.load(self)
418 def load(self): #NOTE: if settings change, need to update attributes
--> 419     obj = StockUnpickler.load(self)
420     if type(obj).module == getattr(_main_module, 'name', 'main'):
421         if not self._ignore:
422             # point obj class to main
File piml/models/glm.py:32, in piml.models.glm.GLMRegressor.getattr()
File piml/models/glm.py:32, in piml.models.glm.GLMRegressor.getattr()
[... skipping similar frames: piml.models.glm.GLMRegressor.__getattr__ at line 32 (9999967 times)]

File piml/models/glm.py:32, in piml.models.glm.GLMRegressor.getattr()
RecursionError: maximum recursion depth exceeded while calling a Python object
Any help with this would be very appreciated. When using PiML for research purposes, being able to save a trained model is essential for reproducibility. Thank you!

Hi @xloffree,
For GLM, you may use the following code to do model saving,
import dill

clf = exp.get_model("GLM").estimator.__model__

with open('name_model.pkl', 'wb') as file:
    dill.dump(clf, file)

with open('name_model.pkl', 'rb') as file:
    clf_load = dill.load(file)

train_x = exp.get_model("GLM").get_data(train=True)[0]
clf_load.predict(train_x)

Thank you very much. This works. How can I use this trained model to predict on other datasets? Is this functionality exclusively part of PiML or is there third party documentation I can view for more background on how this code works?
Thank you

What datatype should X be here? Is it a dataframe that includes all of the data for all of the predictors?
Thanks

Hi,
Is different code required to save each different type of built-in model in PiML? It seems whenever I try to save a different model, I run into a new error. Is there somewhere where I can see the code for how to save each different type of model?
Thank you

What datatype should X be here? Is it a dataframe that includes all of the data for all of the predictors?

The X is the numpy array of the selected features. It should have the same data format as the uploaded raw data, without any preprocessing.

Hi,
Is different code required to save each different type of built-in model in PiML? It seems whenever I try to save a different model, I run into a new error. Is there somewhere where I can see the code for how to save each different type of model? Thank you

For the GLMRegressor model, use
import dill

clf = exp.get_model("GLM").estimator.__model__

with open('name_model.pkl', 'wb') as file:
    dill.dump(clf, file)

with open('name_model.pkl', 'rb') as file:
    clf_load = dill.load(file)

train_x = exp.get_model("GLM").get_data(train=True)[0]
clf_load.predict(train_x)

For all the rest models, you can use
import dill

clf = exp.get_model("GAM").estimator

with open('name_model.pkl', 'wb') as file:
    dill.dump(clf, file)

with open('name_model.pkl', 'rb') as file:
    clf_load = dill.load(file)

train_x = exp.get_model("GAM").get_data(train=True)[0]
clf_load.predict(train_x)

BTW, we will provide a unified API for model saving in the next release.

clf = exp.get_model("GLM").estimator
xx = exp.get_data(x=X)
clf.predict(xx)

I still do not understand what this means. I have tried to pass df and df.columns as X but it does not work. Do you have an example of what X should be?
Thank you

Would it be possible for us to discuss PiML over a zoom meeting? That might be more efficient than messages on this page.

Hi, here X is just an n*p numpy array, where n is the sample size and p is the number of predictors (excluding unselected features and the response feature).
For instance, assume the raw data is a pd.DataFrame as follows,

| season | yr | mnth | hr | holiday | weekday | workingday | weathersit | temp | atemp | hum | windspeed | cnt
-- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | --
1.0 | 0.0 | 1.0 | 0.0 | 0.0 | 6.0 | 0.0 | 1.0 | 0.24 | 0.2879 | 0.81 | 0.0000 | 16.0
1.0 | 0.0 | 1.0 | 1.0 | 0.0 | 6.0 | 0.0 | 1.0 | 0.22 | 0.2727 | 0.80 | 0.0000 | 40.0
1.0 | 0.0 | 1.0 | 2.0 | 0.0 | 6.0 | 0.0 | 1.0 | 0.22 | 0.2727 | 0.80 | 0.0000 | 32.0
1.0 | 0.0 | 1.0 | 3.0 | 0.0 | 6.0 | 0.0 | 1.0 | 0.24 | 0.2879 | 0.75 | 0.0000 | 13.0
1.0 | 0.0 | 1.0 | 4.0 | 0.0 | 6.0 | 0.0 | 1.0 | 0.24 | 0.2879 | 0.75 | 0.0000 | 1.0
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ...
1.0 | 1.0 | 12.0 | 19.0 | 0.0 | 1.0 | 1.0 | 2.0 | 0.26 | 0.2576 | 0.60 | 0.1642 | 119.0
1.0 | 1.0 | 12.0 | 20.0 | 0.0 | 1.0 | 1.0 | 2.0 | 0.26 | 0.2576 | 0.60 | 0.1642 | 89.0
1.0 | 1.0 | 12.0 | 21.0 | 0.0 | 1.0 | 1.0 | 1.0 | 0.26 | 0.2576 | 0.60 | 0.1642 | 90.0
1.0 | 1.0 | 12.0 | 22.0 | 0.0 | 1.0 | 1.0 | 1.0 | 0.26 | 0.2727 | 0.56 | 0.1343 | 61.0
1.0 | 1.0 | 12.0 | 23.0 | 0.0 | 1.0 | 1.0 | 1.0 | 0.26 | 0.2727 | 0.65 | 0.1343 | 49.0

Then you selected season, yr, mnth, hr as the covariates in exp.data_summary and exp.feature_select, and cnt as the response (in exp.data_prepare).
The X is supposed to be a np.array that looks like:

season
yr
mnth
hr

1.0
0.0
1.0
0.0

1.0
0.0
1.0
1.0

1.0
0.0
1.0
2.0

1.0
0.0
1.0
3.0

1.0
0.0
1.0
4.0

...
...
...
...

1.0
1.0
12.0
19.0

1.0
1.0
12.0
20.0

1.0
1.0
12.0
21.0

1.0
1.0
12.0
22.0

1.0
1.0
12.0
23.0

An example of X would be, which is the selected covariates of the loaded data.
X = exp.dataset.x
clf = exp.get_model("GLM").estimator
xx = exp.get_data(x=X)
clf.predict(xx)

Hope that helps.

Saving a model works for glm and gaml. After that, none of the other models will save and they result in an error:

PicklingError                             Traceback (most recent call last)
Cell In [18], line 4
1 clf = exp.get_model("GAMI-Net").estimator
3 with open('LVS_GAMI-Net.pkl', 'wb') as file:
----> 4     dill.dump(clf, file)
File /n/holylfs05/LABS/liang_lab_l3/Lab/piml_py39_shared/lib/python3.9/site-packages/dill/_dill.py:235, in dump(obj, file, protocol, byref, fmode, recurse, **kwds)
233 _kwds = kwds.copy()
234 _kwds.update(dict(byref=byref, fmode=fmode, recurse=recurse))
--> 235 Pickler(file, protocol, **_kwds).dump(obj)
236 return
File /n/holylfs05/LABS/liang_lab_l3/Lab/piml_py39_shared/lib/python3.9/site-packages/dill/_dill.py:394, in Pickler.dump(self, obj)
392 def dump(self, obj): #NOTE: if settings change, need to update attributes
393     logger.trace_setup(self)
--> 394     StockPickler.dump(self, obj)
File /n/holylfs05/LABS/liang_lab_l3/Lab/piml_py39_shared/lib/python3.9/pickle.py:487, in _Pickler.dump(self, obj)
485 if self.proto >= 4:
486     self.framer.start_framing()
--> 487 self.save(obj)
488 self.write(STOP)
489 self.framer.end_framing()
File /n/holylfs05/LABS/liang_lab_l3/Lab/piml_py39_shared/lib/python3.9/site-packages/dill/_dill.py:388, in Pickler.save(self, obj, save_persistent_id)
386     msg = "Can't pickle %s: attribute lookup builtins.generator failed" % GeneratorType
387     raise PicklingError(msg)
--> 388 StockPickler.save(self, obj, save_persistent_id)
File /n/holylfs05/LABS/liang_lab_l3/Lab/piml_py39_shared/lib/python3.9/pickle.py:603, in _Pickler.save(self, obj, save_persistent_id)
599     raise PicklingError("Tuple returned by %s must have "
600                         "two to six elements" % reduce)
602 # Save the reduce() output and finally memoize the object
--> 603 self.save_reduce(obj=obj, *rv)
File /n/holylfs05/LABS/liang_lab_l3/Lab/piml_py39_shared/lib/python3.9/pickle.py:717, in _Pickler.save_reduce(self, func, args, state, listitems, dictitems, state_setter, obj)
715 if state is not None:
716     if state_setter is None:
--> 717         save(state)
718         write(BUILD)
719     else:
720         # If a state_setter is specified, call it instead of load_build
721         # to update obj's with its previous state.
722         # First, push state_setter and its tuple of expected arguments
723         # (obj, state) onto the stack.
File /n/holylfs05/LABS/liang_lab_l3/Lab/piml_py39_shared/lib/python3.9/site-packages/dill/_dill.py:388, in Pickler.save(self, obj, save_persistent_id)
386     msg = "Can't pickle %s: attribute lookup builtins.generator failed" % GeneratorType
387     raise PicklingError(msg)
--> 388 StockPickler.save(self, obj, save_persistent_id)
File /n/holylfs05/LABS/liang_lab_l3/Lab/piml_py39_shared/lib/python3.9/pickle.py:560, in _Pickler.save(self, obj, save_persistent_id)
558 f = self.dispatch.get(t)
559 if f is not None:
--> 560     f(self, obj)  # Call unbound method with explicit self
561     return
563 # Check private dispatch table if any, or else
564 # copyreg.dispatch_table
File /n/holylfs05/LABS/liang_lab_l3/Lab/piml_py39_shared/lib/python3.9/site-packages/dill/_dill.py:1186, in save_module_dict(pickler, obj)
1183     if is_dill(pickler, child=False) and pickler._session:
1184         # we only care about session the first pass thru
1185         pickler._first_pass = False
-> 1186     StockPickler.save_dict(pickler, obj)
1187     logger.trace(pickler, "# D2")
1188 return
File /n/holylfs05/LABS/liang_lab_l3/Lab/piml_py39_shared/lib/python3.9/pickle.py:971, in _Pickler.save_dict(self, obj)
968     self.write(MARK + DICT)
970 self.memoize(obj)
--> 971 self._batch_setitems(obj.items())
File /n/holylfs05/LABS/liang_lab_l3/Lab/piml_py39_shared/lib/python3.9/pickle.py:997, in _Pickler._batch_setitems(self, items)
995     for k, v in tmp:
996         save(k)
--> 997         save(v)
998     write(SETITEMS)
999 elif n:
File /n/holylfs05/LABS/liang_lab_l3/Lab/piml_py39_shared/lib/python3.9/site-packages/dill/_dill.py:388, in Pickler.save(self, obj, save_persistent_id)
386     msg = "Can't pickle %s: attribute lookup builtins.generator failed" % GeneratorType
387     raise PicklingError(msg)
--> 388 StockPickler.save(self, obj, save_persistent_id)
File /n/holylfs05/LABS/liang_lab_l3/Lab/piml_py39_shared/lib/python3.9/pickle.py:589, in _Pickler.save(self, obj, save_persistent_id)
587 # Check for string returned by reduce(), meaning "save as global"
588 if isinstance(rv, str):
--> 589     self.save_global(obj, rv)
590     return
592 # Assert that reduce() returned a tuple
File /n/holylfs05/LABS/liang_lab_l3/Lab/piml_py39_shared/lib/python3.9/pickle.py:1070, in _Pickler.save_global(self, obj, name)
1068     obj2, parent = _getattribute(module, name)
1069 except (ImportError, KeyError, AttributeError):
-> 1070     raise PicklingError(
1071         "Can't pickle %r: it's not found as %s.%s" %
1072         (obj, module_name, name)) from None
1073 else:
1074     if obj2 is not obj:
PicklingError: Can't pickle <cyfunction Model.register_model..sklearn_is_fitted at 0x2ae1c932aee0>: it's not found as piml.workflow.base.Model.register_model..sklearn_is_fitted

Thanks for reporting this issue.
You may use the following scripts to save and load a fitted model except for GLMRegressor.
import dill

clf = exp.get_model("GAM").estimator
clf.__sklearn_is_fitted__ = lambda : True

with open('name_model.pkl', 'wb') as file:
    dill.dump(clf, file)

with open('name_model.pkl', 'rb') as file:
    clf_load = dill.load(file)

train_x = exp.get_model("GAM").get_data(train=True)[0]
clf_load.predict(train_x)

Thanks. I am able to save every model as a .pkl file now. How can I easily load the model and view its interpretability metrics within PiML? For example, if I have an EBM model saved as a .pkl, and I want to view the results of exp.model_interpret(), how can I do this without retraining?
Thank you

@xloffree,
You can do the following to register it into the PiML workflow:
pipeline = exp.make_pipeline(model=clf_load)
exp.register(pipeline, "loaded_model")
exp.model_interpret()

Note that in this case, you need to do data loading, summary, and preparation first, so that all the data are available.
An alternative way is to specify the required data information in exp.register. You can find the details in the docs of exp.register function, and the example usage in https://colab.research.google.com/github/SelfExplainML/PiML-Toolbox/blob/main/examples/Example_ExternalModels.ipynb.


update deps

Request to update dep on glam to keep pace with Bevy 0.8

Thank you!

Thank you!

No prob. If you get a chance to push an updated crate, I'd be much obliged.

Thank you!

No prob. If you get a chance to push an updated crate, I'd be much obliged.

Just published v0.2.0


pdf_images.py: command not found

When trying to running acdc with a pdf instead of images, I immediately get the following error:
(mkdir -p images/0049Gotha.OrA1521; cd images/0049Gotha.OrA1521; bash -c "pdf_images.py ../../pdf/0049Gotha.OrA1521.pdf") && touch images/0049Gotha.OrA1521/_SUCCESS
bash: pdf_images.py: command not found
make: *** [Makefile:64: images/0049Gotha.OrA1521/_SUCCESS] Error 127

The script creates a folder for the images extracted from the pdf but then fails to recognize that the pdf_images.py is in the bin folder of the acdc_train folder.

hacky solution: I included the absolute path to the pdf_images.py file in the makefile

I now have the same issue with the other files in the bin folder. I solved it too by creating a variable with the absolute path to these scripts in the makefile, but that should not be necessary.
This is on Ubuntu, Python 3.10, in a venv virtual environment.

Were you able to test the whole thing?
After the changes I made to the makefile, I was able to run it with the original command, however the $(ocr) variable in the final rule keeps on using the base model for subsequent training iterations intead of updating to the fine-tuned model from the previous iteration.
It should be doing the latter, right?


glitch in position of popup-tooltip

tooltip popup is positioned relative to upperleft corner, and not close to the mouse position, or the element it should be describing

hard to debug further and see what code is triggering this
found this possibly related error in the browser-console too:

if this was resolved, can the issue be closed?


Update BaseScaleform.cs

Corrected invalid native call for RageMP and changed native invoker calls to their respective class functions, for better reference to the RageMP wiki
See https://github.com/LemonUIbyLemon/LemonUI/issues/91

Any specific reason for changing the way that natives are called?

better reference to the RageMP wiki

better reference to the RageMP wiki

You should not use dynamic, as you don't know the type of return object during compilation.

You should not use dynamic, as you don't know the type of return object during compilation.

None of the changes implemented, use dynamic?

Superseded by 80da07b47c834a98c3c4ee2b4c5d728a1ddae460


Need common trait for floating and complex numbers

From @carrutstick on July 18, 2017 23:14
This issue in in the vein of issue #209, but a bit more ambitious; hopefully I am not too far out of scope for this project.
Any mathematical function that accepts a real number can technically also accept a complex number, but currently there is no trait we can use to define a function that is generic over real and complex numbers (unless I'm missing something).
I see two possible solutions:

Shoehorn complex numbers into the existing Float trait (minimal work)
Refactor the float trait so that we separate the parts that refer to mathematical objects (the trig functions, for instance) from the parts that assume specific types of implementation (min_value(), max(), etc.).

Option 1
Certain functions in the Float trait may be ambiguous for complex numbers, such as the min_value() function. Broadly, there are three classes of functions in the trait:

|Self| -> Self
|| -> Self
|Self| -> bool

Obviously the trigonometric functions of class 1 are not ambiguous (once we pick a branch cut), but functions like floor() and frac() are less obvious. I think a good rule of thumb for such functions is to have them apply independently to each part of the complex number, so that
Complex::new(x, y).floor() == Complex::new(x.floor(), y.floor())

For class 2, I'm much less certain, but I think that these should generally produce values that are mathematically equivalent to their real counterparts, so that
Complex<F>::min_value() == Complex<F>::new(F::MIN, F::zero())
Complex<F>::infinity() == Complex<F>::new(F::infinity(), F::zero())

For class 3 I don't think there's a good rule of thumb, and we would probably need to invent rules on a case-by-case basis. For instance, we would probably want a complex number to have is_nan() == true if either part was nan, but what if the other part is infinite? Do we also have is_infinite() == true? Or do we decide that something that is nan cannot be infinite?
There is also the special case of the min and max functions. I think the only consistent way to handle these is to just have them act on the real line, like class 2.
Option 2
Maybe someone who knows more abstract algebra than me can come up with better names, but we could have traits similar to Haskell's system, where RealFloat describes any kind of binary floating point number, whereas Floating is a more abstract description of any object suitable for use with trigonometric functions, etc. (this would include complex numbers, auto-differentiation primitives, diagonalizable matrices, etc.)
Obviously this option would be more work, and would result in at least a few breaking changes, but it would also be great to have the ability to program more generically with mathematical objects.
Copied from original issue: rust-num/num#321

From @termoshtt on July 19, 2017 5:13
I want the common trait in num-traits crate, too.
FYI, I take another option in my crate ndarray-linalg for somewhat different objective:
I define a trait Scalar to capture both real and complex  numbers to define exp() for both types.
fn some_math<A: Scalar>(a: A) -> A {
  a * a.exp()
}

This function can be called with f64, f632, Complex<f64>, and Complex<f32>.
Large part of math functions can be defined naturally for both real and complex numbers, e.g. sin, exp, ln, abs, and so on, and I think this should be involved in num-traits.

From @Libbum on August 10, 2017 14:45
Mathematically you should take the norm(), which would give you Complex<T> -> T, then you can sort that value (since any possible T will already implement PartialOrd). I think ... someone else may need to confirm that.

From @carrutstick on August 10, 2017 14:40
Hi @cuviper, thanks for the input. I've made it as far as a Num implementation for Complex, but now I'm stuck on the PartialOrd requirement for Float. I'm not sure that there is a way to define partial_cmp for Complex (or at least not one that agrees with PartialEq).
Any thoughts on this? Is the PartialOrd constraint actually used anywhere?

There was a similar discussion on the forums.  I don't recall anything coming out of this though.
https://users.rust-lang.org/t/floating-point-traits-roundtable/5382
I would lean more towards your Option 1, if only because it's more conservative1.  We've already made some of the choices you're pondering in impl<T: Clone + Float> Complex<T>, so I would just forward Float for Complex<T> to those.  I'd almost say to just move those current methods to the Float implementation, but inherent methods get special precedence so I think that would be a breaking change.  Your idea to favor reals for "class 2" sounds fine to me.  I really don't know what to do with integer_decode though...
I see the value in the more ambitious Option 2, but I think that would be better explored in a new crate of your own, if you're so inclined.
1 (If crates could have traits, num would definitely impl Conservative.)

From @carrutstick on August 10, 2017 14:50
@Libbum, the problem with that is that partial_cmp needs to return one of Less, Greater, or Equal, and the Equal result is inappropriate for two complex numbers that just happen to have the same norm. Maybe it would be better to just have the comparison return None in a large set of cases (such as when the norm is equal, but the numbers are not), but I am worried that this would lead to a lot of unexpected errors.

Using norm() means that -1 > 0, but I think we'd at least want to be consistent with real comparisons.  A linear ordering is a little better - for a+bi and c+di, first compare a and c, and if equal compare b and d.  But I think you can still derive contradictions from this.
Note that C++ and Python at least do not provide ordering for complex numbers. It's a breaking change to remove PartialOrd from Float though.

From @Libbum on August 10, 2017 14:57
Ahh yes, valid point. I'll think about it a bit more; but hopefully the others have some suggestions too. I'd definitely agree that returning a large set of possible Nones would be worrisome though.

From @Libbum on August 11, 2017 9:20
OK, so I've done a bit more digging here.
I think this discussion on the mathematics stack exchange summarises the initial questions we have fairly well.

Complex numbers have no natural (linear) ordering that is compatible with an ordered field structure.
One can impose total order on a complex list via a lexicographical order.

But what are the pitfalls of a lexical ordering? The contradictions that @cuviper speaks of come into play when one wants to multiply complex values.

For real values: If a < b and 0 < c then ac < bc (1)
Note that i may be written as 0 + i1 while 0 = 0 + i0. Therefore, by definition, 0 < i. Assume (1) holds for complex numbers and the lexicographic order. Obviously -1 < 1. Multiplying by i we get -i < i. Multiplying by i one more time produces -i² < i². By definition, this implies 1 < (-1) which is absurd.

(Further discussion here)
Most people seem to have the feeling that although it's possible to make an order on the complex numbers, such an order would not be very useful. Whether not very useful can turn to dangerous in the hands of someone not aware of this should at least be considered.

So the question we need to answer is are we OK with implementing this? I've taken a look at sorting in Matlab and other tools and they all seem pretty sketchy when it comes to their choices of ordering - which is now obvious why. But they do end up implementing some form of lexical ordering for complex values even if they contradict themselves:
Matlab> sort ([-4+i -3+i])
-3+i -4+i
Matlab> -4+i < -3+i
true

From where I sit there are two choices:

Implement lexical ordering as @cuviper suggests, but stress in the documentation that this ordering has pitfalls.
Don't implement PartialOrd for the complex type and start investigating an alternate route to treat real and complex values together in a generic manner.

Even though python itself doesn't order complex numbers, numpy uses lexical order:
numpy.sort_complex:

Sort a complex array using the real part first, then the imaginary part.

numpy.sort:

The sort order for complex numbers is lexicographic. If both the real and imaginary parts are non-nan then the order is determined by the real parts except when they are equal, in which case the order is determined by the imaginary parts.

And numpy also uses this order in element-wise comparisons of complex arrays.
I think that's enough precedent for me, but let's indeed mention the pitfalls in documentation.

I think the approach taken in nalgebra is the most sane one. Shoehorning complex numbers into single floats cannot sanely capture the full structure of complex numbers.  For example, how are you meant to represent complex conjugation with a float type?
It seems that in the discussion here there has been some confusion about what is and isn't common between complex and real numbers.  Complex number cannot be totally ordered (as has been demonstrated above).  So total ordering should be a separate trait that applies to reals but not complex numbers.
The issue about functions is a little bit subtle too.  What I presume people are talking about is standard field operations (addition, subtraction, multiplication and division).  These are shared between complex and reals.  But functions in general have completely different properties between the two types of number (see https://en.wikipedia.org/wiki/Complex_logarithm).  So there should also be a division along the lines of a "Field" trait and some kind of "Single valued functions" trait which can be used for both.
The sanest approach would be to take time to filter out what specific traits are desired are and separate out the functionality accordingly.
Also, I think Complex itself should be a trait rather than a concrete type given that Floats (i.e. Reals) and Integers are traits.

I think the approach taken in nalgebra is the most sane one. Shoehorning complex numbers into single floats cannot sanely capture the full structure of complex numbers. For example, how are you meant to represent complex conjugation with a float type?

Complex conjugate of a real number is a real number. It would be a no-op.

It seems that in the discussion here there has been some confusion about what is and isn't common between complex and real numbers. Complex number cannot be totally ordered (as has been demonstrated above). So total ordering should be a separate trait that applies to reals but not complex numbers.

Agree. For people (like me) wanting a common trait for float & complex it's to write better generic functions when it makes sense to do so. That way I don't have to copy+paste a function into two copies one for real one for complex even though they are in all other respects identical. Naturally, if the ordering properties of real numbers is critical to an algorithm then no trait will magically make it work for complex numbers. There are many algorithms that do not rely on ordering of reals to work, though.

The issue about functions is a little bit subtle too. What I presume people are talking about is standard field operations (addition, subtraction, multiplication and division). These are shared between complex and reals. But functions in general have completely different properties between the two types of number (see https://en.wikipedia.org/wiki/Complex_logarithm). So there should also be a division along the lines of a "Field" trait and some kind of "Single valued functions" trait which can be used for both.

Could you be more specific? Almost every special function defined on both complex & real number has the property that the real version of the special function is equivalent to the complex version evaluated on a complex number with imaginary part zero. You have to specify branch cuts for some special functions to be well-defined on complex field, but that really isn't that problematic.
Real & Complex numbers both have very similar algebraic properties, and the completion of those algebraic properties to transcendental functions results in the same special functions (sin,cos,sqrt,log,...) up to branch cuts. using only these algebraic properties one can express many useful algorithms - in my case linear algebra but that is not the only domain where this is true.
Aside from mathematical properties complex numbers are usually implemented with floating point components, therefore it's also very useful to be able to query floating point properties (e.g. like how we can do f32::epsilon()) for things like error control.


LLVMVerifyModule does not work

Apparently, the definition created by Swig for the wrapper of LLVMVerifyModule is:
public static extern bool VerifyModule(System.IntPtr jarg1, int jarg2, [System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.LPStr)]out string jarg3);
This does not work! Upon return from the Pinvoke call, the heap is corrupted. This is a left over from SharpLang, and I suspect it never worked. This must be fixed. For now, a work around is to edit the generated code to not write to jarg3, but the out string will never be set.

An analysis shows that the code from SharpLLVM may have worked, but was kludgy because it used a function that converted a char* to a long pointer on the stack. Consider LLVMVerifyModule().
`
SWIGEXPORT unsigned int SWIGSTDCALL CSharp_VerifyModule(void * jarg1, int jarg2, void * jarg3) {
unsigned int jresult ;
LLVMModuleRef arg1 ;
LLVMVerifierFailureAction arg2 ;
char **arg3 = (char **) 0 ;
LLVMBool result;
arg1 = (LLVMModuleRef)jarg1;
arg2 = (LLVMVerifierFailureAction)jarg2;
arg3 = (char **)jarg3;
result = (LLVMBool)LLVMVerifyModule(arg1,arg2,arg3);
jresult = result;
if (*arg3 != NULL) *arg3 = SWIG_csharp_string_callback(*arg3);
return jresult;
}
We see in this code a call to SWIG_csharp_string_callback. Further, over in the C# side, the code looks like this:
[global::System.Runtime.InteropServices.DllImport("SharpLLVM.Native.dll", EntryPoint="CSharp_VerifyModule")]
public static extern bool VerifyModule(System.IntPtr jarg1, int jarg2, [System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.LPStr)]out string jarg3);
and
public unsafe static bool VerifyModule(ModuleRef M, VerifierFailureAction Action, out string OutMessage) {
bool ret = LLVMPINVOKE.VerifyModule(M.Value, (int)Action, out OutMessage);
return ret;
}
`
Instead, following up on the other Swig-generated data types like ModuleRef, I will introduce a "MyString" type that is similar, but not generated.

Fixed in upcoming 4.0.6-alpha release.


Fixing failing travis builds

Just a heads-up that github nightly builds are about to start failing because the miniconda webpage has migrated from http:// to https://.
If you need to patch things yourself, use this fix:
https://github.com/choderalab/alchemy/pull/53/files
I'll try to patch as many as I can over the next 24 hours.

I fixed this and forgot to note it, IIRC.


Use of arguments makes recent babel throw a hissyfit

I don't know why this is suddenly happening, but there is no need to use arguments anyway - the method is only used in one place, so we know the arguments.

/zeit/6e58b95/node_modules/svelte-calendar/src/Components/Popover.svelte: Unexpected reserved word 'arguments' (355:2)
--
09:22:42 AM | 353 | 		getTranslate,
09:22:42 AM | 354 | 		doOpen,
09:22:42 AM | > 355 | 		arguments,
09:22:42 AM | | 		^
09:22:42 AM | 356 | 		document,
09:22:42 AM | 357 | 		window,
09:22:42 AM | 358 | 		Math
09:22:42 AM | SyntaxError: /zeit/6e58b95/node_modules/svelte-calendar/src/Components/Popover.svelte: Unexpected reserved word 'arguments' (355:2)
09:22:42 AM | 353 | 		getTranslate,
09:22:42 AM | 354 | 		doOpen,
09:22:42 AM | > 355 | 		arguments,
09:22:42 AM | | 		^
09:22:42 AM | 356 | 		document,
09:22:42 AM | 357 | 		window,
09:22:42 AM | 358 | 		Math
09:22:42 AM | at Parser.raise (/zeit/6e58b95/node_modules/@babel/parser/lib/index.js:6983:17)
09:22:42 AM | at Parser.checkReservedWord (/zeit/6e58b95/node_modules/@babel/parser/lib/index.js:10383:14)
09:22:42 AM | at Parser.parseObjectProperty (/zeit/6e58b95/node_modules/@babel/parser/lib/index.js:10094:12)
09:22:42 AM | at Parser.parseObjPropValue (/zeit/6e58b95/node_modules/@babel/parser/lib/index.js:10114:101)
09:22:42 AM | at Parser.parseObjectMember (/zeit/6e58b95/node_modules/@babel/parser/lib/index.js:10038:10)
09:22:42 AM | at Parser.parseObj (/zeit/6e58b95/node_modules/@babel/parser/lib/index.js:9958:25)
09:22:42 AM | at Parser.parseExprAtom (/zeit/6e58b95/node_modules/@babel/parser/lib/index.js:9580:28)
09:22:42 AM | at Parser.parseExprSubscripts (/zeit/6e58b95/node_modules/@babel/parser/lib/index.js:9213:23)
09:22:42 AM | at Parser.parseMaybeUnary (/zeit/6e58b95/node_modules/@babel/parser/lib/index.js:9193:21)
09:22:42 AM | at Parser.parseExprOps (/zeit/6e58b95/node_modules/@babel/parser/lib/index.js:9059:23)

To be honest: I don't feel great about removing arguments from the codebase simply to fix an issue you're having with babel.

@6eDesign It should be removed because it isn't used in the codebase anyway, the only caller of the once argument doesn't pass any arguments.
It's also a strict mode violation, so when es6 is compiled to strict mode ES5, arguments is technically disallowed. It's better to have explicit arguments anyway, if there were any arguments to pass.
Not removing it will mean that nobody who transpiles their codebase for older browsers will be able to use svelte-calendar.

I think you're incorrect about arguments being disallowed in strict mode.  See the relevant docs here https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode
Once is a function that accepts another function as a parameter.  It's only used, right now, for a function that doesn't have arguments  but that can change in the future.  Furthermore, AFAIK, arguments is perfectly valid JS (and is used in many libraries) and I don't like the idea of banning it from the codebase.
I'd speculate that the issue you're having has nothing to do with svelte-calendar.  It likely has something to do with Babel or the way you've configured Babel and the fix should lie elsewhere, in my opinion.

@6eDesign Alright, I'll crack on with it and see if I can find a workaround.

@antony great, if you do find a workaround please share.  If you can't find a workaround, maybe we could at least update the code to use ...args instead of making the once function unusable for functions that need arguments.

Updated to use args.
After a fair bit of investigation, I think the issue was a combination of Svelte 3.19.1 and Babel 7. It seems that Svelte 3.19.2 fixes it (but I have no idea why)


Outdated info in FAQ

"Development topics
§ Is there an an Android version of Jitsi?
Yes, but it is still in an early alpha stage. A lot of the user interface is not yet implemented. You can find the apk on the Download page. We expect an usable release in 2014. "

Corrected.


Slave config?

Does this actually configure the slave unit itself?

If you slave is managed by puppet, yes. You need to declare the smokeping class with slave mode and the master_url in your manifest, for all slave nodes.


Improvement/introspect consistency

Unit tests operational
Unit tests comments added
Introspection header injection now more consistent with make_oidc flow
README updates
Additional schema/options added

add todo/section about lua_shared_dict