gather_for_metrics and GradientState don't work with arbitrary evaluation intervals

I try to run evaluation on the evaluation_dataloader (entire eval epoch) every given steps (instead of running after an entire train epoch). After evaluation,  the GradientState used by gather_for_metrics seems to stuck as-is in the last epoch of evaluation, which is
Sync Gradients: True
At end of current dataloader: True
Extra samples added: 20

and it cause gather_for_metrics drop samples on train_loader for the following training until it reaches the end of the train epoch.
I noticed that the gradient_state in Accelerator main instance and both DataLoaderShard are synced, in a way I can't find in the accelerate source code.
Can someone elaborate what the design philosophy of GradientState and how it syncs between the accelerator and dataloaders. Additionally, if it is possible to do evaluation in the middle of the train epoch like I mentioned above. Thanks!

After some investigations, I know the GradientState is synced by the singleton class design. My current workaround is manually setting accelerator.gradient_state.end_of_dataloader to False after the evaluation, so the following training would not incorrectly drop samples.

cc @muellerzr

@ernestchu GradientState is a singleton designed to work with a single dataloader that is currently being iterated upon, which is why you're experiencing this trouble. One thing I could think of is setting an api such as pause and resume which will "turn off" GradientState and/or reset it. So essentially the API would be:
dl1, dl2 = accelerator.prepare(dl1, dl2)
for i,batch in enumerate(dl1):
    ...
    if i == 5:
        accelerator.gradient_state.pause()
        for batch in dl2:
            ....
        accelerator.gradient_state.resume()
    ...

Does this seem reasonable to you both @ernestchu @sgugger

Should be closed with https://github.com/huggingface/accelerate/pull/1162, doesn't require any modification in the code


Implement Change Password API

Endpoint: /api/auth/change-password

Method: POST
Description: Allow authenticated users to change their account password
Authorization Required: Yes

Validations
New password:
Minimum 8 characters
Must include at least one number
Cannot be same as current password
Feedback
Success: "Password changed successfully" ; HTTP Status: 200
Failure: "New password does not meet requirements"; HTTP Status: 400

please assign me this issue


Include "energy conversion efficiency" class

Description of the issue
We need a class for energy conversion efficiency:

Energy conversion efficiency is the ratio between the useful output of an energy
conversion component and the input, in energy terms.

The definition of energy conversion efficiency refers to all useful outputs. Energy conversion efficiency for a certain output can be distiguished by e.g. electrical efficiency, mechanical efficiency and thermal efficiency.
Energy storage efficiency is different from energy conversion efficency and should be covered in a seperate issue.
Ideas of solution
Definition: Energy conversion efficiency is the ratio between the
useful output of an energy converting device and the input, in energy terms.
Existent classes that can be used to integrate energy conversion efficieny:

energy conversion efficiency is a ratio
energy converting device does Energy Transformation with
energy conversion effiency

Workflow checklist

[x] I discussed the issue with someone else than me before working on a solution
[x] I already read the latest version of the workflow for this repository
[x] The goal of this ontology is clear to me

I am aware that

[x] every entry in the ontology should have a definition
[x] classes should arise from concepts rather than from words

We have ratio in the OEO imported from the UO. It's there twice:

As subclass of dimensionless unit: A dimensionless unit which denotes an amount or magnitude of one quantity relative to another.
As subclass of the other ratio: A dimensionless ratio unit which, given a pair of quantities a and b, for which b is a multiple of a, denotes b by giving the multiplier (coefficient) c for a to result in b.

I don't find it easy to classify energy conversion efficiency. From my point of view, an efficieny is specifically dependent to an object.
On the other hand, a ratio is something generically dependent and mathematically calculated: it could be a subclass of quantity with a property has unit and a unit dimentionless unit or ratio (is this how the UO is used? @jannahastings ).

I think the way UO is used is something along these lines:
There are always four separate things: (1) the entity in reality (some sort of specifically dependent continuant, perhaps, or a process) (2) a number (3) a unit. The entity then has_value some (4) quantity value entity, that has_unit the unit. (And may have a specified value with a data property). The relationship between the quantity value entity (4) and the entity in the world (1) is is_about.

Thank you @jannahastings for the clarification.
We have process attribute as a suclass of process. It already contains power as "the process attribute that is the amount of energy transformed or transferred per time unit". Would that be the right place to implement a generic energy efficiency ?
The chain would go: process attribute entity energy efficiency (has_unit ratio) is_about process entity energy transformation (has_value energy efficiency, has_input some energy, has_output some energy) is a property of some sort of independent continuant (e.g. energy converting device).
Then it would be possible to assign the specifically dependent continuants like chemical energy, electrical energy etc. to the energy converting device.
Is that the right way to think?

I like your approach @k-knosala.
Still, the definition of energy transformation is currently focussing on the "whole" process, i.e. losses are also seen as output: for example rotational energy is transformed into electirc energy and heat (losses)
From your proposed point of view the process would transform rotational energy into electric energy with a certain efficiency which reflects the losses.
We could of course change the def of energy transformation or creating a new process, to solve this. Any good ideas @jannahastings @l-emele?

The current definition of the energy transformation is: Energy transformation is a process in which one ore more certain types of energy as input result in certain types of energy as output. It is rather generic and does not say that the amount of energy in equals the energy out. So I do not see the need for a redefinition here.

@l-emele I totally aggree that the definition of energy transformation does not need to be changed. I am thinking of a quality value entety that is_about energy transformation.
@stap-m  Maybe the definition of "useful" should not be made in the ontology. A way to circumvent the definiton of "useful"  would be to have a conversion factor for every output.

Energy conversion efficiency is the ratio between the useful output of an energy
conversion component and the input, in energy terms.

This is correct for efficiencies propper (η).  Coefficient of performance (COP) ignores (the free) part of energy inputs. Although they measure the same thing, engineers tend to be testy when it comes to conflating the two, so I think they should both be represented in the ontology.  Specifically, limiting efficiencies to values less then one (constraining attributes was discussed on OEO Dev Meeting 7) would not work for COPs.

There are always four separate things: (1) the entity in reality (some sort of specifically dependent continuant, perhaps, or a process) (2) a number (3) a unit. The entity then has_value some (4) quantity value entity, that has_unit the unit. (And may have a specified value with a data property). The relationship between the quantity value entity (4) and the entity in the world (1) is is_about.

So, we could define energy convertion efficiency as process attribute (1) and a corresponding quantity value efficienty quantity value (2) with unit ratio (3). And equally for coefficient of performance as separate process attribute.

So, we could define energy convertion efficiency as process attribute (1) and a corresponding quantity value efficienty quantity value (2) with unit ratio (3). And equally for coefficient of performance as separate process attribute.

I'm not sure I got how attributes fit in the ontology, but sounds right.

So far we have:

energy conversion efficiency, a subclass of process attribute, which has the relations process attribute of some energy transformation and has value some efficiency value
efficiency value, a subclass of  quantity value, which has the relation has unit some ratio

We still need definitions for these terms. My suggestions (based on the discussion above):

energy conversion efficiency: Energy conversion efficiency is a process attribute describing the ratio between the input of an energy transformation and its output.
efficiency value: An efficiency value is a quantity value stating the ratio between a processes inputs and outputs of a certain type.

Also, I'd propose opening a new issue for coefficient of performance

efficiency value: An efficiency value is a quantity value stating the ratio between a processes inputs and outputs of a certain type.

Can't we be more specific about the outputs?  They are either used or lost/dissipated/cooled away, so how about

efficiency value: An efficiency value is a quantity value stating the ratio between a process's inputs and the outputs that are used.
("processes" is plural, the genitive is "process's")

energy conversion efficiency: Energy conversion efficiency is a process attribute describing the ratio between the input of an energy transformation and its output.

The output needs specification, else the ratio is 1 by definition.  So

energy conversion efficiency: Energy conversion efficiency is a process attribute describing the ratio between the input of an energy transformation and the outputs that are used.

Also, I'd propose opening a new issue for coefficient of performance

Actually it's quite analogous to efficiency.  Efficiency disregards heat outputs (unless they are used, e.g. co-production of heat and power), whereas COP disregards heat inputs.    So I would suggest:

coefficient of performance value: An coefficient of performance value is a quantity value stating the ratio between the work input and the total output of an energy conversion process.
energy conversion performance: Energy conversion performance is a process attribute describing the ratio between the work input of an energy transformation and the outputs that are used.

What do you mean by "work input"?

I thought about mechanical work, as in "the energy transferred to or from an object via the application of force along a displacement" (your source).  But actually, it could also be electrical work.  So to be really precise (obnoxiously so), it should be "non-heat input of an energy transformation".

Now we have these four concepts with definitions and relations:

energy conversion efficiency: Energy conversion efficiency is a process attribute describing the ratio between the input of an energy transformation and the outputs that are used.

process attribute of some energy transformation
has value some efficiency value

efficiency value: An efficiency value is a quantity value stating the ratio between a process's inputs and the outputs that are used.

has unit some ratio

coefficient of performance value: A coefficient of performance value is a quantity value stating the ratio between the work input and the total output of an energy conversion process.

has unit some ratio

energy conversion performance: Energy conversion performance is a process attribute describing the ratio between the non-heat input of an energy transformation and the outputs that are used.

process attribute of some energy transformation
has value some coefficient of performance value

Does everybody agree with this?

Since everyone seems to agree, I'll implement this.


[Settings] Add 'language' selection in settings / general

I want to keep my system language in English, however, I want to use Trail Sense in German.
That's not possible now I guess, and could be solved by adding a 'Language' selection in 'General settings'
(similar to 'Theme').

Thank you for the context behind this - I will consider adding this.

Thank you for the context behind this - I will consider adding this.

If it is too complex to support all languages, then add english at first and expand to more languages later. I believe it will be about the same complexity to support all languages though using the new support library.

Binaryeye done that, please take a look at how it was implemented

https://developer.android.com/guide/topics/resources/app-languages#androidx-impl
Blocked until appcompat 1.6.0 has a stable release: https://developer.android.com/jetpack/androidx/releases/appcompat

In the meantime, if you have a phone running Android 13 (currently only Google Pixel phones), the next release of Trail Sense (4.4.0) will support the Android system settings app language.


feat: eip1559 tx for contract deployments

Added new script eip1559_deployer.ts for deployments.
closes #87

@mrekucci @significance @metacertain please check

Solved here and in the future branch that needs to be made
https://github.com/ethersphere/storage-incentives/pull/119


Added new feature to iterate over named groups

Added new feature to the Captures struct to iterate
over the named groups.
This pull request resolves #46.

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @huonw (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. The way Github handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see CONTRIBUTING.md for more information.

Is it normal practice to "squash" the code review commits together? I.e. squash HEAD~1 to HEAD~3?

Yup, that's fine. You'll have to force push, but that's OK.

OK, this  looks great, thank you.
I'm going to work on coming up with a better design for captures though, so stay tuned. :-)


Enhanced Modal Behavior for Dynamic Content and Improved Scrolling

Overview
This PR introduces enhancements to the modal component, focusing on improving the user experience in scenarios where the modal content is dynamic. Additionally, it addresses the scroll behavior within the modal to create a more intuitive and user-friendly interface.
Key Changes

Modal Expansion for Dynamic Content

Original Behavior: Previously, the modal was vertically centered in a way that caused it to expand both upwards and downwards when new content was dynamically added (using my-auto). This led to an inconsistent user experience as the modal's position shifted unexpectedly.
New Behavior: I modified the modal's vertical alignment to ensure it expands downward while remaining anchored at the top. This was achieved by adjusting the margin (mt-6 mb-auto). This adjustment ensures a stable and predictable modal position as its content grows, thereby enhancing the user interface.

Internal Scrolling within the Modal

Original Behavior: The modal initially used the entire modal container's scroll for navigating its content, which could lead to a disjointed and distracting user experience.
New Behavior: The modal now features an internal scrolling mechanism. By setting overflow-y-auto on the modal content only and applying appropriate max-height adjustments, the scrollable area is confined within the modal content itself. This change makes the modal more self-contained and user-friendly, keeping the user's focus within the modal dialog.

Rationale and Benefits

Enhanced User Experience: The new modal behavior, particularly with dynamic content, offers a smoother and more consistent experience. The modal's expansion behavior is more intuitive, especially in use cases involving forms or dynamically changing content.
Focused Interaction: The introduction of internal scrolling in the modal enhances usability. Users can now scroll through the modal content without affecting the relative position of the modal, leading to a more focused and less distracting interaction.
Visual Consistency and Accessibility: These improvements contribute to a visually consistent and accessible modal interface, ensuring better usability across different devices and screen sizes.

Conclusion
The changes made in this PR aim to make the modal component more intuitive and user-friendly, particularly in dynamic content scenarios. By refining the modal's expansion behavior and scroll functionality, we enhance the overall user experience and interface consistency.

[x] Visual changes (if any) are shown using screenshots/recordings of before and after.

Dynamic Content Before

Dynamic Content After

Scroll Before

Scroll After

Slideover Before

Slideover After

Code style

[x] composer cs command has been run.

Testing

[x] Changes have been tested.

Additional Note on Positioning of Smaller Modals

Adjusted Positioning: Smaller modals, like delete confirmations, will appear higher in the viewport due to the top-anchored alignment.
Design Rationale: This aligns with common UI practices, enhancing visibility and focus, especially on larger screens. It maintains consistency across all modals and their respective size, and is a neutral or positive change in terms of usability.
Overall Impact: The shift in positioning for smaller modals is intentional and aligns with modern UI patterns, ensuring critical actions are prominently displayed without negatively impacting user experience.

If needed this can be changed pretty easily though without affecting the positive aspects of this PR.

Thanks for contributing and the elaborate description for your pull requests, @andrewdwallo.
It's much appreciated!
There's a couple issues with the changes introduced in this PR though:

While I do understand jumps in the UI aren't desired, the modal should be positioned relatively to the window. Currently it's centered, but we may change this to a different ratio of space above/below the modal later. Setting the space above the modal to a fixed amount results in undesired and unexpected experiences on different screen sizes.
The entire modal should be scrollable within its parent container, to make sure the modal is accessible on screens with a smaller height. Modal content should only be scrollable when the header is sticky. This is how slide-over modals are designed to work. In your example screen recording you may want to use a slide-over modal instead.

If you still think any part of this is a bug that should be fixed, please feel free to raise it in a bug report or create a separate pull request for it.
Thanks again for your effort!

@zepfietje, first, I want to thank you for your time in reviewing the PR and for your valuable feedback.
I completely understand the concern about maintaining a flexible and responsive design in Filament, and I appreciate the importance of ensuring that any changes work well across various screen sizes.
Regarding the fixed margin issue, I've conducted thorough testing on different devices and screen sizes. The results indicate that the change to mb-auto mt-8 for the modal container doesn't negatively impact the modal's behavior or appearance on various screen sizes. Here are some test results for reference:
Current Modal Scroll Behavior - Mobile
https://github.com/filamentphp/filament/assets/104294090/7d147019-e4e8-49c5-80d8-850250b6b8e4
PR Modal Scroll Behavior - Mobile
https://github.com/filamentphp/filament/assets/104294090/87748c38-3f3d-4074-9a23-ad11aab65a84
Current Modal Scroll Behavior - Laptop/Desktop
https://github.com/filamentphp/filament/assets/104294090/35d1584b-48e4-4bc3-aac1-8fc4b8cce41b
PR Modal Scroll Behavior - Laptop/Desktop
https://github.com/filamentphp/filament/assets/104294090/9d3794e3-a507-4145-8336-1f9cd3fb87b1
Current Modal Scroll Behavior - Tablet
https://github.com/filamentphp/filament/assets/104294090/6434507b-f961-4963-b17f-8b7770802266
PR Modal Scroll Behavior - Tablet
https://github.com/filamentphp/filament/assets/104294090/8b338bc9-0713-40a8-9eff-cf26bf447cd9
If there are concerns about the fixed margin, I'm open to exploring responsive design solutions using TailwindCSS. The goal is to provide a more intuitive modal experience, especially for content that's slightly too long, without forcing users to switch to a slide-over modal.
In addition, I shared a demonstration of the changes proposed in this PR within the Filament Discord community. The demonstration received a positive response, with 11 members expressing their approval through likes. While this doesn't directly translate to a preference over the existing design, it does indicate that the community is receptive to the idea, especially for scenarios where content is long in a modal. I believe it's valuable to consider these indications of interest, as they suggest that users might find this approach more suitable in certain cases than a slide-over, even with longer content.
Regarding the scroll behavior and sticky headers/footers, I agree with your point. If this is a design pattern you want to stick to, I can work on adjusting the PR and make a new one to make the content scrollable only when headers or footers are sticky, aligning with the design philosophy of Filament.
Again, thank you for the opportunity to contribute.


fix: Lock file on windows

On Windows write data that FileStore.php is programmed cause
Write of xx bytes failed with errno=13 Permission denied
This is because the program call file_put_contents and filesize (that always return 0) methods on a locked file
From 14 PHPUnit test on Windows errors, on my implementation now have only 3 (that is non-related), this don't add any errors, only fix some existent errors

Can you merge this PR. Upload doesn't work on Windows systems without this patch.

Hi @thide11, sorry for responding to this late. I couldn't manage to check it in Windows but since few folks reported that this fixes the issue in windows and is not breaking anything on other systems, I am going to merge this.
Thank you for your contribution 🎉


Our examples do not work on Edge

Description

The examples don't load but it seems to be related on what Angular is doing on Edge https://github.com/angular/angular/issues/26508
Steps to reproduce

Just open the example in Edge

Demo

https://stackblitz.com/edit/handsontable-angular
Your environment

Angular version: 8.2.14
Handsontable version: 7.3.0
Wrapper version: 5.1.0
Browser Name and version: Edge
Operating System: Windows 10

It works with Handsontable v7.4.2 https://stackblitz.com/edit/angular-x8yjc3

Great! I'm closing this issue.


[🐞] JavaScript chunks from third party package cannot be referenced

Which component is affected?
Qwik Runtime
Describe the bug
When I install my package @modular-forms/qwik, import it and start the dev server, the chunks referenced in HTML at SSR cannot be loaded. If I navigate client-side, the error does not occur anymore.

Furthermore I noticed that if I edit the code in the node_modules directory of another package, e.g. @qwik-ui/headless, and insert for example the following code, it can be loaded after restarting the server via the following URL. However, the same does not work for my package.
const Button2 = /* @__PURE__ */ componentQrl(inlinedQrl((props) => {
  return /* @__PURE__ */ jsx("button", {
    ...props,
    children: /* @__PURE__ */ jsx(Slot, {}, "NG_0")
  }, "NG_1");
}, "Button2_component_DXPsA0vE3k4"));

http://localhost:5173/src/button2_component_dxpsa0ve3k4.js

Currently I have no idea where the error is. Is it a bug in Qwik or is it the build step or the package.json of my package?
Reproduction
https://stackblitz.com/edit/modular-forms-qwik-y4a6ir?file=package.json,src%2Froutes%2Flogin%2Findex.tsx
Steps to reproduce
Open the StackBlitz link. After the login form is displayed on the right side, check the logs in the browser console. Now click on the "Submit" button to see that nothing happens because the appropriate JavaScript chunks cannot be loaded. Then navigate to the payment form and then back again and repeat the process.
System Info
I think that this information is not relevant here.

Additional Information
No response

In order to make a qwik library you need to follow a set of rules, our fault, that we havent documented this! i will work on it.
But we have a library starter
https://github.com/BuilderIO/qwik/blob/main/starters/apps/library/package.json
Please follow the same, including naming it index.qwik.mjs it will work that way:
  "main": "./lib/index.qwik.mjs",
  "qwik": "./lib/index.qwik.mjs",
  "types": "./lib-types/index.d.ts",
  "type": "module",
  "exports": {
    ".": {
      "import": "./lib/index.qwik.mjs",
      "require": "./lib/index.qwik.cjs",
      "types": "./lib-types/index.d.ts"
    }
  },

dont add more fields, it will just confuse the bundlers, this is the recommended setup!

Thanks a lot for your quick help! I'll test it right away.

I'm stumbling over the same issue. Any insights on how you'd set it up to support multiple entrypoints @manucorporat ?
I really don't want to stuff all of the code into a single entrypoint 🥲

FYI for anyone stumbling over this with multiple entrypoints, it seems like updating all of them to be in the format *.qwik.(mjs|cjs) is enough 👋


Continue work on high-level API

Together with https://github.com/JuliaTelecom/SoapySDR.jl/pull/78, the following seems to make sense now (at least when inspecting the data we get back on the loopback; didn't test actualy Tx/Rx):
simple_loopback_multichannel.jl
ENV["SOAPY_SDR_LOG_LEVEL"] = "DEBUG"

using SoapySDR, Printf, Unitful

#SoapySDR.register_log_handler()

function loopback_test(num_channels=2)
    # open the first device
    devs = Devices(parse(KWArgs, "driver=XTRX"))
    dev = Device(devs[1])

    # get the RX and TX channels
    chan_rx = SoapySDR.Channel[]
    chan_tx = SoapySDR.Channel[]
    for i in 1:num_channels
        push!(chan_rx, dev.rx[i])
        push!(chan_tx, dev.tx[i])
    end

    # enable a loopback
    SoapySDR.SoapySDRDevice_writeSetting(dev, "LOOPBACK_ENABLE", "TRUE")

    # open RX and TX streams
    format = Complex{Int16} #chan_rx.native_stream_format
    stream_rx = SoapySDR.Stream(format, chan_rx)
    stream_tx = SoapySDR.Stream(format, chan_tx)

    # properties that matter for the buffers we'll be using
    mtu = Int(stream_tx.mtu)

    try
        wr_cnt = 0
        rd_cnt = 0
        should_transmit() = wr_cnt < 999
        should_receive() = rd_cnt < 3000
        # NOTE: we read more buffers in case there's delay between TX and RX

        SoapySDR.activate!(stream_rx)
        SoapySDR.activate!(stream_tx)

        while should_transmit() || should_receive()
            if should_transmit()
                buffs = []
                for i in 1:num_channels
                    buf = Vector{format}(undef, mtu)
                    buf .= (2*num_channels*wr_cnt+1+(i-1)*num_channels)+(2*num_channels*wr_cnt+2+(i-1)*num_channels)im
                    push!(buffs, buf)
                end
                write(stream_tx, tuple(buffs...))
                wr_cnt += 1
            end

            if should_receive()
                buffs = []
                for i in 1:num_channels
                    buf = Vector{format}(undef, mtu)
                    push!(buffs, buf)
                end
                read!(stream_rx, tuple(buffs...); timeout=5u"s")
                rd_cnt += 1

                if rd_cnt % 32 == 0
                    println()
                end
                @printf("%3d ", real(buffs[1][1]))
            end
        end
        println()
    finally
        SoapySDR.deactivate!(stream_tx)
        SoapySDR.deactivate!(stream_rx)

        # close everything
        finalize.([stream_rx, stream_tx])
        finalize(dev)
    end
end

isinteractive() || loopback_test()
isinteractive() || loopback_test()

Let's not merge this yet. I would like to port over test_pattern so we can validate buffer ordering, but there seem to still be some issues I need to qualify.

I guess we ought to sign extend in here as well while we are at it for simplicity. We can keep the old behavior by specify an unsigned stream type.

I think if we are going to sign-extend it should be in the FPGA.  If we ask for 12-bit samples, the FPGA should not sign-extend (obviously) but this is, IMO, a classic case of something good to do in the FPGA.

So there is a conflation here between the number of samples for the DMA API and the number of samples in the stream API. The requested samples are per channel in the stream API. This is causing some issues in my validation when interfacing with the higher level Soapy layers that rely on this to e.g. collect 1e6 samples in a single array.

Okay this should be good to go. Note that the acquire buffer section will need some more work, so I removed it for now: https://github.com/JuliaComputing/xtrx_julia/pull/89/commits/b5ed3376d2c8b3fd61bca3eb2b42b4058f2d1c8a

I am merging this since I need it for several other tests and bringups, and as it stand this PR only adds the high level API. The change in https://github.com/JuliaComputing/xtrx_julia/commit/b5ed3376d2c8b3fd61bca3eb2b42b4058f2d1c8a
is related to the buffer handling, which we will need to revisit with synchronization as well. We can move that to a separate PR.


kythe/web/site: update dependencies [phab:D2116]

Created by schroederc at 2018-01-11 19:27:47:

schroederc wrote at 2018-01-11 19:30:20:
Fix link

schroederc wrote at 2018-01-11 19:33:09:
Links are little different now and need updated.

danielmoy-google wrote at 2018-01-11 19:34:46:
This covers those the security alerts?

danielmoy-google wrote at 2018-01-11 19:35:07:

! In (earlier comment), danielmoy-google wrote:
This covers those the security alerts?

Ah yup, one of them was just removed I missed that.

danielmoy-google accepted this revision at 2018-01-11 19:35:19

schroederc wrote at 2018-01-11 20:08:53:
Really fix the links

schroederc wrote at 2018-01-11 20:10:35:
Undo non-fix

schroederc closed via commit 95690def9db8632c72893d66cfad6b77bfa422ae at 2018-01-11 20:12:22


Switch to $GITHUB_OUTPUT over deprecated ::set-output

Increases project coverage by +0.24% :tada:

Sometimes I wonder what Codecov is doing to draw these conclusions, but I'm not sure I actually want to know.


[IL] Verify code

Implement the subj. service according to the spec
Basic logic

moved to ehealth


Add pipeline-codecommit pattern

Description of changes:
Hi,
I added two patterns:

Shows usage of AWS CodeCommit as a source repository for CDK pipeline.
Pattern has a description of required steps and examples of commands in the pattern source file.
Shows usage pf AWS CodeCommit as a source repository for ArgoCD workloads.
lib/workloads-codecommit-construct/deploy.sh creates user, repository, EKS blueprint and all the required components and upload a code from a Github workloads repository.
lib/workloads-codecommit-construct/destroy.sh cleans all up.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

outdated


ROBUSTNESS: Assert no ENV/pkgs

https://github.com/conda/conda-pack/issues/112

Produce a warning if they exists. At least this can be clue if someone runs into issues.


Add flare docs for enterprise

Closes #7943

Link verification is failing. It seems like apache.org is having a bit of a DNS crisis with their sub-domains. I'll wait until they work it out 🙄


Update Dropzone repository url

Q
A

Is bugfix?
❌

New feature?   ❌

Breaks BC?
❌

Tests pass?
❌

Fixed issues
Adjust link to Dropzone on README

Thank you!


errors with scan:  got an unexpected keyword argument 'states' at   tutorials/DT_RNN_Tut.py

I am using theano0.7. I got the following error from the tutorial.
TypeError: scan() got an unexpected keyword argument 'states'
Can anyone kindly help me? Thanks.
file: tutorials/DT_RNN_Tut.py
line: 235
scan for iterating the single-step sampling multiple times
[samples, summaries], updates = scan(sample_fn,
                  states = [
                      TT.alloc(numpy.int64(0), state['sample_steps']),
                      TT.alloc(numpy.float32(0), 1, eval(state['nhids'])[-1])],
                  n_steps= state['sample_steps'],
                  name='sampler_scan')

This example used an old interface to scan. I'm not sure how to convert it.
@lamblin, do you remember?
On Wed, Mar 16, 2016 at 4:51 AM, lionheartxlw<EMAIL_ADDRESS>wrote:

I am using theano0.7. I got the following error from the tutorial.
TypeError: scan() got an unexpected keyword argument 'states'
Can anyone kindly help me? Thanks.
file: tutorials/DT_RNN_Tut.py
line: 235
scan for iterating the single-step sampling multiple times
[samples, summaries], updates = scan(sample_fn,
states = [
TT.alloc(numpy.int64(0), state['sample_steps']),
TT.alloc(numpy.float32(0), 1, eval(state['nhids'])[-1])],
n_steps= state['sample_steps'],
name='sampler_scan')
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/lisa-groundhog/GroundHog/issues/51

You would need to use import scan from theano.scan_module instead of sandbox. Then use outputs_info instead of states, and the syntax is a bit different in that you only specify the initial state, instead of the whole buffer.
Then, you may need to keep only the requested number of steps you want to keep. For instance, for your second state (summaries), you will want to only keep summaries[-1].


Remove broken flipped tile handling

The current code applies the bit twiddling necessary to decode tile flip status out of tile ids to the ids of tiles inside tilesets but that's not actually where the flips are encoded. As a result the tile ids reported by rs-tiled are incorrect. This change moves that code onto the global ids of tiles inside the layers where the filp state is actually encoded.
This removes the flip_v and flip_h fields from Tile because those were not being set correctly anyway and Tile is not the right location for them. They should be attached to the Layer somehow but this change doesn't propose a way to do that.

Closing since #61 provides a complete solution rather than just dropping the feature.


Loadtest broadcast sync

Describe your changes and provide context
Testing performed to validate your change

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

Project coverage is 62.44%. Comparing base (7ee257f) to head (537d4be).
Report is 8 commits behind head on main.

:exclamation: Current head 537d4be differs from pull request most recent head 90dbbde. Consider uploading reports for the commit 90dbbde to get more accurate results

Additional details and impacted files

@@            Coverage Diff             @@
##             main    #1475      +/-   ##
==========================================
- Coverage   62.64%   62.44%   -0.20%
==========================================
  Files         257      257
  Lines       16867    16890      +23
==========================================
- Hits        10566    10547      -19
- Misses       5798     5840      +42
  Partials      503      503

Files
Coverage Δ

app/app.go
67.66% <100.00%> (-0.07%)
:arrow_down:

... and 3 files with indirect coverage changes


dont use Attributes type for theme

Using the Attributes types for Themes is overly complicated, since we don't actually want every theme attribute to be converted to Observable{Any}. I think the ability to update the observables in a theme to be reflected in created plots hasn't been used a single time, and is likely also buggy.
Getting rid of Attributes in theming will also help getting rid of the Attribute type in the long run.

Lift removal got mixed in, cleaned up PR in https://github.com/JuliaPlots/Makie.jl/pull/1694


[WIP] Avoid creating a new grpc stub for each request in the StargateRequestInfo

What this PR does:
Which issue(s) this PR fixes:
Fixes #2004
Checklist

[ ] Changes manually tested
[ ] Automated Tests added/updated
[ ] Documentation added/updated
[ ] CLA Signed: DataStax CLA

I just:

fixed the issues
rebased on latest
removed that test commented out thingy

This can be merged now..


Update Copyright in LICENSE to 2017

Branch name was meant to be 'Happy New Year' but apparently typing the word 'Year' isn't my strongest skill.

Codecov Report

:exclamation: No coverage uploaded for pull request head (happy-new@1a4ba6c).

Continue to review full report at Codecov.

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

Thanks @TetraEtc!


Adding paige's blog post

What are you changing in this pull request and why?
Adding a blog post for @paigeb originally printed here.
Checklist

[ ] Review the Content style guide so my content adheres to these guidelines.
[ ] For docs versioning, review how to version a whole page and version a block of content.
[ ] Add a checklist item for anything that needs to happen before this PR is merged, such as "needs technical review" or "change base branch."

Adding new pages (delete if not applicable):

[ ] Add page to website/sidebars.js
[ ] Provide a unique filename for the new page

Removing or renaming existing pages (delete if not applicable):

[ ] Remove page from website/sidebars.js
[ ] Add an entry website/static/_redirects
[ ] Run link testing locally with npm run build to update the links that point to the deleted page

Hiya @runleonarun @paigeb Happy Monday
I was just wondering if this PR is ready for review or is being worked on? If so, I'll leave this in draft for you.
Kind Regards
Natalie

Hey @nataliefiann just bringing some info back from internal slack convo: we still need to review to make more applicable to those outside of dbt.

Awaiting DX input. Will reopen when it comes up again


[Capacity ]Stake to network and generate Capacity

Description
As a token user, I want to stake to the network and support my favorite providers by targeting them to receive the Capacity generated by the Network.
Acceptance Criteria

Dispatched origin is Signed by Staker.
A Target MSA account must be a Registered Provider.
A token amount staked must not be greater than the free balance.
A Staker can stake multiple times and target different providers.
Additional staking increases total locked amount.
The token amount staked is to remain locked with reason WithdrawReasons::all().
~Capacity generated by staking to a target is calculated by a configurable capacity-generation function.~
Target Registered Provider is issued generated Capacity.
Target Registered Provider issued Capacity becomes available at the start of the next Epoch.
Stakers can increase their staked amount for a given target.
Emits Stake event with staking account, target, and amount.
Note: MinimumStakingAmount should be greater or equal to the existential deposit.

How do we QA this?

Polkadot ui

Description
As a token user, I want to stake to the network and support my favorite providers by targeting them to receive the Capacity generated by the Network.

Please add your planning poker estimate with Zenhub @enddynayn


Set TF mode for all initProg varyings, to stop driver culling uniforms.

Hopefully this workaround is acceptable. We had a GLSL program in gfxbench that was only being used to output TF (so it set gl_FragColor to a constant value). Because the overzealous driver optimized out all its uniforms, we were seeing glUniformLocation and glUniform errors everywhere when the replay server copied uniform values from the initial program to the live program.

I think the workaround is fine. It's unfortunate that things are so kind of wild-west but we're kind of at the mercy of GL's shader system so it's nothing wrong with your fix.
Can you retarget the PR to v1.x though please? As in CONTRIBUTING.md the v0.x branch is soft-locked so any PRs should go against v1.x. I'll manually cherry-pick back any fixes like this which are unlikely to significantly affect stability.


Have you looked at wallymathieu/with?

I've done something similar in:
https://github.com/wallymathieu/with
Any thoughts?

Didn't see your repository on immutables, great work !
My next objective is to make instance creation as fast as possible, without calling Invoke (by using compiled expressions).

Sounds fun! Good luck! :)

Noticed that there was quite the penalty of using expression and invoke to pull out values for: https://github.com/wallymathieu/with#performance-impact-of-working-with-immutable-types-by-using-with-in-c-for-version
I guess you have the same issue


Fix typo in JavaCompile.java

Fixes #?
Context

Contributor Checklist

[ ] Review Contribution Guidelines
[ ] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[ ] Make sure all contributed code can be distributed under the terms of the Apache License 2.0, e.g. the code was written by yourself or the original code is licensed under a license compatible to Apache License 2.0.
[ ] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
[ ] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
[ ] Provide unit tests (under <subproject>/src/test) to verify logic
[ ] Update User Guide, DSL Reference, and Javadoc for public-facing changes
[ ] Ensure that tests pass sanity check: ./gradlew sanityCheck
[ ] Ensure that tests pass locally: ./gradlew <changed-subproject>:quickTest

Gradle Core Team Checklist

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation
[ ] Recognize contributor in release notes

@nugmanoff Please resolve the DCO error otherwise we cannot accept the PR.

@ljacomet resolved✅

@big-guy ✅

@bot-gradle test QF

OK, I've already triggered QuickFeedback build for you.

@nugmanoff Could you rebase on the latest master? Some changes were done to the CI setup that need to be included to have this fix go through CI.

@ljacomet done


Fix factorybot deprecation warnings

Thanks for creating an issue! Please fill out this form so we can be sure to have all the information we need, and to minimize back and forth.

What are we trying to do?

I was getting my test on this afternoon and I noticed this deprecation warning:
Colins-Air:dcaf_case_management colin$ rails test test/models/event_test.rb
DEPRECATION WARNING: Static attributes will be removed in FactoryBot 5.0. Please use dynamic
attributes instead by wrapping the attribute value in a block:

role { "cm" }

 (called from block (2 levels) in <top (required)> at /Users/colin/repos/dcaf_case_management/test/factories/user.rb:9)
Run options: --seed 48476

Let's squelch this deprecation warning!

What feature or behavior is this required for?

Keeping our dependencies fresh!

How could we solve this issue? (Not knowing is okay!)

Pretty much do what the deprecation warning says to do to fix it. This might be a fun journey to find out what a block is and how it works!

Anything else?

nope!

Hi @colinxfleming, I could work on this issue if it's ok to you.

@andersonfernandes that would be delightful! Don't worry about CI failures on your fork, those are because of some circleci deal. Let me know if I can be helpful on anything!

@colinxfleming it's a pleasure to help on such great project. I'm available to work on new fixes or features.

@andersonfernandes we try and make it a point to keep the issues list pretty fresh, so I would advise skimming it and seeing if anything not marked future features or admin looks juicy. if something does, please post in the issue and let me know you're working on it so we don't assign it out to another vol. I am always around in issues or slack to be helpful if you ever have any questions or need clarificationon anything though!


Issue With New Accounts Login

What is the location of your example repository?
https://github.com/Shopify/hydrogen-demo-store
Which package or tool is having this issue?
Hydrogen
What version of that package or tool are you using?
^2024.10.0
What version of Remix are you using?
^2.13.1
Steps to Reproduce

Ensure you are logged out
Navigate to https://hydrogen.shop/products/the-liquid?Size=154cm&Color=Syntax
Verify that you can open the cart and can add to cart any of the variants from Step 2
Click on the header icon to log in
Do not enter email, click the back button to navigate back to same page as step 2 (https://hydrogen.shop/products/the-liquid?Size=154cm&Color=Syntax)
Try adding something to cart or removing from cart.
You will be redirected back to the login page
Click back button again. You will now be stuck in a broken experience unable to undertake any action unless you refresh the page.

Expected Behavior
Users should be able to continue adding to cart without facing any issues like the initial forced redirect to login or the completely broken experience.
Actual Behavior
The users are stuck in a broken experience.
Please note that we noticed a drop in conversion rates following the implementation of the new accounts login and we were unable to pinpoint the issue until now. We believe that this is especially bad for users of instagram where they are used to shopping via the built-in browser where there's no refresh button (if they scrolled down and the drawer is stuck open there's no way to scroll back up to show the refresh button) and for those stuck with the open drawer there's nothing they can do.
Hopefully this could be addressed before Black Friday.
https://github.com/user-attachments/assets/36c58dc1-dab4-4352-8631-405fb0611f0f

For us the fix was to replace the Link component with an a tag.

Sorry for the delayed reply. Thanks for logging this issue.


Questions about training and inference configuration

Hi,
Thanks for open-sourcing such great work. I have some questions when using this code:

Does the test_lseg.py script support multi-GPU inference? When using a single GPU, it takes about 2~3 hours for inference on ade20k.
I tried to evaluate the provided demo_e200.ckpt on ade20k and got (pixAcc: 0.8078, mIoU: 0.3207), is that correct? It seems lower than the values in the paper.
I trained a model on ade20k (the same config as train.sh, backbone is vit_l16_384) with 8*V100 but found it needs ~90 hours for training 240 epochs. Is it reasonable (it seems much longer than you said in #7)?
When I use this code for other datasets like cityscapes, what changes should I make? The only difference I found is get_labels()in lseg_module.py. Have you evaluated the mIoU on cityscapes?

Thanks in advance.

Hi @chufengt,
Thanks for your interest in LSeg!

Since for test, the time is ok, so currently we don't try multi-GPU inference.
There might be some understanding. Demo model is only for qualitative trial on the fly. For experiments and ablation study, we try on different settings. Please take detailed look at the section 5.1 and experimental setup part of the paper.
Same with 2, please strictly follow the setting of the paper. For all the ablation study such as the results in 5.1, we train LSeg with DPT and a smaller ViT-B/32 backbone together with the CLIP ViT-B/32 text encoder on ADE20k dataset. Therefore, you can follow the training and testing instruction in README. The primary thing to change is to set --backbone clip_vitb32_384, you can check details via this link and #13 .
You should add label files to https://github.com/isl-org/lang-seg/tree/main/label_files and change the get_labels function to choose how to process your label file. For the quantitative results of the paper, we don't evaluate the mIOU on cityscapes.

Hope this helps.

Another quick question.
In test_lseg.py:
scales = (
        [0.75, 1.0, 1.25, 1.5, 1.75, 2.0, 2.25]
        if "citys" in args.dataset
        else [0.5, 0.75, 1.0, 1.25, 1.5, 1.75]
    )

Could you give some references for these selected scales?
I'm not very familiar with semantic segmentation but I found different scales used in HRNet: https://github.com/HRNet/HRNet-Semantic-Segmentation

Performance on the Cityscapes dataset. The models are trained and tested with the input size of 512x1024 and 1024x2048 respectively. If multi-scale testing is used, we adopt scales: 0.5,0.75,1.0,1.25,1.5,1.75.

Performance on the ADE20K dataset. The models are trained and tested with the input size of 520x520. If multi-scale testing is used, we adopt scales: 0.5,0.75,1.0,1.25,1.5,1.75,2.0 (the same as EncNet, DANet etc.).

We don't conduct experiments on cityscapes. For semantic segmentation, we strictly follow the setting of DPT: https://github.com/isl-org/DPT. Please find the github for more details. Hope this helps!

Hi, @Boyiliee,
Thanks for your reply.
It seems that DPT did not release the training code as well as the detailed settings for semantic segmentation.

how about the training time for ade20k mentioned above? is it reasonable?
which scale range did you use for ade20k evaluation? is it [0.5, 0.75, 1.0, 1.25, 1.5, 1.75]?

Thanks again.

Hi, @Boyiliee,
Thanks for your reply. It really helps. I have some extra questions:

For the training time mentioned above, I noticed that you said '1-2days for ade20k' in Training configuration #7, does it measure with vit_b32 or vit_l16? I'm not sure whether the ~90h training time for vit_l16 on ade20k is reasonable or not. The config is the same as train.sh.
Does this code support multi-node (e.g., 8*2 GPUs) training?
When I tried to train LSeg on Cityscapes, I got the 'out of cuda memory' error with the crop size of 768 (line 31 in lseg_module.py), but using 480 is ok. The backbone is vit_l16 and I use 32G V100 * 8.  Is it reasonable?
For Cityscapes, I got mIoU≈60% with the  vit_l16 backbone. Other configs are the same as train.sh. It seems much lower than the SoTA results on semantic segmentation. Can you give me some suggestions about how to improve the results?

Thanks again.

Hi!
Thanks for your work, and it's really impressive. But I would suggest you put the 4th point about adding label files in the README and also raise an error or warning when args.dataset is not ade20k, since the dataset choice is hardcoded in the LSegModule class. This may save like a few hours for anyone who hopes to use your codebase on other datasets.
Thanks again!


The app is really boring while abroad

Hi everyone,
Here is the config of the app:

Country set to: Japan
Language is set to: Français (French)

Here are a few comments:

The creation of a new product is painful
For each new photo, I have to set it's a Japanese photo
But if I go back, the button is not green, as the photo is not available in French -_-
If I take a second photo, why do I have to select Japanese again?
And I have to do this 4 times??

The same goes for the product name, which is "Unknown product", because it's not set in my language.
It feels frustrating to not understand all these extra steps as a user.
https://github.com/openfoodfacts/smooth-app/assets/246838/05ce073d-4ed5-40ae-88e6-45b894c86891

https://github.com/openfoodfacts/smooth-app/issues/1536

We should create Country Guides for food @g123k


Create a notification block for a single object

Goals
Sometimes a view needs to show the details for a single object. It would be nice to have an easy way to be notified when that object changes.
Expected Results
Have the method on Object that will add a notification block.
myObject.addNotificationBlock {
    // update ui
}

Current Workaround
This only works if the object has a primary key. You can just create a query for that object.
let objectQuery = realm.objects(MyObjectSubclass).filter("id == %@", myObject.id)
notificationToken = objectQuery.addNotificationBlock { (changes: RealmCollectionChange) in
    // update ui
}

Realm Objects conform to KVO, so that's the mechanism you'll need to use to get per-object updates right now. We're already tracking adding addNotificationBlock(_:) to Object in #3431. It's something we'll want to do at some point, but it'll mostly be an API shortcut.


support nerdctl as a fn runtime

The CI test part has not been done yet. It will be done soon.

Hah. Are you going to post this as a comment on https://www.youtube.com/watch?v=Wavigyq7NdQ? :-)

Sure


How to get detailed information about enemy units?

How do you get enemy units attack targets, weapon cooldown, weapon level, armor level?
I looked up a lot of sc2 API issue and game tests, but I could only get my own, not the enemy,It's always zero.
thx

This is known in human combat, and this information is important to combat.

I agree with weapon and armor upgrades.
Weapon cooldown is only guessed from experience. You can not click on a unit and see the cooldown. I am more in favor of not having it because I fear it could break unit interactions but I have no strong evidence assuming you do not have the target.
With target information I strongly disagree. It would make a lot of units virtually obsolete. Just google for the micro bot video where there are tanks vs zerglings. Overall it would be a huge nerf to all splash  and projectile units.

ZERG_RAVAGER: EFFECT_CORROSIVEBILE
TERRAN_GHOST: EFFECT_NUKECALLDOWN
PROTOSS_HIGHTEMPLAR: EFFECT_PSISTORM
......
How do you avoid this ABILITY?
These injuries are high, but they are not available.
Is there any sign of attack on our unit?
like this:  unit->attacked(value:true or false)

const std::vector<sc2::Effect> effects = agent.Observation()->GetEffects();
and
const float radius = agent.Observation()->GetEffectData()[effect.effect_id].radius;
gives you everything you need.

thx, It was very helpful to me.


docs(traffic light recognition): update documents

Description
Documentation update.
Related links

Tests performed

Notes for reviewers

Interface changes

Effects on system behavior

Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[x] The PR follows the pull request guidelines.
[x] The PR has been properly tested.
[x] The PR has been reviewed by the code owners.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.
[ ] The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

@tzhong518 Memo: Need to update autoware_auto_msgs to autoware_msgs

@tzhong518
Can you resolve conflicts?

@tzhong518
Thank you for updating the document. Could you resolve the conflicts?
I eager to get the latest traffic light recoginition document soon!


Small cleanup

Remove a compatibility shim for Django 1.5, and another for Django 1.6. Those versions of Django are so old, nobody should be using them anymore.
It should also be noted that we removed any internal use of these two years ago in #59.

LGTM thanks!


Using DBObject instances while fetching data from external resources

Now mapping external resource responses onto DBObject instances (to be able to save the full raw values into DB)
Directly converting DBObject instances to corresponding models without any intermediate conversion to String (except PDBHeader response, which is plain text)

Codecov Report

Merging #186 into master will decrease coverage by 0.02%.
The diff coverage is 0%.

@@             Coverage Diff              @@
##             master     #186      +/-   ##
============================================
- Coverage     38.07%   38.04%   -0.03%
- Complexity      199      202       +3
============================================
  Files           101      101
  Lines          1639     1648       +9
  Branches        216      217       +1
============================================
+ Hits            624      627       +3
- Misses          922      928       +6
  Partials         93       93

Impacted Files
Coverage Δ
Complexity Δ

...service/cached/CachedVariantAnnotationFetcher.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...rvice/transformer/ExternalResourceTransformer.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...ome_nexus/service/remote/PdbHeaderDataFetcher.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...us/service/remote/MutationAssessorDataFetcher.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...al/genome_nexus/service/remote/VEPDataFetcher.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...nome_nexus/service/remote/GeneXrefDataFetcher.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...exus/service/transformer/PdbHeaderTransformer.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...nexus/service/remote/CancerHotspotDataFetcher.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...us/service/remote/BaseExternalResourceFetcher.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...vice/cached/BaseCachedExternalResourceFetcher.java
1.13% <0%> (+0.01%)
1 <0> (ø)
:arrow_down:

... and 2 more

Continue to review full report at Codecov.

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


Use simpler positional tracking algorithm when bulb is too far to get cone fit AND multiple cameras see bulb.

Hi,
This is continuation of this thread from google groups:
https://groups.google.com/forum/#!topic/psmoveservice/BlpF-2af5kw
In 2 cam setup, player is in front of them and they can be pretty close (like for PSVR), so BULB is pretty close and distance calculation based on its size can be accurate.
In case of 4 cam setup you are usually far from each camera. The size is very small but still possible to detect it as point or group of pixels but calculating eclipse based on that can be very inaccurate and even one or two pixel change totally changes estimates. However in this case we heave multi camera interpolation what makes whole thing working.
From what I have observed, interpolations to ellipse if distance is far (which is at least 2 cameras always for me) is causing jittering of the controller. When I tested distance with only one camera as I move it far away I can observe identical jittering in Z dimension by about 10 - 20 cm as distance is far.
But we use only X and Y to triangulate 3d position - yes, but X and Y are calculated together with Z in a single model of ellipse and error in Z is also propagated to other coordinates. The intense of jittering with one camera is same as small shaking in multi cam scenario.
My proposal is allow calculation of 3d position only by interpolation of flat 2d points from each camera. Moreover I would like to calculate these points as average of masked pixels in detected region, not the contour.
Since the code is very complex I would appreciate your input here. I have been trying to implement based on modification of existing code but in this case deeper understanding of topic is required.
Thanks.

ok. i think i got it. will post info.

Another thing that can improve your method i think would be a non binary mask for the blob (i dont know if it's possible). By this way, we can weight each pixel of the detected region, and then have subpixel accuracy (each little move would change the intensity of the edge's pixels) using the "average of masked pixels" method. This would allow the triangulation to be much more precise.
However there are some problems, when the blob is partially masked, this would lead to an error.

Hello @toto5100 ,
Do you mean to apply this to threasholded image? Don't you think its 'almost' binary so no point in weighting?
I implemented pseudo code and it worked but did not solve problem.
The problem of shaking is really not solvable I think unless we have Kahlman filter if I get it correct.
If we are far we can only interpolate up to dimension of camera and I think the minimal step is proportional to distance, like resolution@distance ~ distance * size of camera pixel.
I still did few attempts and have some results which I prefer describe once few of you do me favor and comment on results. Which one is better? I was doing my tests on 2 cameras only about 5 meters from wall where camera is located (so probably 6 m in straight line). This is where end of playing area is.
https://www.youtube.com/watch?v=Q_Y1iJHZ1cA
https://www.youtube.com/watch?v=qNcdKbx5hRg
https://www.youtube.com/watch?v=Dl4kiUExJOE
https://www.youtube.com/watch?v=YGec6RbSNcs

I wanted to say that instead of using a pure thresholded image we could only use it to determine a region of interest, and then we use an image that uses a threshold to 0 (like here http://docs.opencv.org/2.4/doc/tutorials/imgproc/threshold/threshold.html) so we can keep the intensity of pixels in the edge. I don't know if current tracking algorithm is already subpixel accurate or not. If not, we cannot have an accuracy better than a few milimeters in X and Y when distance is increasing (due to resolution limits)

Also, i think the lasy video is the best

Yes, last is best.
I am using simple exponential moving average so I am simply adding some simple physics what especially helps is controllers is moving.
v1 is current model where we estimate Z for each camera from ellipse size. Like expected it is very jittery as ellipse is small and far away.
v2 is much better - we use only 2d center of mass of detected contour.
v3 - we are adding exponential moving average to v2 - we see that we still getting errors from Z.
v4 - exponential moving average applied to 2d center of mass.
I will do tests close to cameras and see results. I am very happy with v4 especially about my experience when I move controller.

@toto5100, yes that is interesting ohwever this means totally new approach for filtering image. lot of work :)

@toto5100 Let's keep the discussion to the issue at hand. There are lots of ways to improve tracking, and this issue and discussion is limited to just one way.

examples when i am close to cameras which is 2m from wall and they are about 4m from each other on this wall near top.
still worse results are with existing method and calculation of ellipsis, then trangulation based on 2d and then smoothed. this is actually distance where controller buld is starting to look like ellipsis so error can be huge due to setup.
https://www.youtube.com/watch?v=55SX6m4hv50
https://www.youtube.com/watch?v=yuW10I_d7qw
https://www.youtube.com/watch?v=-cFf6hCEff0

@gb2111 . Please see issue #50

Tried new release and if controller is still it really remains still - no shaking. Looks just great!

@cboulay , @HipsterSloth
i have been thinking about best way to avoid controller jump when BULB in one or more camera goes off or is back and have question that might be able to help. based on this calculation i will be able to calculate error in specific location and make adjustment. i have been thinking about many approaches to this problem and this one seems to be the best.
lets say i have 3 cams and 3rd lost BULB. do you know how to calculate potential 2d location of BULB on 3rd camera so the triangulation from 1+3 will  give same result as we have from triangulation of 1+2 ?
so if we have usually
point3d(cam1,cam2) = triangulatePoints(cam1bulb, cam2bulb)
i want
cam3bulb-estimate(cam1,cam3) = reverseTriangulatePoints(point3d(1,2), cam1bulb).
thx

so what I found is that even if I use 2 points from a distance it does not improve accuracy, even though Z might vary. the biggest effect was simply by adding exponential moving average.


MHButon

hello angeloxx
i found a class MHbuton in your code and want to know how it work
what parameter its neccessary in the json to make it worked ?
thank you

MHButton is disabled:
			/* if (accessory.accessory == 'MHButton') this.devices.push(new MHButton(this.log,accessory)) */
			/* if (accessory.accessory == 'MHPowerMeter') this.devices.push(new MHPowerMeter(this.log,accessory)) */

it was introduced to send CEN/CEN+ signals to the bus or use CEN/CEN+ to start an Homekit scenario.

It will be useful to send nuvo’s command behind a f459 from homekit
Can it be use if i uncomment it ?


Linuxu Ubuntu 18.04 - VirtualBox VM

I cloned the project, install openssl accordingly and ran cargo.
it did not build/compile; however when I attempted it on MacBook pro 2018 it worked.

Can you share the error you got on Ubuntu?

@creptt Any update on this?

nestler, neveremind, it worked. thanks!

Closing then :slightly_smiling_face:


Reorganize go imports to be more consistent

Summary
I've noticed that the order of our go imports has seemed a little random and getting more so over time.  Ideally, the imports would be organized as follows (alphabetically within a section):
import (
    [system packages]

    [third-party packages]

    [project packages]
)

However, I think when a blank line is added between imports, goimports won't regroup the grouped imports to be with other similar groups.  In this PR, I used the gci utility to do the reorganization which eliminates extra sections and groups like I think we want.
Note that a couple of the commits fix a few duplicate imports (either alias vs. no alias or "." vs no ".") that caused issues like gci and goimports fighting against each other (goimports still runs as part of our pre-commit hooks).
I tried to add gci to our golangci-lint list of linters to run.  However, gci won't automatically fix the import order right now due to recent changes in the library (see this golangci-lint issue).  It will fail if there is an issue with the import order, but the error message makes it less than obvious what's happening (see this gci issue).  So turning it on may cause more confusion than it solves at this point.
So for now, I've created a makefile target that builds the gci utility and runs all of the non-generated Go code through gci for consistent formatting.  That said, I'd rather have this work at the pre-commit level and fix issues automatically (like our formatters), so maybe we can move to that at some point when the above issues have been addressed.  This PR at least gets all the current files consistent with import order/grouping and an easy command to fix any issues on demand.
To run the makefile target:
make fix_go_imports

Warnings

:warning:
Please add the JIRA issue key to the PR title (e.g. MB-123)

  Generated by :no_entry_sign: dangerJS against 6d891cb62d3ccda4b17072152c0aa852228a192f

It'd be great to see something like this. I'll fix imports on files I touch sometimes, but sometimes don't if I know others are in that file too because it'll cause more merge conflicts. If we could have it automated, that would be better. I wonder if instead of using it through golangci-lint, we should use it more directly since it seems to have a write command we could use as an "auto-fix" of sorts.

I wonder if instead of using it through golangci-lint, we should use it more directly since it seems to have a write command we could use as an "auto-fix" of sorts.

@felipe-lee I used gci write to fix all the files initially.  See what you think.

I tried it locally and we'd need to also add an exception for skipping .gopath for people using nix.

.PHONY: fix_go_imports
fix_go_imports: bin/gci
	find . -name '*.go' -not -path "./pkg/gen/*" -not -path "./pkg/assets/*" -not -path "*/*mocks/*" -not -path "./.gopath/*" \
		-exec gci write --Section Standard --Section Default --Section "Prefix(github.com/transcom/mymove)" {} \;

I specifically added -not -path "./.gopath/*"
It works pretty quickly though so that's awesome. I wonder if making it a script would be better so that we can run it with pre-commit still, like we do with the ato-go-linter:
https://github.com/transcom/mymove/blob/996a043ce25316e89d3ce8daf2dee9409d5a3d3e/.pre-commit-config.yaml#L59-L66
https://github.com/transcom/mymove/blob/996a043ce25316e89d3ce8daf2dee9409d5a3d3e/scripts/pre-commit-go-custom-linter#L1-L11

I wonder if making it a script would be better so that we can run it with pre-commit still

Yes, that would be much better!  I'm not sure why I wasn't thinking of that before; maybe I got my focus tied up on the golangci-lint integration issues.  I've pushed a new commit through that tries to do this.  I didn't add the .gopath exclusion here yet since none of the other pre-commit hooks seemed to do it, but try things out in your nix setup and I'll add it if needed.  Is this more along the lines of what you were thinking?

I tried it locally and we'd need to also add an exception for skipping .gopath for people using nix.

I really like this! I wonder if it could be better to just supply a list of allowed top level directories? e.g. we only have go code in cmd and pkg right? And we only need to exclude a few directories from pkg?

I wonder if it could be better to just supply a list of allowed top level directories? e.g. we only have go code in cmd and pkg right? And we only need to exclude a few directories from pkg?

I just pushed a change to hopefully do this:
https://github.com/transcom/mymove/blob/63adf48a0b6bfccb81ef1f1067b5c7dd2e68aba4/.pre-commit-config.yaml#L69-L70

I just noticed it's failing in CI now at the pre_test step because it can't find the gci executable there.  That should be created by make build_tools now, but I guess that's not run in CI.  I'll have to dig into that.

Fwiw, I tried both versions of the pre-commit hook you set up (pointing at all go files vs being explicit about cmd and pkg) and both worked for me and updated the same files (afict anyways...it's a lot of files...)

Closing in lieu of #8940.


Suffix to value

@src-code @thierryk

CLA is valid!

:shipit:

Coverage remained the same at 100.0% when pulling 00c62a58a67064fa4e898ba234e343ab6a823ee1 on suffix-to-value into 128c7f958ea970e63620163577ad07bd678b54ac on master.


MTU Path Discovery and Explicit Congestion Notification (ECN)

The QUIC transport specification includes recommendations for using both MTU Path Discovery and ECN, neither of which are currently supported by libuv (unless I've missed something). Both require setting flags in the IP header. I'd like to instigate implementation in libuv but before I put the time in I'd like to make sure it has a reasonable likelihood of being accepted.  From an API standpoint, both should require only additional flag options.

I don't see any issue as long it's functionality supported in multiple OS's.

The mtu path Discovery bit definitely is, although it may not be supported on all platforms. The ECN part is going to be more difficult. I'll work on each separately and will see how far I can get. Thank you :)


About loss function

Hi.
First of all, thank you for your excellent work.
I would like to ask you a question about loss function.
In loss.py, loss is calculated by loss = (input - target) * mask.
But doesn't mask have a value of 1 for the background and 0 for the person?
Could you explain more about this part?
Thank you.

Hi! This mask makes zero loss for regions with crowd annotations: where there are persons, but keypoints were not labeled.

Hope, it is clear now.


Update Korean Translation

Fixed some descriptions.

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

Added some new translation strings.


Cannot load weight

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-5-f17e176e67ed> in <module>
    103     epoch_list = get_file_list(main_path + 'models/')
    104     epoch_last = epoch_list[-1]
--> 105     model.load_weights(main_path + 'models/' + epoch_last)
    106     print("**********checkpoint_loaded: ", epoch_last)
    107     initial_epoch_ = int(epoch_last.split('-')[2]) - 1

c:\program files (x86)\microsoft visual studio\shared\python37_64\lib\site-packages\tensorflow\python\keras\engine\training.py in load_weights(self, filepath, by_name, skip_mismatch)
    248         raise ValueError('Load weights is not yet supported with TPUStrategy '
    249                          'with steps_per_run greater than 1.')
--> 250     return super(Model, self).load_weights(filepath, by_name, skip_mismatch)
    251
    252   def compile(self,

c:\program files (x86)\microsoft visual studio\shared\python37_64\lib\site-packages\tensorflow\python\keras\engine\network.py in load_weights(self, filepath, by_name, skip_mismatch)
   1264             f, self.layers, skip_mismatch=skip_mismatch)
   1265       else:
-> 1266         hdf5_format.load_weights_from_hdf5_group(f, self.layers)
   1267
   1268   def _updated_config(self):

c:\program files (x86)\microsoft visual studio\shared\python37_64\lib\site-packages\tensorflow\python\keras\saving\hdf5_format.py in load_weights_from_hdf5_group(f, layers)
    705                        str(len(weight_values)) + ' elements.')
    706     weight_value_tuples += zip(symbolic_weights, weight_values)
--> 707   K.batch_set_value(weight_value_tuples)
    708
    709

c:\program files (x86)\microsoft visual studio\shared\python37_64\lib\site-packages\tensorflow\python\keras\backend.py in batch_set_value(tuples)
   3382   if ops.executing_eagerly_outside_functions():
   3383     for x, value in tuples:
-> 3384       x.assign(np.asarray(value, dtype=dtype(x)))
   3385   else:
   3386     with get_graph().as_default():

c:\program files (x86)\microsoft visual studio\shared\python37_64\lib\site-packages\tensorflow\python\ops\resource_variable_ops.py in assign(self, value, use_locking, name, read_value)
    844     with _handle_graph(self.handle):
    845       value_tensor = ops.convert_to_tensor(value, dtype=self.dtype)
--> 846       self._shape.assert_is_compatible_with(value_tensor.shape)
    847       assign_op = gen_resource_variable_ops.assign_variable_op(
    848           self.handle, value_tensor, name=name)

c:\program files (x86)\microsoft visual studio\shared\python37_64\lib\site-packages\tensorflow\python\framework\tensor_shape.py in assert_is_compatible_with(self, other)
   1115     """
   1116     if not self.is_compatible_with(other):
-> 1117       raise ValueError("Shapes %s and %s are incompatible" % (self, other))
   1118
   1119   def most_specific_compatible_shape(self, other):

ValueError: Shapes (43360, 100) and (43350, 100) are incompatible

I guess the vocab size has changed since last weight was generated

I guess the vocab size has changed since last weight was generate

I guess the vocab size has changed since last weight was generated
Yeap. Maybe the middle data generated do not match the weight given.And I guess you run the 'get_data' first, then try to load the weight?So you can try to load the weight directly or train your own weight from the beginning based the raw data.
这个问题之前别人问过我，懒得改了，就酱。

I guess the vocab size has changed since last weight was generated
Yeap. Maybe the middle data generated do not match the weight given.And I guess you run the 'get_data' first, then try to load the weight?So you can try to load the weight directly or train your own weight from the beginning based the raw data.
这个问题之前别人问过我，懒得改了，就酱。

Ok, Thx


Not working with Jekyll 3.1.2

As of yesterday, this plugin no longer works with the most current version of Jekyll, 3.1.2. There are some changes in the code base that makes this plugin crash.

works now


DEV: bump flake8 version used in CI job

Reference issue

follow up to https://github.com/scipy/scipy/issues/17394#issuecomment-1328335872
What does this implement/fix?

As part of making dev.py lint consistent with the CI all E275 lint issues were fixed. As the CI uses an old version of flake8 a pr can have E275 issues and pass the lint CI job reintroducing these issue. It therefor seems sensible to bump the flake8 version used.
Additional information

@tylerjereddy refguide is now green think there is an intermittent failure relating to SVD.

@rgommers would you mind having a look at this. I think this is important we change this as it makes dev.py lint unusable imo. For example in #17603 I run
python dev.py lint
scipy/sparse/linalg/_eigen/lobpcg/tests/test_lobpcg.py:269:11: E275 missing whitespace after keyword

which only reports an unrelated E275 that has crept in. However in reality there are more lint errors which are not being shown due to short circuiting.
python tools/lint_diff.py
benchmarks/benchmarks/spatial.py:331:5: E128 continuation line under-indented for visual indent
scipy/spatial/tests/test_distance.py:404:29: E127 continuation line over-indented for visual indent
scipy/spatial/tests/test_distance.py:406:29: E127 continuation line over-indented for visual indent
scipy/spatial/tests/test_distance.py:408:29: E127 continuation line over-indented for visual indent
scipy/spatial/tests/test_distance.py:410:29: E127 continuation line over-indented for visual indent
scipy/spatial/tests/test_distance.py:412:29: E127 continuation line over-indented for visual indent
scipy/spatial/tests/test_distance.py:414:29: E127 continuation line over-indented for visual indent
scipy/spatial/tests/test_distance.py:679:29: E127 continuation line over-indented for visual indent
scipy/spatial/tests/test_distance.py:681:29: E127 continuation line over-indented for visual indent
scipy/spatial/tests/test_distance.py:685:29: E127 continuation line over-indented for visual indent

So I think it is important that either we bump to a newer flake8 on the CI job to stop the E275 errors creeping back in or we change the behaviour so dev.py lint doesn't short circuit.

I'm re-reading Ralf's comment and it looks like he suggests the dev.py lint behavior is just fine and the main issue is that CI is using a flake8 that is too old. These changes seem consistent with that, are pretty minor in any case, and CI is green, so I'll put it in.

Agreed, this looks good. Thanks for fixing it @j-bowhay, and @tylerjereddy for merging it


Fix consistent method name typo in class list validation

Follow on to https://github.com/studentinsights/studentinsights/pull/1723, not a functional change just fixing consistent spelling typos.

selfie


snabbswitch traffic crash

This issue is related to #560. However described is a method to reproduce it with Linux guest.
While sending traffic to a VM connected to snabbswitch it crashes with:
Get features 0x18428001
 VIRTIO_F_ANY_LAYOUT VIRTIO_NET_F_MQ VIRTIO_NET_F_CTRL_VQ VIRTIO_NET_F_MRG_RXBUF VIRTIO_RING_F_INDIRECT_DESC VIRTIO_NET_F_CSUM
lib/virtio/net_device.lua:404: attempt to index a nil value
stack traceback:
        core/main.lua:118: in function '__newindex'
        lib/virtio/net_device.lua:404: in function 'set_vring_num'
        apps/vhost/vhost_user.lua:216: in function 'method'
        apps/vhost/vhost_user.lua:142: in function 'process_qemu_requests'
        apps/vhost/vhost_user.lua:39: in function 'fn'
        core/timer.lua:33: in function 'call_timers'
        core/timer.lua:42: in function 'run_to_time'
        core/timer.lua:23: in function 'run'
        core/app.lua:235: in function 'main'
        program/snabbnfv/traffic/traffic.lua:85: in function 'traffic'
        program/snabbnfv/traffic/traffic.lua:61: in function 'run'
        program/snabbnfv/snabbnfv.lua:15: in function 'run'
        core/main.lua:56: in function <core/main.lua:32>
        [C]: in function 'xpcall'
        core/main.lua:125: in main chunk
        [C]: at 0x0044d9e0
        [C]: in function 'pcall'
        core/startup.lua:1: in main chunk
        [C]: in function 'require'
        [string "require "core.startup""]:1: in main chunk

To reproduce, checkout the Linux Ubuntu Trusty kernel:
git clone git://kernel.ubuntu.com/ubuntu/ubuntu-trusty.git
cd ubuntu-trusty
make defconfig

Enable the following in the `.config' file:
CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_NET=y
CONFIG_VIRTIO_BLK=y

Then compile with make bzImage -j8. The qemu command to run the test is:
taskset -c 3,11 \
qemu-system-x86_64 -m 1024 --enable-kvm -smp 2 \
        -drive file=ubuntu-trusty.img,if=virtio \
        -kernel bzImage \
        -object memory-backend-file,id=mem,size=1024M,mem-path=/mnt/huge,share=on \
        -numa node,memdev=mem \
        -chardev socket,id=char1,path=/tmp/vh0.sock,server \
        -netdev type=vhost-user,id=mynet1,chardev=char1 \
        -device virtio-net-pci,netdev=mynet1,addr=0x8,mac=00:16:3e:1a:b3:01 \
        -append "earlyprintk console=ttyS0 root=/dev/vda rootwait rw" -nographic

The snabbswitch ports file is:
return {
  { vlan = nil,
    mac_address = "00:16:3e:1a:b3:01",
    port_id = "0",
    ingress_filter = nil,
    gbps = nil,
    tunnel = nil
  },
}

The traffic is a TCP stream send from an external machine like that:
cat /dev/urandom | ssh<EMAIL_ADDRESS>"cat > /dev/null"

Follpwoing are the observations made till now:

When -smp 1 is ussed, the issue does not appear.

The issue is the same with vanilla kernel. Tested 3.13, 3.16, 3.18, 4.0

The analysis shows if the standard Ubuntu features are enabled, the issue does not appear:
cat debian.master/config/config.common.ubuntu debian.master/config/amd64/config.common.amd64 debian.master/config/amd64/config.flavour.generic > .config

with some debug enabled it is seen that once the high traffic is started, the QEMU starts to send vhost_user: request     set_vring_call  13. Which probably is a sign of the guest kernel trying to disable the interrupts. After sending this call several times in the end it sends:

vhost_user: request     set_vring_call  13
vhost_user: request     get_features    1
vhost_user: request     set_vring_num   8
lib/virtio/net_device.lua:404: attempt to index a nil value

And the crash occurs. get_features and set_vring_num are part of virtq initialization which probably means that the device is reset.
@lukego we are investigating the issue further and will post more info and eventually patches. Please assign this issue to me.

@virtualopensystems-nnikolaev Understood. This sounds related to issues that @mwiget has seen recently too. You will need to accept a Github Invitation that I sent before I can assign the issue to you.
Interesting development to see corporate-sponsored usernames on Github. I wonder if I could rename to coke-redbull-lukego and rake in some sponsorship bucks ;-)

@virtualopensystems-nnikolaev btw: you guys could consider creating a branch called e.g. vosys-nfv and registering it in src/doc/branches.md. Then you could collect fixes that you want to submit on that branch and PR them to master when you are ready to release them. This would give the vosys team proper credit for contributions because the vosys-nfv branch would be visible in both PRs and git merge commits. It would also allow Snabb Switch users to discover your branch via the SnabbCo repo.
I definitely see it as a positive for contributors to get proper credit (both as individuals and companies) so that positive contributions to the upstream repo will be a valuable marketing tool.

@virtualopensystems-nnikolaev This is a very good Issue you have written :). I am also interested in fixing this. Can I help somehow?

@lukego, first we need to understand what it means for the kernel to send those  vhost_user: request set_vring_call 13. It probably tries to suppress interrupts although there is also other mechanism to do that (see VRING_F_NO_INTERRUPT in VirtioVirtq:signal_used()).
Then - we should be able to detect that a re-initialization is happening and to shutdown our virtqs properly.
I also very interesting that -smp 1 does not trigger it, might have to do something with using barriers etc.
All in all - it is about debugging and getting more info, maybe more on the QEMU/Linux kernel side.

Here is a relevant qemu-devel thread suggesting that the intended vhost-user behavior in QEMU is not fully locked down with respect to guest reboot vs. guest driver unload/reload. Could be related to the issue we are seeing.
@eugeneia is working on adding a CI test case where the guest reloads the virtio_net kernel module to see if that triggers this problem or a related one. (@virtualopensystems-nnikolaev do you have any tips on bootstrapping that kernel/guest? do we need to add an additional make modules_install compared with the old instructions from bench_env README? I suppose @eugeneia can shout directly if he needs tips.)

I built virtio_net as a module and a kernel without it being built in (CONFIG_VIRTIO_NET=m), then I installed that module into a copy of the test_env qemu image by hand (I know that's bad workflow, how do I do it right? E.g. as a modification to the bench_env/README). I ran luke's test case which consists of:
ifconfig eth0 down
rmmod virtio_net
# Never got to the steps below
modprobe virtio_net
ifconfig eth0 up

and got the following:
lib/virtio/net_device.lua:357: mapping to host address failedcdata<void *>: 0xffff88001e80a430
stack traceback:
	core/main.lua:116: in function <core/main.lua:114>
	[C]: in function 'error'
	lib/virtio/net_device.lua:357: in function 'map_from_guest'
	lib/virtio/net_device.lua:129: in function 'packet_start'
	lib/virtio/virtq.lua:67: in function 'get_buffers'
	lib/virtio/net_device.lua:122: in function 'receive_packets_from_vm'
	lib/virtio/net_device.lua:108: in function 'poll_vring_receive'
	apps/vhost/vhost_user.lua:76: in function 'method'
	core/app.lua:76: in function 'with_restart'
	core/app.lua:283: in function 'breathe'
	core/app.lua:237: in function 'main'
	program/snabbnfv/traffic/traffic.lua:127: in function 'bench'
	program/snabbnfv/traffic/traffic.lua:59: in function 'run'
	program/snabbnfv/snabbnfv.lua:15: in function 'run'
	core/main.lua:56: in function <core/main.lua:32>
	[C]: in function 'xpcall'
	core/main.lua:121: in main chunk
	[C]: at 0x0044e670
	[C]: in function 'pcall'
	core/startup.lua:1: in main chunk
	[C]: in function 'require'
	[string "require "core.startup""]:1: in main chunk

@eugeneia OK. Looks like an unrelated bug. I think we should cover this in the CI tests. I think we should also Dockerize the bootstrapping of kernels and images: I don't think we should ever be doing this stuff by hand anymore. You interested in handling that?
There is a Docker feature called "volumes" that seems relevant: one container could build the artifacts (kernel and guest image) and then export them as a "volume" that another container (SnabbBot) could access. This should make it possible to mix-and-match the same SnabbBot with many different kernel/image combos. (Could also be that this is the wrong solution.)

@lukego Can we move the docker discussion into a separate issue?

Tracing down the issue we found out that under high load the virtio-net driver in the guest is generatin a lot of interrupt mask/unmask events to the virtio-net-pci device in QEMU. This results in QEMU resetting the virtio-net-pci device after ~1 minute of high load (tested with VM2VM example).
The generation f thes events also slows down the throughput.
This behavior is not see provided that the follwoing .config options are set:
CONFIG_X86_X2APIC=y
CONFIG_KVM_GUEST=y
CONFIG_HYPERVISOR_GUEST=y
CONFIG_PARAVIRT=y

It seems that the critical part is to enable X2APIC support in the guest, which forwards the interupts to the KVM instead of using the QEMU emulated interrupt controller.

@nnikolaev-virtualopensystems Does this mean this issue is “fixed”? Can we do anything further than ensuring the kernel was compiled with the right parameters?


fix: add missing languages and correctly find languageCode

This PR adds missing languages that were recently added to Crowdin (obtained through /languages on the API) and also fixes the find function to look for the osxLocale instead of the twoLettersCode, as this code is often repeated in some languages and caused them to be incorrectly retrieved. These changes were tested and confirmed to work. There is one issue left, which is that, for files that are only available to specific languages, the client will throw an error as it cannot fetch the endpoint. I can fix this by removing these files from the final array, let me know if you'd like that fix or a different approach, as the CDN currently does not tell us which files are available in what languages beforehand.

The last commit is a fix to projects with files hidden to certain languages, which simply catches the request and makes it fall back to null so it can later be removed from getLanguageTranslations

I committed that fix a while ago but for some reason github didn’t pick up, so I force-pushed

Looks good. Just a minor comment. I will merged and release new version tomorrow and also will bump the axios library

Done. Please use the squash and merge option when you merge since we got a few commits here :P

BTW I plan on opening a second PR to fix a few performance issues and other minor improvements, if you wanna wait a few hours for that, otherwise feel free to merge and release and that can come later :)


Ubuntu 14.10, lightdm, .profile and gvm-init.sh not compatible

The line added to the end of .profile by gvm:
[[ -s "/home/clh/.gvm/bin/gvm-init.sh" ]] && source "/home/clh/.gvm/bin/gvm-init.sh"
is not interpretable by sh, only by bash (due to the [[ and also the "source").
Lightdm on Ubuntu (at least in current 14.10) uses sh to interpret .profile and therefore kacks (popup during login complains of "[[" not found) on that line. changing the [[ ... ]] to "test" and changing "source" to "." makes lightdm really kack (login fails with no diagnostic and returns to the lightm greeter)... so my current workaround is
#THIS MUST BE AT THE END OF THE FILE FOR GVM TO WORK!!!
if [ -n "$BASH_VERSION" ]; then
    [[ -s "/home/clh/.gvm/bin/gvm-init.sh" ]] && source "/home/clh/.gvm/bin/gvm-init.sh"
fi

which of course means gvm-init.sh is not invoked...  at least not by lightdm, if that was indeed the intention.
I guess another possibility might be to put the line in .bash_profile rather than .profile... to me this seems a reasonable thing to do since it is clear that only bash is meant to invoke .bashrc.
Notes:

I originally posted this in the wrong spot, thanks for the correction Marco;
there is considerable dispute as to whether lightdm is meant to interpret .profile or not.  for what it's worth, after having thought about it for awhile, I don't think it should; I think that terminal windows are meant to interpret .profile (or of course an RS232 console).  but anyway there is some doubt about this over on launchpad.net and plenty of folk are arguing that it should be disabled in lightdm.

Revisiting this old issue. I really don't think it's SDKMAN's responsibility to create a .bash_profile if it doesn't exist. We will only update a file if it is already present on a system.
Are you still experiencing an issue or can we close this?

Good morning, Marco,
I changed from gvm to SDKMAN awhile back and I don't believe the .profile
change occurred again.
I may be recalling the situation incorrectly, but I think the problem arose
because the gvm stuff was appended to .profile which is read by sh as well
as bash and the code was not suitable for sh.  Also maybe this was true of
other system components that read .profile.
If there isn't a .bash_profile, or .bashrc, that probably indicates the
lack of .bash use by that user and so creating one would seem to have
little utility.
Why not close it?
On Tue, Jul 5, 2016 at 8:19 AM, Marco Vermeulen<EMAIL_ADDRESS>wrote:

Revisiting this old issue. I really don't think it's SDKMAN's
responsibility to create a .bash_profile if it doesn't exist. We will only
update a file if it is already present on a system.
Are you still experiencing an issue or can we close this?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/sdkman/sdkman-cli/issues/308#issuecomment-230510019,
or mute the thread
https://github.com/notifications/unsubscribe/AHgAntpD5SHFupOv-6NXu0JypHUQW70wks5qSnYMgaJpZM4C_WH7
.

--
Chris Hermansen · clhermansen "at" gmail "dot" com
C'est ma façon de parler.

Okay, sorry but didn't really understand the last bit :-)
Al I really wanted to know was are you still having an issue or can I close
this?
On Tue, 5 Jul 2016 at 19:00, monetschemist<EMAIL_ADDRESS>wrote:

Good morning, Marco,
I changed from gvm to SDKMAN awhile back and I don't believe the .profile
change occurred again.
I may be recalling the situation incorrectly, but I think the problem arose
because the gvm stuff was appended to .profile which is read by sh as well
as bash and the code was not suitable for sh. Also maybe this was true of
other system components that read .profile.
If there isn't a .bash_profile, or .bashrc, that probably indicates the
lack of .bash use by that user and so creating one would seem to have
little utility.
Why not close it?
On Tue, Jul 5, 2016 at 8:19 AM, Marco Vermeulen<EMAIL_ADDRESS>wrote:

Revisiting this old issue. I really don't think it's SDKMAN's
responsibility to create a .bash_profile if it doesn't exist. We will
only
update a file if it is already present on a system.
Are you still experiencing an issue or can we close this?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<https://github.com/sdkman/sdkman-cli/issues/308#issuecomment-230510019
,
or mute the thread
<
https://github.com/notifications/unsubscribe/AHgAntpD5SHFupOv-6NXu0JypHUQW70wks5qSnYMgaJpZM4C_WH7
.

--
Chris Hermansen · clhermansen "at" gmail "dot" com
C'est ma façon de parler.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/sdkman/sdkman-cli/issues/308#issuecomment-230554280,
or mute the thread
https://github.com/notifications/unsubscribe/AAI0BgifWnUtZIk2KTkKiCkPqm56b7YYks5qSpu8gaJpZM4C_WH7
.

Sure, I think it's safe to close the bug.  I don't seem to have the issue
anymore, anyway.
On Tue, Jul 5, 2016 at 11:12 AM, Marco Vermeulen<EMAIL_ADDRESS>wrote:

Okay, sorry but didn't really understand the last bit :-)
Al I really wanted to know was are you still having an issue or can I close
this?
On Tue, 5 Jul 2016 at 19:00, monetschemist<EMAIL_ADDRESS>wrote:

Good morning, Marco,
I changed from gvm to SDKMAN awhile back and I don't believe the .profile
change occurred again.
I may be recalling the situation incorrectly, but I think the problem
arose
because the gvm stuff was appended to .profile which is read by sh as
well
as bash and the code was not suitable for sh. Also maybe this was true of
other system components that read .profile.
If there isn't a .bash_profile, or .bashrc, that probably indicates the
lack of .bash use by that user and so creating one would seem to have
little utility.
Why not close it?
On Tue, Jul 5, 2016 at 8:19 AM, Marco Vermeulen <
<EMAIL_ADDRESS>wrote:

Revisiting this old issue. I really don't think it's SDKMAN's
responsibility to create a .bash_profile if it doesn't exist. We will
only
update a file if it is already present on a system.
Are you still experiencing an issue or can we close this?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<
https://github.com/sdkman/sdkman-cli/issues/308#issuecomment-230510019
,
or mute the thread
<

https://github.com/notifications/unsubscribe/AHgAntpD5SHFupOv-6NXu0JypHUQW70wks5qSnYMgaJpZM4C_WH7

.

--
Chris Hermansen · clhermansen "at" gmail "dot" com
C'est ma façon de parler.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<https://github.com/sdkman/sdkman-cli/issues/308#issuecomment-230554280
,
or mute the thread
<
https://github.com/notifications/unsubscribe/AAI0BgifWnUtZIk2KTkKiCkPqm56b7YYks5qSpu8gaJpZM4C_WH7
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/sdkman/sdkman-cli/issues/308#issuecomment-230557637,
or mute the thread
https://github.com/notifications/unsubscribe/AHgAnnR_KKmTFyrOM7dvEWONVsGcDGQ-ks5qSp6egaJpZM4C_WH7
.

--
Chris Hermansen · clhermansen "at" gmail "dot" com
C'est ma façon de parler.

Great, thanks.


Fix and simplify pixelcnn learning rate

On linen/master the PixelCNN++ training is crashing with
TypeError: train_step() got multiple values for argument 'learning_rate_fn'

This is due to the way learning_rate_fn is fed via functools.partial here. This pr fixes this trivial issue.

The reason that this didn't show up before might be that it is Python 3.8+ specific (it's showing up for me on Python 3.8).

Ah yes I actually hit this as well and fixed it locally. Thanks for the fix!

There's also an issue when you reload from a checkpoint, I don't know if you've noticed this already. It's caused by a pytree mismatch, and I think the reason is that Flax expects all parameters to be FrozenDicts, changing the weightnorm params from dict to FrozenDict here seems to fix the problem.

There's also an issue when you reload from a checkpoint, I don't know if you've noticed this already. It's caused by a pytree mismatch, and I think the reason is that Flax expects all parameters to be FrozenDicts, changing the weightnorm params from dict to FrozenDict here seems to fix the problem.

No I haven't noticed that, I haven't been restoring from checkpoints for quite a while. Do you want to send a fix?