DocumentClient Linq to SQL

I'm struggling to create a query...  I want to use Linq extension methods (e.g. .Where(), .Select()) but it seems this API was removed.  However documentation seems to not acknowledge this in a straightforward way, nor give an indication as to the plan...
If I look at docs for the v2 API it says it is deprecated.  v3 is in preview and obviously incomplete.  Where does that leave me?

Where do you see that it is deprecated in the v2 API?
Adding linq support in V3 is a significant amount of work, and we are currently working on it. It is listed in the (GA project)[https://github.com/Azure/azure-cosmos-dotnet-v3/projects/2].  For the v3 API you can write a basic SQL query like in the (samples)[https://github.com/Azure/azure-cosmos-dotnet-v3/blob/master/Microsoft.Azure.Cosmos.Samples/CodeSamples/Queries/Program.cs]

Visiting https://docs.microsoft.com/en-us/previous-versions/azure/dn850285(v=azure.100) (linked to from Cosmos .NET Samples) I read the banner:

We're no longer updating this content regularly. Check the Microsoft Product Lifecycle for information about how this product, service, technology, or API is supported.

So, "deprecated" was an imprecise word on my part. The impression is that v2 is not a good choice for new development. Meanwhile v3 is in progress, and it is not clear what its state is.  (As you probably know the release notes are empty).
Thanks for providing the reference to the project page; that is cool. That is the first reference I've seen to that.
I would ask not that your team "code faster", but "communicate better".

v2 is still fully supported with linq. That banner appears to be referencing the website where the documentation is hosted, and not the product.
For now use v2 SDK for production
Use the v3 SDK for providing feedback on the new API and features.

but will V3 get linq support?

V3 will get linq support. It's listed in the notes of the GA Project. We are working on getting full query support with integration into the pipeline first.


Remove invoked command and message after failure.

Closes #1443.
Removes the invoked command and any error embed the bot sent (from the pypi cog) after a constant amount of time that's set in the config.

Branch name should be pypi-delete-on-error, whoops.


Reporting gaps in resource profiles

Checked for duplicates
Yes - I've already checked
Alternatives considered
Yes - and alternatives don't suffice
Related problems
No response
Describe the feature request
There are some instances where it doesn't make sense for a model to report a resource value. At the moment, we have two use cases:

A resource is not applicable to the current circumstances. For example, a resource tracking where on the ground a surface-observing instrument is pointed should be "N/A" or some equivalent if the instrument is not currently pointed at the ground.
A resource has failed, but the simulation continues. For example, the telecom model might fail while the power model continues working, and we'd like to report values for the power resources.

In both of these cases, we'd like to report either a "gap" in the resource profile, or some different type of value, distinct from normal values for that resource.

This issue is closely related to my issue: https://github.com/NASA-AMMOS/aerie/issues/1233. This gap method should allow for empty regions in X-Range data.


Bottom settings

Fixes #412
Changes

add subset of settings to bottom settings sheet

Checklist

[x] My change builds
[x] I tested my change
[x] I use the "bttv_" prefix for all resources I propose
[x] When adding a string I also added it to the bttv.Res.strings Enum and res/values/strings.xml (in mod) and res/values/public.xml (in disass)
[x] If my change is significant enough, I added it to the CHANGELOG.md under master
[ ] I'll add myself and everyone else who contributed to this change to the contributors list using all-contributors
[x] I license my changes according to the MIT License.

@all-contributors please add @zezofelipe for idea


Streaming to <IP_ADDRESS>

In previous versions of TSDuck, (3.24 and before), i had this command:  -O ip -l <IP_ADDRESS>  <IP_ADDRESS>:6003
However, ever since 3.25 (and just tested 3.26) it gives error:
Error: ip: error sending UDP message: A socket operation was attempted to an unreachable network.
Has this option been removed or changed?
in the TSDuck PDF, i'm seeing the -l option still exists, so why is it not working with the <IP_ADDRESS> ?

Hi @Sefy76
This is a Windows issue, not a TSDuck issue.
The message is a Windows one, so I assume you are using Windows. The same command works fine on Linux.
I indeed get the same message when running that command. On Windows, it seems that you cannot send a multicast message to the loopback interface as long as no other program on the same machine has joined the corresponding multicast group. Windows considers that the loopback interface is a local sinkhole and if noone has joined the group on this interface, your packets can't go anywhere and reports this error.
In fact, I tested the following scenario:

Run your command => same error as you.
Start a listener on the same machine from another command window, joining the same multicast group on the loopback interface (tsp -I ip  -l <IP_ADDRESS> <IP_ADDRESS>:6003 ...).
Re-run your command => it works now

This is a bit silly (just another idiotic network behaviour from Windows) because you may want to run the sender first and start the listener sometime later. It works on Linux, not on Windows.
Strangely enough, the command works again after the listener has stopped and has dropped the multicast group. It seems that sending multicast on the loopback interface works only when at least one listener had once joined the multicast group since the machine booted. Windows networking...
Just googling for that message, it seems to be well known. You will find some clues in this discussion
I guess that the behaviour has always been the same for all TSDuck versions. If it had already workd for you, this is probably because a listener on the same multicast address had been run on the same machine before running the sender.

Thenk you @lelegard, you've been great help as always!


Add unit to value sent to server

Currently, the app doesn't add the unit (g) to the value sent to the server.
It just sends: 120
It should send: 120 g

Fix in 630e2fa415d2c87a7d485266c9756dea58d59c54


net/http: no way for Server to set Trailer headers

There's no way for Server handlers to set Trailer headers.

From a test I just wrote, with a work-around and TODO for Go 1.4:

        ts := httptest.NewServer(HandlerFunc(func(w ResponseWriter, r *Request) {
                w.Header().Set("Connection", "close")
                w.Header().Set("Trailer", "Server-Trailer-A, Server-Trailer-B")
                w.Header().Add("Trailer", "Server-Trailer-C")

                var decl []string
                for k := range r.Trailer {
                        decl = append(decl, k)
                }
                sort.Strings(decl)

                slurp, err := ioutil.ReadAll(r.Body)
                if err != nil {
                        t.Errorf("Server reading request body: %v", err)
                }
                if string(slurp) != "foo" {
                        t.Errorf("Server read request body %q; want foo", slurp)
                }
                if r.Trailer == nil {
                        io.WriteString(w, "nil Trailer")
                } else {
                        fmt.Fprintf(w, "decl: %v, vals: %s, %s",
                                decl,
                                r.Trailer.Get("Client-Trailer-A"),
                                r.Trailer.Get("Client-Trailer-B"))
                }

                // TODO: There's no way yet for the server to set trailers
                // without hijacking, so do that for now, just to test the client.
                // Later, in Go 1.4, it should be be implicit that any mutations
                // to w.Header() after the initial write are the trailers to be
                // sent, if and only if they were previously declared with
                // w.Header().Set("Trailer", ..keys..)
                w.(Flusher).Flush()
                conn, buf, _ := w.(Hijacker).Hijack()
                t := Header{}
                t.Set("Server-Trailer-A", "valuea")
                t.Set("Server-Trailer-C", "valuec") // skipping B
                buf.WriteString("0\r\n")            // eof
                t.Write(buf)
                buf.WriteString("\r\n") // end of trailers
                buf.Flush()
                conn.Close()

Does this mean the example at http://golang.org/pkg/net/http/#example_ResponseWriter_trailers does not actually work?

@drcrallen, what gives you that impression? See the most recent comment. https://go-review.googlesource.com/2157 added support. It's in Go 1.5.

@bradfitz Misreading of docs on my part. Found out I have 1.4.2 installed but was using tutorials from prior URL, which are built for go1.5 (in the page footer which I missed). My bad


Condition index creation with models migration config

I think making any change to database when "models.migrate" is set to safe is a mistake. Especially for production code.
Therefore, creating / updating indexes when models.migrate is set to alter / drop

Can make an npm release please ? So I can change my package.json to point to this official repo back :]

I will do a release this morning, on a train atm

@cyrilchapon done, available on npm as v2.0.0

Great =)
Envoy? de mon iPhone
Le 4 janv. 2017 ? 13:08, Michael Diarmid <notifications<EMAIL_ADDRESS>a ?crit :
@cyrilchaponhttps://github.com/cyrilchapon done, available on npm as v2.0.0

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/teamfa/sails-hook-mongoat/pull/2#issuecomment-270356829, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AKOz6hrNb9vJQiXNVRnID5p_JzctC9_Mks5rO4t9gaJpZM4LZgs2.


Would it be possible to provide a distributable RubyGem?

Hi folks,
We're using the tech-docs-monitor over at HMRC, where we've built it in to an AWS Lambda function. This is working really well for us, however it currently requires us to maintain a fork of this repository in order to add the necessary Lambda build and runtime functionality.
It occurred to me that, if there were a distributable tech-docs-monitor RubyGem then we could ditch our fork and simply consume the Gem in the usual manner, adding the necessary scaffolding to allow us to build the Gem in to an AWS Lambda. I was wondering if you might be open to such an approach?
Grateful for your thoughts on this one. In case it aids your thinking then you can see the adaptations that we've made to get everything work in AWS Lambda here.
Many thanks,
Edd

Hey @m-green , @lfdebrux ,
Hope you'll excuse my pinging you directly. Was wondering if either of you are still working on this repository? Would be great to chat about this request if you are.
Many thanks,
Edd

This would be useful for us too, either a gem or command line tool that's released would be great.

Hi folks :wave: and happy new year!
I know you're all super busy, but if you're open to this work being done I might be able to put some time aside to do the majority of it. There's a slight complication that I won't be able to test it as I'm not in the GDS GitHub org, but I could perhaps copy the publishing configuration in alphagov/tech-docs-gem and then hand it over to yourselves in a PR for testing and tweaking.
Let me know what you think?
Cheers,
Edd


Provide a way to access lexical scope variables

With Meteor 1.2 there is also a concept of a lexical scope variables. But it seems one cannot access them from event handlers or template helpers. But Blaze Components can be better and allow that.
See https://github.com/meteor/meteor/issues/5280.

For now you can pass lexical scope variables to template helpers/component instance methods as arguments. See discussion in #5280.

I am leaning towards simply merging the lexical scope with currentData data context, so that the behavior should be exactly the same as it is in templates when you try to access something.
Together with #101 this should be a better approach I think than current lexical scope concept.

Using the new feature of currentData, if you specify a path to limit the reactivity and value to, currentData now also checks the lexical scope. So currentData('@index') returns the index from the lexical scope.


Setting uniforms requires compile time information about their type

As far as I can tell it isn't possible to set the value of a globjects::Program's uniform using the globjects API if only the uniform's GLenum type / its memory location/size are available.
Imo globjects::Program should fully expose https://www.opengl.org/wiki/GLAPI/glProgramUniform / https://www.opengl.org/sdk/docs/man/html/glUniform.xhtml with optional convenience methods setUniform(location, type, ptr) and setUniform(name, type, ptr).
What do you think? I'd be happy to do the hacking, just wanted to ask for feedback first.

As for now, globjects::Program implements the following functions:
template<typename T>
void setUniform(const std::string & name, const T & value);
template<typename T>
void setUniform(gl::GLint location, const T & value);
template<typename T>
Uniform<T> * getUniform(const std::string & name);
template<typename T>
const Uniform<T> * getUniform(const std::string & name) const;
template<typename T>
Uniform<T> * getUniform(gl::GLint location);
template<typename T>
const Uniform<T> * getUniform(gl::GLint location) const;

and further to fulfil your requirements. Or did I miss anything?

What I want to do is set a uniform from a raw data pointer (and a runtime type (like GL_FLOAT_VEC2), but that could be queried from the program object). Now I just realised that even the glUniform*v() functions require you to code the uniform type into the function name. Bummer...
Alright, change my question to: Would you accept the convenience functions setUniform(location, type, ptr) and setUniform(name, type, ptr) and respective equivalents for array uniforms in globjects or is that out of the scope of the lib? These functions would really just be massive switch(type) blocks that would call the appropriate, already available setUniform function.

This interface would imply, that the provided type behind ptr has to be converted to the given type from type.
This is something we hasn't done before and I'm not sure if we ever will.
What is the point of a rendering system to store uniform values in another type as expected in the shader and why would a rendering system doesn't provide the necessary conversion by itself (so that this part has to be taken by globjects)?
What I have looked up (in glbinding) is, that the OpenGL API indeed has enum values for the common uniform types:
GL_FLOAT_VEC2                                                 = 0x8B50,
GL_FLOAT_VEC2_ARB                                             = 0x8B50,
GL_FLOAT_VEC3                                                 = 0x8B51,
GL_FLOAT_VEC3_ARB                                             = 0x8B51,
GL_FLOAT_VEC4                                                 = 0x8B52,
GL_FLOAT_VEC4_ARB                                             = 0x8B52,
GL_INT_VEC2                                                   = 0x8B53,
GL_INT_VEC2_ARB                                               = 0x8B53,
GL_INT_VEC3                                                   = 0x8B54,
GL_INT_VEC3_ARB                                               = 0x8B54,
GL_INT_VEC4                                                   = 0x8B55,
GL_INT_VEC4_ARB                                               = 0x8B55,
GL_BOOL                                                       = 0x8B56,
GL_BOOL_ARB                                                   = 0x8B56,
GL_BOOL_VEC2                                                  = 0x8B57,
GL_BOOL_VEC2_ARB                                              = 0x8B57,
GL_BOOL_VEC3                                                  = 0x8B58,
GL_BOOL_VEC3_ARB                                              = 0x8B58,
GL_BOOL_VEC4                                                  = 0x8B59,
GL_BOOL_VEC4_ARB                                              = 0x8B59,
GL_FLOAT_MAT2                                                 = 0x8B5A,
GL_FLOAT_MAT2_ARB                                             = 0x8B5A,
GL_FLOAT_MAT3                                                 = 0x8B5B,
GL_FLOAT_MAT3_ARB                                             = 0x8B5B,
GL_FLOAT_MAT4                                                 = 0x8B5C,
GL_FLOAT_MAT4_ARB                                             = 0x8B5C,
GL_SAMPLER_1D                                                 = 0x8B5D,
GL_SAMPLER_1D_ARB                                             = 0x8B5D,
GL_SAMPLER_2D                                                 = 0x8B5E,
GL_SAMPLER_2D_ARB                                             = 0x8B5E,
GL_SAMPLER_3D                                                 = 0x8B5F,
GL_SAMPLER_3D_ARB                                             = 0x8B5F,
GL_SAMPLER_CUBE                                               = 0x8B60,
GL_SAMPLER_CUBE_ARB                                           = 0x8B60,
GL_SAMPLER_1D_SHADOW                                          = 0x8B61,
GL_SAMPLER_1D_SHADOW_ARB                                      = 0x8B61,
GL_SAMPLER_2D_SHADOW                                          = 0x8B62,
GL_SAMPLER_2D_SHADOW_ARB                                      = 0x8B62,
GL_SAMPLER_2D_RECT                                            = 0x8B63,
GL_SAMPLER_2D_RECT_ARB                                        = 0x8B63,
GL_SAMPLER_2D_RECT_SHADOW                                     = 0x8B64,
GL_SAMPLER_2D_RECT_SHADOW_ARB                                 = 0x8B64,
GL_FLOAT_MAT2x3                                               = 0x8B65,
GL_FLOAT_MAT2x4                                               = 0x8B66,
GL_FLOAT_MAT3x2                                               = 0x8B67,
GL_FLOAT_MAT3x4                                               = 0x8B68,
GL_FLOAT_MAT4x2                                               = 0x8B69,
GL_FLOAT_MAT4x3                                               = 0x8B6A,

Nethertheless, your proposed interface would require to rely on C semantics where globjects tries to use semantics-rich (and thus, typed) objects and classes.
If you don't want to use those object semantics you are free to call straight glbinding OpenGL calls everywhere in your code. To ease the automatic uniform update upon program relinking, I think we can add the possibility of a callback or observer interface so you get called when non-tracked uniforms has to be updated.
Alternatively, maybe you can explain an explicit use case where we can better understand the intention.

Think of loading arbitrary shaders into an editor that than exposes its uniforms in UI elements generated at runtime (like, single line text edit for float, 4x4 for matrix, ...) and than passing them to the running shader. At some point you're gonna have that massive switch block over the enum you quoted.
But if you don't think globjects should be that place, that's okay, feel free to close this ;)

Thank you for your use-case.
If I had to implement such editor, I would parse the shader for the uniforms and their types (e.g., using https://www.opengl.org/wiki/Program_Introspection#Uniforms_and_blocks). The information about the types would than be used to generate an appropriate UI. If the values in the UI gets updated, I would have the information about the type of the uniform to call the correct method on the program object. The information about the type is a must-have somewhere in the code, since either the UI is highly specialized for the uniform values, or the new value has to be parsed, validated, and converted into the target format.
So I would also tend to closing this issue.

If you think in C-terms, then yes, you would use such a switch block. But in C++ this could also be solved in a type-safe manner by using templates. For example, have a GuiElement that can be specialized for the specific types, and then you can use the approriate types Uniform classes from globjects. Or, you could use the already existing property system in libzeug for the gui :)

You can do fancy, fancy things with this C++, indeed ;) Thanks for your comments, both of you!


Version 2.0 - Hurricane

These are the expected breaking changes for version 2.0. Please feel free to request anything else here.

[x] Sane Francis AJAX #34: before it only accepted POST and was quite limited. Make it more flexible but not bloated.
[x] Better .serialize() #35: make it work better with all kinds of elements and disabled properties
[x] New method .array() #42 and maybe other similar ones.
[x] New method .handle() (.on() + e.preventDefault() all in one).
[x] Normal .prepend() and .after() order #43.
[x] Document the HTML generator, which is quite powerful and consider making it better with @tr3intaydos suggestions in #20

External libraries are deleted. I'm happy with the way it is now. Maybe a tutorial could be written, but it's not worth to add it.


[New Port Request] libdivide

https://github.com/ridiculousfish/libdivide
Optimized integer division
From the readme:

libdivide.h  is a header-only C/C++ library for optimizing integer division. Integer division is one of the slowest instructions on most CPUs e.g. on current x64 CPUs a 64-bit integer division has a latency of up to 90 clock cycles whereas a multiplication has a latency of only 3 clock cycles. libdivide allows you to replace expensive integer divsion instructions by a sequence of shift, add and multiply instructions that will calculate the integer division much faster.

Hi @eater-of-souls thanks for posting this request. libdivide has been added to vcpkg. Please try to update vcpkg and use it.


Make it work with html webpack plugin

Would be nice to be able to use it with https://github.com/ampedandwired/html-webpack-plugin
The generated app HTML could be made available as a locals data string that could be injected into the html-webpack's template?

Does it not work already?


16 byte key doesn't work

I'm having a problem regarding to the length of the key. At the case that I'm currently working on I have to use 16 byte key, but I keep getting an exception that the key must be 8 byte long even though that I've followed the exact same snippet from the documentation

Hi. Since encryption is complicated and I'm not an expert, I can't explain why DES use only 8-byte key, sorry :( For 16- or 24-byte keys you should use DES3.
String key = '1234567812345678'; // 16-byte
String message = 'Driving in from the edge of town';
DES3 des3ECB = DES3(key: key.codeUnits, mode: DESMode.ECB);
encrypted = des3ECB.encrypt(message.codeUnits);
decrypted = des3ECB.decrypt(encrypted);
print('Triple DES mode: ECB');
print('encrypted (hex): ${hex.encode(encrypted)}');
print('decrypted (utf8): ${utf8.decode(decrypted)}');

Hi. Since encryption is complicated and I'm not an expert, I can't explain why DES use only 8-byte key, sorry :( For 16- or 24-byte keys you should use DES3.
String key = '1234567812345678'; // 16-byte
String message = 'Driving in from the edge of town';
DES3 des3ECB = DES3(key: key.codeUnits, mode: DESMode.ECB);
encrypted = des3ECB.encrypt(message.codeUnits);
decrypted = des3ECB.decrypt(encrypted);
print('Triple DES mode: ECB');
print('encrypted (hex): ${hex.encode(encrypted)}');
print('decrypted (utf8): ${utf8.decode(decrypted)}');

Hi. Since encryption is complicated and I'm not an expert, I can't explain why DES use only 8-byte key, sorry :( For 16- or 24-byte keys you should use DES3.
String key = '1234567812345678'; // 16-byte
String message = 'Driving in from the edge of town';
DES3 des3ECB = DES3(key: key.codeUnits, mode: DESMode.ECB);
encrypted = des3ECB.encrypt(message.codeUnits);
decrypted = des3ECB.decrypt(encrypted);
print('Triple DES mode: ECB');
print('encrypted (hex): ${hex.encode(encrypted)}');
print('decrypted (utf8): ${utf8.decode(decrypted)}');

I've tried this but the result remains the same. Thanks anyway

Hi. Since encryption is complicated and I'm not an expert, I can't explain why DES use only 8-byte key, sorry :( For 16- or 24-byte keys you should use DES3.
String key = '1234567812345678'; // 16-byte
String message = 'Driving in from the edge of town';
DES3 des3ECB = DES3(key: key.codeUnits, mode: DESMode.ECB);
encrypted = des3ECB.encrypt(message.codeUnits);
decrypted = des3ECB.decrypt(encrypted);
print('Triple DES mode: ECB');
print('encrypted (hex): ${hex.encode(encrypted)}');
print('decrypted (utf8): ${utf8.decode(decrypted)}');

I've tried this but the result remains the same. Thanks anyway

It seems like in my project this package is colliding with another package that I try, then I've tried to make a new project to test the encryption and it works!

It seems like in my project this package is colliding with another package that I try, then I've tried to make a new project to test the encryption and it works!


Automatic long text break to adjust scene width

Description of proposed feature
Attribute to set text width relative to scene width.
How can the new feature be used?
I would like to do something like add width = \scenewidth, so long texts break automatically in several lines, maybe with proper hyphens, like it occurs in LaTeX where text is broken automatically.
Additional comments
I do not know whether there is a way to make it with the current options.

It should be possible with https://github.com/ManimCommunity/manim/issues/2355 for Text API's, for LaTeX I'm not sure.

It should be possible with #2355 for Text API's, for LaTeX I'm not sure.

Thanks for your response. By that commit, I understand that this is not available yet. In addition, I think that this behaviour should be provided by default in each text object (LaTeX or non-LaTeX), since it will ease the elaboration of new animations with long texts. I do not know how other software obtain this, but I understand that since LaTeX and, for example, Markdown processor are capable of break text to adjust the document width it could be done.

I think it should be possible for LaTeX also, something should be done when invoking dvisvgm, not sure should look. Also, https://github.com/ManimCommunity/manim/issues/1390 needs to be fixed before this can be implmented.


Missing data for remotes

Hey,
so I recently changed to using this adapter and noticed a weird behaviour where some data is missing from my tint remote.
Pressing a button on the remote makes it publish
MQTT publish: topic 'zigbee2mqtt/FernbedienungHobbyraum', payload '{"action":"color_temperature_move","action_color_temperature":153,"action_color_temperature_direction":"up","action_transition_time":10,"last_seen":"2022-10-27T21:26:53+02:00","linkquality":65}'
however not all of that data is going into the adapter. The data points for the adapter look like this:

missing things like the value of action_color_temperature etc.
For other devices, smart plugs, RGB lights etc the data is fine. Just not for remotes. Same behaviour is happening for IKEA remotes

Can you please provide me with the link to your device?
You can get it by clicking here:

Sure.
This is happening for the following the devices:

https://www.zigbee2mqtt.io/devices/E1524_E1810.html#ikea-e1524%252Fe1810
https://www.zigbee2mqtt.io/devices/E1812.html#ikea-e1812
https://www.zigbee2mqtt.io/devices/MLI-404011_MLI-404049.html#m%25C3%25BCller%2520licht-mli-404011%252Fmli-404049

As here, for example, everything was created correctly on the basis of the exposes: https://www.zigbee2mqtt.io/devices/MLI-404011_MLI-404049.html#exposes
What did you expect?

Stop now I see it!

Can you please install the latest git version and put in the datapoint zigbee2mqtt.0.info.debugmessages the ieee address 0x2c1165fffe2cae93 and give me the result from the warning log which starts like this:
-->> fromZ2M -> 0x2c1165fffe2cae93 exposes:

Sure.
2022-10-28 07:37:03.049 - warn: zigbee2mqtt.0 (7285) --->>> fromZ2M -> 0x2c1165fffe2cae93 exposes: {"date_code":"","definition":{"description":"Tint remote control","exposes":[{"access":1,"description":"Triggered action (e.g. a button click)","name":"action","property":"action","type":"enum","values":["on","off","toggle","brightness_down_click","brightness_up_click","color_temp","color_wheel","brightness_0_release","brightness_1_release","brightness_0_hold","brightness_1_hold"]},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"MLI-404011/MLI-404049","options":[{"access":2,"description":"Set to false to disable the legacy integration (highly recommended), will change structure of the published payload (default true).","name":"legacy","property":"legacy","type":"binary","value_off":false,"value_on":true}],"supports_ota":false,"vendor":"Müller Licht"},"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic","genPowerCfg","genIdentify","genGroups","touchlink","manuSpecificTuya","genBasic"],"output":["genOta","genTime","genBasic","genIdentify","genGroups","genScenes","genOnOff","genLevelCtrl","touchlink","57347"]},"configured_reportings":[],"scenes":[]}},"friendly_name":"FernbedienungHobbyraum","ieee_address":"0x2c1165fffe2cae93","interview_completed":true,"interviewing":false,"manufacturer":"_TZ3000_bdbb0fon","model_id":"TS1001","network_address":5985,"power_source":"Battery","supported":true,"type":"EndDevice"}

I was afraid that the exposes do not contain the information that these actions contain numerical values.
With my adapter, 99% of all data points are generated dynamically based on the exposes, so that no devices have to be mapped.
Now I have to think about how to get a handle on this.
        "exposes": [
            {
                "access": 1,
                "description": "Triggered action (e.g. a button click)",
                "name": "action",
                "property": "action",
                "type": "enum",
                "values": [
                    "on",
                    "off",
                    "toggle",
                    "brightness_down_click",
                    "brightness_up_click",
                    "color_temp",
                    "color_wheel",
                    "brightness_0_release",
                    "brightness_1_release",
                    "brightness_0_hold",
                    "brightness_1_hold"
                ]
            },
            {
                "access": 1,
                "description": "Link quality (signal strength)",
                "name": "linkquality",
                "property": "linkquality",
                "type": "numeric",
                "unit": "lqi",
                "value_max": 255,
                "value_min": 0
            }
        ],

What I would still be interested in is how is this mapped in Zibee2MQTT?
So here:

Did you ever have time to talk briefly in Discord?

Sure. This evening at about 9:30?

Sure. This evening at about 9:30?

I'm on the road tonight and unfortunately do not know if I'm already back home then
I have but times a shot in the dark dared, you like to install the Dev branch and test how it behaves?
https://github.com/o0shojo0o/ioBroker.zigbee2mqtt/tree/dev_MLI-404011_MLI-404049

I'll try out this evening.

Okay. I tested the version you linked.
Deleted the data points for the remote and restarted the adapter.
Now it looks like this:

Color always stays 0 and colortemp always null.
Pressing the color wheel shows this in the log: --->>> fromZ2M -> 0x2c1165fffe2cae93 states: {"payload":{"action":"color_move","action_color":{"x":0.598,"y":0.39},"action_transition_time":0,"last_seen":"2022-10-28T20:53:50+02:00","linkquality":72},"topic":"FernbedienungHobbyraum"}
Pressing the color temp shows this: --->>> fromZ2M -> 0x2c1165fffe2cae93 states: {"payload":{"action":"color_temperature_move","action_color_temperature":153,"action_color_temperature_direction":"up","action_transition_time":10,"last_seen":"2022-10-28T20:54:39+02:00","linkquality":69},"topic":"FernbedienungHobbyraum"}
Brightness is the same as before. Showing true instead of the actual brightness sent by the remote:
--->>> fromZ2M -> 0x2c1165fffe2cae93 states: {"payload":{"action":"brightness_step_up","action_step_size":43,"action_transition_time":0.1,"last_seen":"2022-10-28T20:55:26+02:00","linkquality":69},"topic":"FernbedienungHobbyraum"}
This is what it looks like on the webinterface of z2m:

Fixed with https://github.com/Koenkk/zigbee-herdsman-converters/pull/4850 waiting for the merge.


Image gallery: display of the object x from y of the overview mode should be correctly displayed when using IE (11) on mobile

Hi @desobryc, can you explain what is not working exactly? Or what is the expected behaviour?

Hi @desobryc, can you explain what is not working exactly? Or what is the expected behaviour?

Yes, object 2 of 3 and Previous should be aligned.

this issue was fixed with #404

Fixed


Documentation Clarification for loading PEFT models with AutoModelForCausalLM.from_pretrained

System Info

transformers version: 4.40.0.dev0
Platform: Linux-5.4.0-150-generic-x86_64-with-glibc2.35
Python version: 3.10.12
Huggingface_hub version: 0.20.3
Safetensors version: 0.4.2
Accelerate version: 0.29.0.dev0
Accelerate config:    not found
PyTorch version (GPU?): 2.2.2+cu121 (True)
Tensorflow version (GPU?): not installed (NA)
Flax version (CPU?/GPU?/TPU?): not installed (NA)
Jax version: not installed
JaxLib version: not installed

Who can help?
@stevhliu
Information

[X] The official example scripts
[ ] My own modified scripts

Tasks

[ ] An officially supported task in the examples folder
[X] My own task or dataset (give details below)

Reproduction
There are multiple ways to load peft models. For example:
model = AutoModelForCausalLM.from_pretrained(local_path_to_model_adapter)

or
peft_model = PeftModel.from_pretrained(base_model,local_path_to_model_adapter)

It would be helpful to describe both within peft documentation. More specifically:

Highlight that merge_and_unload does not work with AutoModelforCausalLM.
Clarify how AutoModelforCausalLM actually loads the adapter (I assume it keeps the adapter weights unmerged with the base model, hence slower inference?). [btw, it's useful that this can be used to load models because you can put in a path that can be either an adapter model OR a full model. However, this doesn't then work for merging, so one needs to know in advance if the path is to an adapter or full model before deciding how to load if one might need to use merge_and_unload).
Clarify that PeftModel requires the base and the adapter model to be specified (although, in principle it would seem there should be a way to allow loading by only specifying the adapter model).

Expected behavior
See notes above

Makes sense, I agree this is a bit confusing, will work on that in the next couple of days!

Unstale
On Sat 4 May 2024 at 16:03, github-actions[bot] @.***>
wrote:

This issue has been automatically marked as stale because it has not had
recent activity. If you think this still needs to be addressed please
comment on this thread.
—
Reply to this email directly, view it on GitHub
https://github.com/huggingface/peft/issues/1619#issuecomment-2094245270,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASVG6CQD2352FRUGMPLYYF3ZAT2FDAVCNFSM6AAAAABFXN2IJCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOJUGI2DKMRXGA
.
You are receiving this because you authored the thread.Message ID:
@.***>


Spotify4Unity - Can't get user playlists - Unable to get their UserID

Describe the bug

Spotify4Unity - Can't get user playlists - Unable to get their UserID

NullReferenceException: Object reference not set to an instance of an object
Spotify4Unity.SpotifyServiceBase.OnLoadedPlaylists

note :-  my account is Premium for 3 month
*Platform:

android, ios

Unity Version:

unity 2019.3.f1

The source is in the repo since it's open source. This will only be null if you have no playlists and I haven't touch this code in a while so I'm limited with my help. Make sure you're configured to access playlists in the API scopes section of the service too

Hello Sir,
The problem here is:
We have created the application with Spotify4Unity. I have two accounts of spotify.
1) When I log in with my personal ID and run the application it shows me the device list in the mobile app. (Screenshot )
2) But when I am trying with the other ID is it not showing me the devices in the list. This other account I am using is for the developer account of spotify. (Screenshot
Now the problem is
When I am trying with my personal account it shows me the list of songs but I can not control that from here. Also the user ID part of the application is always blank. There is nothing to show in that box. (Screenshot ).
Please guide me as required.


[release-1.25] Pass through default ciphers as kube-apiserver-arg

Backport:

#6724

Validated on release-1.25 branch using commit id 8b5cbf062914685bd50dd52c693edcd7784d0171
Environment Details
Infrastructure
Cloud EC2 instance
Node(s) CPU architecture, OS, and Version:
Ubuntu 20.04
Cluster Configuration:
Single node
Steps to reproduce the issue  and validate the fix

Install k3s
Check logs for params passed to apiserver

To reproduce: on k3s version v1.25.5+k3s2
ubuntu@ip-172-31-0-167:~$ journalctl -u k3s|grep apiserver |grep cipher
ubuntu@ip-172-31-0-167:~$ journalctl -u k3s|grep cipher
Jan 19 07:00:39 ip-172-31-0-167 k3s[16265]: {"level":"info","ts":"2023-01-19T07:00:39.459Z","caller":"embed/etcd.go:482","msg":"starting with peer TLS","tls-info":"cert = /var/lib/rancher/k3s/server/tls/etcd/peer-server-client.crt, key = /var/lib/rancher/k3s/server/tls/etcd/peer-server-client.key, client-cert=, client-key=, trusted-ca = /var/lib/rancher/k3s/server/tls/etcd/peer-ca.crt, client-cert-auth = true, crl-file = ","cipher-suites":[]}

To validate: using commit id 8b5cbf062914685bd50dd52c693edcd7784d0171
Reported flags are passed to kube-apiserver by default
$ journalctl -u k3s|grep apiserver|grep cipher
Jan 19 06:31:46 ip-172-31-15-121 k3s[15622]: time="2023-01-19T06:31:46Z" level=info msg="Running kube-apiserver
...
--tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305 --tls-private-key-file=/var/lib/rancher/k3s/server/tls/serving-kube-apiserver.key"


bug: build should swap - to _ for grabbing .wasm files

Describe the bug
ERROR src/main.rs:1195:
   0: Command `wasm-tools ["component", "new", "target/wasm32-wasi/release/kimap-explorer.wasm", "-o", "../pkg/kimap-explorer.wasm", "--adapt", "target/wasi_snapshot_preview1.wasm"]` failed with exit code Some(1)
      stdout:
      stderr: error: failed to read from `target/wasm32-wasi/release/kimap-explorer.wasm`

      Caused by:
          0: No such file or directory (os error 2)
   0:

Location:
   src/build/mod.rs:190

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SPANTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

   0: kit::build::run_command
      at src/build/mod.rs:165
   1: kit::build::compile_rust_wasm_process
      at src/build/mod.rs:487
   2: kit::build::compile_package_item
      at src/build/mod.rs:721

To Reproduce
Steps to reproduce the behavior:

create app with - in name
try to build

Expected behavior
build should expect that cargo/wasm will swap hyphens to underscores and try to match that (annoying) behavior

This is a p annoying thing that results from:

cargo doesn't like -s and wants _s
App Store doesn't like _s and wants -s

Note this is already an outstanding issue with cargo: lots of crates are imported with -s but have package names with _s
P bad
To get it to work currently w our system you can have all cargo stuff with _s and metadata.json with -s, but I agree it is quite brittle

#222

#222

Ah; not quite right. kit s needs a little more work

#226

#257


Fix to handle exec_service error + not starting service creation latency measurment when --enable-exec-service flag is disabled

This PR fixes https://github.com/kubernetes/perf-tests/issues/1101. It adds checks to handle errors thrown by exec_service and also, to not start service_creation_latency when --enable-exec-service flag is disabled.

@mm4tt , as discussed separate PR to handle service_creation_latency measurement related scenarios.

/ok-to-test
/lgtm
/approve
Thanks @vamossagar12 !


CircuitBreaker error

I have been using this api successfully since few week with Dacia Spring. It suddenly cease to function yesterday at 3am Cest.
I receive following error message when running renault-api status
battery-status: CircuitBreaker 'vehiclesCircuitBreaker' is OPEN and does not permit further calls charge-mode: CircuitBreaker 'vehiclesCircuitBreaker' is OPEN and does not permit further calls cockpit: CircuitBreaker 'vehiclesCircuitBreaker' is OPEN and does not permit further calls location: CircuitBreaker 'vehiclesCircuitBreaker' is OPEN and does not permit further calls lock status: CircuitBreaker 'vehiclesCircuitBreaker' is OPEN and does not permit further calls res state: CircuitBreaker 'vehicles Circuit Breaker is OPEN and does not permit further calls
Here an excerpt of same command with debug option.
DEBUG:renault_api.kamereon:Received Kamereon response 500 on GET to https://api-wired-prod-1-euw1.wrd-aws.com/commerce/v1/accounts/1cd7e385-XXXX-XXXX-9b03-a287074e7ef2/vehicles/xxxxxxxxxxxx/details?country=FR: {"type":"TECHNICAL","messages":[{"code":"err.tech.wired.vehicle-details","message":"CircuitBreaker 'vehiclesCircuitBreaker' is OPEN and does not permit further calls"}]

This is an issue on the Renault side, not an issue with this tool.
I expect that the phone app has also stopped working for you, and I suggest that you contact Renault through their support desk.

Your are right, it must have be on Renault side as it resolved itself spontaneously this morning.
By the way, the application was working fine while the api client wasn't.


src/CMakeLists.txt hard codes static libraries

Wouldn't it be preferable to allow the user to choose whether to build shared or static libraries?

I have PR #16 but it hasn't been reviewed yet...

Great, thanks for the reference.


Change internal storage to NSDictionary for better performance

This change boosts decoding performance by 3x.
If you add time spent deserializing with JSONSerialization (assuming you are starting with Data), JSONSerialization + DictionaryDecoder is now 2x faster than JSONDecoder.
Even with this change DictionaryDecoder is still 3x slower than solutions not using Decodable, so there is still room to improve.

This is cool, but what might be cooler would be to use generics to parametize the original DictionaryDecoder (renaming it to something like GenericDictionaryDecoder), and then do
typealias DictionaryDecoder = GenericDictionaryDecoder<[String:Any]>
typealias NSDictionaryDecoder = GenericDictionaryDecoder<NSDictionary>


evaluate code doesn't exist

Could you plrease provide a configuration file for the model evaluation and the related code? I have found builders such as flickr, textvqa, nocaps, as well as the corresponding evaluation code. Although I have tried to write the evaluation code like LAVIS, it doesn't work.Thanks.

The issue is as follows:Lack of Q-former , llm-project and vision-projection weights:

Could you plrease provide a configuration file for the model evaluation and the related code? I have found builders such as flickr, textvqa, nocaps, as well as the corresponding evaluation code. Although I have tried to write the evaluation code like LAVIS, it doesn't work.Thanks.

NotImplemented
def evaluation(self, model, data_loader, cuda_enabled=True):
pass

Sorry we didn't not incorporate the evaluation code into our codebase, it's a bit messy to put in here, and all the evaluation code is under the LAVIS repo.

Thank you, I have found the corresponding test code in the LAVIS repository and evaluated on NoCaps and Flickr30k, but the results are not ideal.


ceph_docker_version - 'unicode object' has no attribute 'stdout'

Bug Report
What happened:
Environment:
CentOS 7.4
virtualenv with Ansible 2.8.3
ansible-playbook site-container.yml (the only changed bit is delegate_facts_host: False)
    - name: set_fact ceph_docker_version ceph_docker_version.stdout.split
      ^ here
      fatal: [xxx]: FAILED! =>
      msg: |-
      The task includes an option with an undefined variable. The error was: 'unicode object' has no attribute 'stdout'

The error appears to be in '/var/lib/stack/ion-openstack-poc/src/ceph-ansible-28082019/roles/ceph-container-common/tasks/main.yml': line 13, column 7, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:
    - name: set_fact ceph_docker_version ceph_docker_version.stdout.split
      ^ here

What you expected to happen:
Get Ceph deployed
How to reproduce it (minimal and precise):
Create virtualenv with:
virtualenv ~/ceph-ansible
~/ceph-ansible/bin/activate
git clone https://github.com/ceph/ceph-ansible -b stable-4.0
pip install -r ceph-ansible/requirements.txt
push ceph-ansible
cp site-container.yml.sample site-container.yml
(change delegate_facts_host from True to False)
Ansible-playbook site-container.yml
NOTE: After changing lines 5-16 in ceph-ansible/roles/ceph-container-common/tasks/main.yml to:

name: get docker version
block:

name: get docker version
command: docker --version
changed_when: false
check_mode: no
register: ceph_docker_version**_output**

name: set_fact ceph_docker_version ceph_docker_version.stdout.split
set_fact:
ceph_docker_version: "{{ ceph_docker_version**_output**.stdout.split(' ')[2] }}"
when: container_binary == 'docker'

Everything runs smoothly...
Share your group_vars files, inventory
dynamic inventory, hard to share
Environment:

OS (e.g. from /etc/os-release): CentOS 7.4
Kernel (e.g. uname -a): 3.10.0-693.el7.x86_64
Docker version if applicable (e.g. docker version): 17.03-ce
Ansible version (e.g. ansible-playbook --version): 2.8.3
ceph-ansible version (e.g. git head or tag or stable branch): stable-4.0 branch
Ceph version (e.g. ceph -v): not yet

ok: [2ck11u12n04] => changed=false
cmd:

docker
--version
delta: '0:00:00.015987'
end: '2019-08-29 04:10:05.367288'
invocation:
module_args:
_raw_params: docker --version
_uses_shell: false
argv: null
chdir: null
creates: null
executable: null
removes: null
stdin: null
stdin_add_newline: true
strip_empty_ends: true
warn: true
rc: 0
start: '2019-08-29 04:10:05.351301'
stderr: ''
stderr_lines:
stdout: Docker version 17.05.0-ce, build 89658be
stdout_lines:

It looks correct.
As mentioned the fix was to change variable name to ceph_docker_version_output in register: and set_fact in the following way:

name: get docker version
block:

name: get docker version
command: docker --version
changed_when: false
check_mode: no
register: ceph_docker_version_output

name: set_fact ceph_docker_version ceph_docker_version_output.stdout.split
set_fact:
ceph_docker_version: "{{ ceph_docker_version_output.stdout.split(' ')[2] }}"

when: container_binary == 'docker'

Maybe Ansible treats register: and set_fact: vars as different and shouldn't be mixed under the same name?
I can create a PR for that change, if it will be accepted.

Do you have the same issue when using delegate_facts_host: True ?
On my side I tested both and I don't have any issue like you.
Could you please share the full ansible logs with verbosity (-vv) ?

It never occurred again - so closing.


Update README.md

In some production cases, for example using firebase for hosting, the app won't be able to connect to databaseURL. This export condition will solve this problem, while keeping the hot reload functional in development

Looks sensible! thanks @gabrielmoncea

Thanks! 👍


Unable to build vdb_view binary on Windows

While generating project files with cmake on Windows, I received following warning and vdb_view project wasn't created in visual studio 2017 solution file.

CMake Warning at openvdb/cmd/CMakeLists.txt:172 (message):
Currently no CMake support for building vdb_view binary on Windows.

After installing the glfw3 using vcpkg install zlib:x64-windows, I've edited the line  171 of openvdb\cmd\CMakeLists.txt by inverting the if condition and now CMake is able to generate vdb_viewer project. But I'm still not sure about the purpose of that if statement.

if(NOT WIN32)   #Previously it was if(WIN32)
message(WARNING "Currently no CMake support for building vdb_view binary on Windows.")
# @todo
# find_package(GLEW REQUIRED)
...

The purpose of that if statement is to disable the project on Windows as the code will not compile/run. Please see https://github.com/AcademySoftwareFoundation/openvdb/pull/671

Merged, #671 vdb_view now builds and runs on Windows with GLEW. Please re-open if problems persist


[backport v2.2] lib: updatehub: Minor bug fixes

This backport the fixes made in #23885.

Please create at least one issue that you can reference from all the backport PRs

Please create at least one issue that you can reference from all the backport PRs

We don't have a reported issue number. One of our customers reported those issues. Should we report it anyway?

Added #24154


Add Travis CI Badge to README

Add the Travis CI API Status Badge to the README file.

API Link:

Fixed in Commit 0c76362edeacfef95ce7d790da6182c78de2f276


<EMAIL_ADDRESS>key?

I just pushed a commit (in a repo that has absolutely nothing to do with gogs) from the machine I just installed gogs, and the commiter is, for some reason:
Gogs<EMAIL_ADDRESS>The key doesn't appear in .ssh/
Is gogs fiddling around my global git settings? And is this documented?
And why is it an e-mail address you are controlling?
This is quite a trojan-horse-like behavior.

This is the culprit
// Check if server has user.email and user.name set correctly and set if they're not. 	for configKey, defaultValue := range map[string]string{"user.name": "Gogs", "user.email"<EMAIL_ADDRESS>{
https://github.com/gogits/gogs/blob/master/models/repo.go#L107
That is not setting user.email and user.name "correctly". If these are required, these should be asked during the installation.
gogs should never populate .gitconfig with some email address only you have access to.

If these are required, these should be asked during the installation.

Good point.

Close by https://github.com/gogits/gogs/commit/9c67a193321a766097e6494484df5370010b512c

Why is it needed that it modifies the .gitconfig on the server it is installed on?

Hi @ePirat ,
For current implementation, Gogs uses git command to commit changes to initial commit, and git requires you set a fake user.name and user.email no matter you use it or not. (Gogs commit is based on your account info, you can say this is a way to bypass git check)


API: Keymap template key

Closes #74
@mrmwiebe This good with you? Slightly changes the API response so that it looks like what I described here.
Basically, no custom keymaps yet but does return a 'template' attribute which is one of: default, legacy, flash, custom.

Yeah that should work for me.  Throw in a "Pico8" option too while you're at it.


Sesman does not separate sessions per application (Start-up program in Remmina)

xrdp version
0.10.80
Detailed xrdp version, build options
xrdp 0.10.80
  A Remote Desktop Protocol Server.
  Copyright (C) 2004-2024 Jay Sorg, Neutrino Labs, and all contributors.
  See https://github.com/neutrinolabs/xrdp for more information.

  Configure options:
      --enable-fuse
      --enable-jpeg
      --enable-rfxcodec
      --enable-mp3lame
      --enable-vsock
      --enable-painter

  Compiled with OpenSSL 3.3.1 4 Jun 2024

Operating system & version
Ubuntu 24.10
Installation method
git clone & make install
Which backend do you use?
xorgxrdp
What desktop environment do you use?
openbox
Environment xrdp running on
Incus container
What's your client?
org.remmina.Remmina - 1.4.35 (git n/a)
Area(s) with issue?
Session manager (sesman)
Steps to reproduce
Create two or more connections within Remmina UI with all parameters equal except Advanced -> Start-up program. For example:

1st connection with Start-up program: xterm
2nd connection with Start-up program: chromium-browser

Start 1st connection, xterm opens. Then start 2nd connection.
✔ Expected Behavior
2nd connection starts with chromium-browser open. 1st connection should be left open intact.
❌ Actual Behavior
When you start 2nd connection, 1st connection closes and appears in place of second connection with xterm open. Furthermore the same happens when you start Desktop session (with empty Start-up program).
Anything else?
I think any two sessions should be separated if their Start-up program is different, regardless of the Policy parameter. Just like it is implemented in Windows servers.
Current workaround is to specify different screen resolution for each connection and set Policy=UBD in sesman.ini
I also tested 0.10.1 and 0.9.24 versions. The described behavior was also observed.

This could be implemented, but there's a significant limitation on many Linuxes which makes it virtually unusable.
In general, one user cannot have multiple graphical sessions open in Ubuntu, or indeed any system using systemd --user. This is a consequence of the way systemd is designed and not anything which we could fix within xrdp. See this related entry in the FAQ.
You might get away with it for an xterm and a browser, but two complex programs could not be supported using the same user.
Another significant problem is we don't support RAIL, so each program will appear in its own desktop.

Thanks for the info, I actually read the FAQ. But I don't quite understand what might not work.
I'm currently testing this with two different programs and everything is quite good.
Two applications is currently separated by the workaround with display resolution. Could you please explain or point me to an explanation of what issues I can expect with this approach?

Another significant problem is we don't support RAIL, so each program will appear in its own desktop

This is exactly what I want. I need each application to run in a separate desktop, I just created a script to run appliations, I named it openbox-one-app:
#!/bin/sh
openbox &
"$@"
openbox --exit

then I specify Start-up program in Remmina as openbox-one-app chromium-browser
This way the applications get resized automatically, since I configured openbox to open applications maximized, and in pair with setting DisconnectedTimeLimit in sesman.ini you can just close the connection to close application. Very convenient. No need to use RAIL.

It's a bit complex. The FAQ only covers the main case which affects us.
Each user can only have on instance of systemd --user running at any one time. This instance can only have one DISPLAY variable set, so if anything is running under systemd --user, it can't be shared between sessions.
One example of this is gnome-terminal. I'm running on Ubuntu 22.02 with XFCE here. I can start multiple terminal windows, but they are all implemented by gnome-terminal-server which runs under systemd --user:-
$ systemctl --user status gnome-terminal-server.service
● gnome-terminal-server.service - GNOME Terminal Server
     Loaded: loaded (/usr/lib/systemd/user/gnome-terminal-server.service; stati>
     Active: active (running) since Mon 2024-12-09 13:36:59 GMT; 2min 35s ago
   Main PID: 2697 (gnome-terminal-)
      Tasks: 4 (limit: 9437)
     Memory: 14.2M
        CPU: 350ms
     CGroup<EMAIL_ADDRESS>             └─2697 /usr/libexec/gnome-terminal-server

Dec 09 13:36:59 xrdp-test systemd[1990]: Starting GNOME Terminal Server...
Dec 09 13:36:59 xrdp-test systemd[1990]: Started GNOME Terminal Server.

As a result, although I suspect with your setup you can start multiple GNOME terminals, they will all appear to be in the same session. With the way you're using openbox (which I think is very nice), this will be fairly clear.
If this does work for you however, have a look at Policy=Separate for xrdp 0.10.x and later. I think this does pretty much what you want without messing about with resolutions.

Thanks for your explanation, I've checked the gnome-terminal and I see what you mean, I can confirm that when you open the terminal in the second session it opens in first, next to already opened terminal.
But this is absolutely OK for most applications, because I usually don't want multiple instances of the same application, but rather single instance of different applications. Furthermore everything else that I tried except gnome-terminal work even in multiple desktops.
Thanks for your hint about Policy=Separate but unfortunately it is not quite what I wanted.

If I forget, that the application is already open, I would like to return to it rather than open it second time.
When you accidentally close the connection, it may lead to a data loss.

I think the feature in the request is indeed very handy and will work for the majority of cases (at least for me), and make XRDP consistent with Windows RDS, why not?
Anyway, If you think that it does not worth the effort, we still have the display resolution hack. But if it was implemented it would be cleaner and easier, not to keep in mind what resolutions are already taken for the other apps :)

It's not for me to say how people should use the product - I'm just a developer.
In any case, we've had a good discussion about this, and I think you've made a great case so I've marked it as a suggestion.


chore: change index url for sitemap

Description
Music year: 1974

Changes back the listed sitemap URL

Issue(s)
Fixes #
How to test

Go to https://deploy-preview-2441--oak-web-application.netlify.thenational.academy
Click on ______
You should see ______

Screenshots
How it used to look (delete if n/a):
{screenshots}
How it should now look:
{screenshots}
Checklist

[ ] Added or updated tests where appropriate
[ ] Manually tested across browsers / devices
[ ] Considered impact on accessibility
[ ] Design sign-off
[ ] Approved by product owner
[ ] Does this PR update a package with a breaking change

:tada: This PR is included in version 1.440.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[DOC] Add Troubleshooting Section for HTTP2

Change in the documentation
An error message such as Received unexpected EOS on empty DATA frame from server on the client that called flagd may mean that HTTP2 is not allowed in the network. In Kubernetes, setting the appProtocol to grpc may resolve the issue.
https://istio.io/latest/docs/ops/configuration/traffic-management/protocol-selection/

I think we should take this opportunity to add a "troubleshooting" section to the docs that can be easily linked to from low-level errors such as this.
@beeme1mr if you agree, please update the description accordingly.


Update link to shouldCancelStart function definition

Update link to shouldCancelStart function definition, line number was wrong.

Thanks 😄


Defining a structure for the wiki

In GitLab by @cmastalli on Apr 1, 2019, 17:19
I have added few files that define a tentative structure for the wiki. Please see them here:
https://gepgitlab.laas.fr/loco-3d/crocoddyl/wikis/home
The structure has the form:
Home
Developer Guide
Frequently Asked Questions
Action/
        Floating in Contact Systems
        Unconstrained Forward Dynamics
Cost/
        CoM Cost
        Force based Cost
        Frame base Cost
        State and Control Cost

Most of these files are empty, with the exception of Home and Floating in Contact Systems. @nmansard have a look and let's decide about this structure.

In GitLab by @nmansard on Apr 3, 2019, 08:57
I would suggest to make "home" a more generic intro, math-free, that maybe lists the philosophy of the lib and gives the references to the available documentations. The current "math" could be renamed "Defining an optimal control problem".
Did you take inspiration of all the sections in the TSID rationale?
@andreadelprete any thought?

I will close this since it has been zero activity from few months.
Feel free to re-open it!


Server path fragment with value zero "0" breaks rendering

Whoops \ Exception \ ErrorException (EWARNING) fileexists(): open_basedir restriction in effect. File(/customers/f/6/haraluna.no/httpd.www/user/pages/images/web-hoved- bilde.png) is not within the allowed path(s): (/customers/f/6/0/haraluna.no/httpd.www:/customers/f/6/0/haraluna.no/h ttpd.private:/customers/f/6/0/haraluna.no/tmp:/customers/haraluna.no/haraluna.no:/var/www/diagnostics:/usr/share/php)`
The ‘0’ has been removed from the path so the path is not valid. Seems to be a problem with the URL conversion.
The cause has been identified to the line:
https://github.com/getgrav/grav/blob/develop/system/src/Grav/Common/Utils.php#L333
if (($segment == '.') || empty($segment)) {
If $segment equals "0" the segment is skipped.
The solution may be to change the above line to:
if (($segment == '.') || strlen($segment) == 0) {
Thanks to @Sommerregen for pointing out a possible solution.
I have tried the fix both locally and on a production server and it seems to work.

Fixed by https://github.com/getgrav/grav/pull/882 thanks to @Sommerregen  👍


i just got portal to the end instance of nether

i play on fabric with some client side mod and this happen

even you make it as  obsidian

It doesn't look like you have any datapacks loaded?

i mean it shouldn't do anything
but i make portal and go to the end

I think I may have left the testing portals enabled in the release on accident.
I'll get a new release out shortly

Please try using version 1.2.3


Support int8 KVCache Quant in Vllm

Quantization for kv cache can lift the throughput with minimal loss in model performance. We impelement int8 kv cache quantization which can achieve a 15% throughput improvement. This pr is part of https://github.com/vllm-project/vllm/pull/1112. We spilted the huge PR into 2 independent parts for easier review.
The usage of int8 KV Cache quant is simple:
python ./vllm/entrypoints/api_server.py --model=/path/to/quantized/model --tokenizer=/path/to/tokenizer --max-num-batched-tokens=70000 --block-size=16 --swap-space=20 --kv-cache-dtype=int8 --kv-quant-params-path=/path/to/kv_params_dir

The loss in model performance is minor . The following data is our experiemnt result  on mmlu dataset

model
STEM
Social Sciences
Humanities
Other
Average

fp16
0.4056
0.4965
0.4750
0.4855
0.4657

fp16 with int8kv
0.4037
0.4956
0.4748
0.4849
0.4648

You can find more details like how to gernerate KV cache scales in original PR https://github.com/vllm-project/vllm/pull/1112
You can use the method with w8a8 inference https://github.com/vllm-project/vllm/pull/1508 for best throughput

Hi,
Thanks for the wonderful PR, and I implement the FP8 (e5m2 / e3m4) KVCache quantization based on this PR at this branch, which does not require any calibration (as for the case of INT8).

Throughput (ShareGPT on V100-32G): token/s increases by 62% for Qwen-14B, and 6% for Qwen-7B.

Accuracy: same accuracy for Qwen-7B on 5-shot MMLU-STEM, both achieved 42.02. I also tried a few hand-crafted prompts (including tool usage), and didn't observe any quality degradation on the generated text.

cc @zhuohan123 @WoosukKwon

Hi,
Thanks for the wonderful PR, and I implement the FP8 (e5m2 / e3m4) KVCache quantization based on this PR at this branch, which does not require any calibration (as for the case of INT8).

Throughput (ShareGPT on V100-32G): token/s increases by 62% for Qwen-14B, and 6% for Qwen-7B.
Accuracy: same accuracy for Qwen-7B on 5-shot MMLU-STEM, both achieved 42.02. I also tried a few hand-crafted prompts (including tool usage), and didn't observe any quality degradation on the generated text.

cc @zhuohan123 @WoosukKwon

Awesome work!
I found that you directly cast fp32 to fp8 without scaling. Have you observed the kv cache data distribution and found that the data can be represented in fp8 without loss, leading to that choice?

FP8 e5m2 has the same dynamic range with fp16, so I think it should be safe to cast, while FP8 e4m3 has more precision but may cost more cycles than e5m2 when casting from fp16.
This idea originates from two parts: 1) Recently I tried fp16 & fp32 & bf16 mixed precision training on V100 (fp32 <--> bf16 is roughly similar to fp16 <--> fp8 at high level). More analysis and details are posted here. 2) I also bumped into this idea somewhere (a blog, but no implementation provided. I couldn't find the exact reference now).

I also implement the FP8 (e5m2 / e3m4) KVCache quantization. And analysis show the kv cache data distribution is ok for FP8.

Above is the kv cache data distribution in finetuned WizardCoder.

Dataset
Baseline(KV Cache FP16)
KV Cache FP8 E5M2
KV Cache FP8 E4M3

HumanEval-Python-EN
68.293%
65.854% (↓ 2.439%)
67.683% (↓ 0.61%)

HumanEval-Python-CN
59.146%
59.146% (=)
59.756% (↑ 0.61%)

I think we could both support int8 and fp8 kv cache. FYI TRT-LLM also support both quant methods for kv cache.

I also implement the FP8 (e5m2 / e3m4) KVCache quantization. And analysis show the kv cache data distribution is ok for FP8.
Above is the kv cache data distribution in finetuned WizardCoder.
Dataset	Baseline(KV Cache FP16)	KV Cache FP8 E5M2	KV Cache FP8 E4M3
HumanEval-Python-EN	68.293%	65.854% (↓ 2.439%)	67.683% (↓ 0.61%)
HumanEval-Python-CN	59.146%	59.146% (=)	59.756% (↑ 0.61%)
I think we could both support int8 and fp8 kv cache. FYI TRT-LLM also support both quant methods for kv cache.

Thanks for sharing the experiments and the benchmarks. How to understand the plot (e.g., x-axis and y-axis)?

@ZiyueHuang I dump the kv cache of each transformer layer and find the mean data among all transformer layers.
The prompt length is 14，generation tokens' length is 65. So the total sequence length is 14+65=79. The hidden dims is  6144, head_num=48，kv_dims=6144/48=128. So the dim of each layer's key/value cache is [b, seq_len, 128].
The x-axis is the kv dim ([0, 63] is the key cache and [64, 127] is the value cache) and the y-axis is the sequence length.
Note that the kv cache data distribution is related to model.

Great work! Several comments left.

Thank you for taking the time to review our code. We will take your advice and respond as soon as possible.

Thanks for your great work! Met compile errors, left some comments here, but seems need more modify, I can't run kv_int8 model with this PR(turn to #1112 finally).
Exception in callback functools.partial(<function _raise_exception_on_finish at 0x7fe75458d120>, request_tracker=<vllm.engine.async_llm_engine.RequestTracker object at 0x7fe6c149b820>)
handle: <Handle functools.partial(<function _raise_exception_on_finish at 0x7fe75458d120>, request_tracker=<vllm.engine.async_llm_engine.RequestTracker object at 0x7fe6c149b820>)>
Traceback (most recent call last):
  File "/workdir/vllm_smoothquant/vllm/vllm/engine/async_llm_engine.py", line 28, in _raise_exception_on_finish
    task.result()
  File "/workdir/vllm_smoothquant/vllm/vllm/engine/async_llm_engine.py", line 351, in run_engine_loop
    has_requests_in_progress = await self.engine_step()
  File "/workdir/vllm_smoothquant/vllm/vllm/engine/async_llm_engine.py", line 330, in engine_step
    request_outputs = await self.engine.step_async()
  File "/workdir/vllm_smoothquant/vllm/vllm/engine/async_llm_engine.py", line 191, in step_async
    output = await self._run_workers_async(
  File "/workdir/vllm_smoothquant/vllm/vllm/engine/async_llm_engine.py", line 216, in _run_workers_async
    output = executor(*args, **kwargs)
  File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/workdir/vllm_smoothquant/vllm/vllm/worker/worker.py", line 369, in execute_model
    output = self.model(
  File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/workdir/vllm_smoothquant/vllm/vllm/model_executor/models/llama.py", line 310, in forward
    hidden_states = self.model(input_ids, positions, kv_caches,
  File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/workdir/vllm_smoothquant/vllm/vllm/model_executor/models/llama.py", line 268, in forward
    hidden_states = layer(
  File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/workdir/vllm_smoothquant/vllm/vllm/model_executor/models/llama.py", line 211, in forward
    hidden_states = self.self_attn(
  File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/workdir/vllm_smoothquant/vllm/vllm/model_executor/models/llama.py", line 159, in forward
    attn_output = self.attn(positions, q, k, v, k_cache, v_cache,
  File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/workdir/vllm_smoothquant/vllm/vllm/model_executor/layers/attention.py", line 405, in forward
    return super().forward(
  File "/workdir/vllm_smoothquant/vllm/vllm/model_executor/layers/attention.py", line 296, in forward
    cache_ops.reshape_and_cache_quantized(
RuntimeError: expected scalar type Int but found Long

My application scenarios is long context(~1000 tokens) but short outputs(~15 tokens), so KV Cache quantize may not help with me, I didn't see any improvement in decoding phase. Any ideas about this? Hoping to use W8A16 asap, thanks.

@zhaoyang-star
Hi! We have finished fixing the bug and reducing the redundant code.
Could you please take some time to review our code again?

@zhaoyang-star
Hello. We have fixed the problems mentioned in the comments above.
Could you please review our code again?

Looks good to me. But as it is a big feature I suggest waiting for more review. BTW, I plan to submit a PR supporting FP8 kv cache once your PR is merged.

Thank you for your feedback and suggestion. I'm looking forward to your work on the FP8 kv cache.
@WoosukKwon @zhuohan123
Hello! Could you please take some time out of your busy schedule to do a further review of our PR? I would really appreciate it!

btw I tested SQ per token + int8 KV cache, it makes the KV cache 2x bigger, however at the same batch size it makes things slightly slower. I guess that's expected since there's extra quant and dequant steps

btw I tested SQ per token + int8 KV cache, it makes the KV cache 2x bigger, however at the same batch size it makes things slightly slower. I guess that's expected since there's extra quant and dequant steps

Could you share the batch size used in your experiment? The benefits of the quantized KV Cache are expected to outweigh the costs of the extra quantization and dequantization steps when using a large batch size.

in the currently implementation, it only assume quant = quant to int8, what about FP8 that likely supported in the future? can you make the code more generic (or be very specific this is to int8)?

We currently havn't experiment on fp8. We

in the currently implementation, it only assume quant = quant to int8, what about FP8 that likely supported in the future? can you make the code more generic (or be very specific this is to int8)?

Thank you for your advice. The current implementation is limited to INT8 because we haven't adopted and tested our implementation on GPUs that support FP8. To make the codebase more adaptable, we will try to abstract the KV Cache quantization implementation that will allow for easier integration of different quantization formats, such as FP8.

Hello, this is wonderful idea. Now I have tested with llama2 model & mmlu test set. But I really hard to see improvement. as you mensioned before. you got a 15% throughput improvement. but i get a only 5% improvement with mmlu dataset.
even this 5% improvement can get only in special case like tp1 & llama2 13b. llama2 7b or tp2 can't see any improvement.
i runed this test with offline test like below
llm = LLM(model=eng_llama_13b, max_num_batched_tokens=70000, block_size=16, swap_space=20, kv_cache_dtype="int8", kv_quant_params_path="kvquant_calib/export_tp1_llama2_13b")
could you give me some advice to see your result
<token/s>

| STEM | HUMAN | OTHER | SOCIAL
-- | -- | -- | -- | --
FP16 | 43.36 | 25.33 | 43.82 | 43.04
KVQuant | 44.59 | 26.8 | 45.14 | 44.25

chisnova

The throughput improvement of KV Cache quantization is significant under heavy load. You can use benchmarks/benchmark_throughput.py to test with high QPS and achieve similar results to those we mentioned above.

btw I tested SQ per token + int8 KV cache, it makes the KV cache 2x bigger, however at the same batch size it makes things slightly slower. I guess that's expected since there's extra quant and dequant steps

Could you share the batch size used in your experiment? The benefits of the quantized KV Cache are expected to outweigh the costs of the extra quantization and dequantization steps when using a large batch size.

i tried both batch size of 1 and 70. i can see it allows for much higher batch size and I would assume it provides better throughput in offline scenarios but in my case per request throughput would be too low to be acceptable to use in live environment.

Hi there! @WoosukKwon  @zhuohan123  @zhaoyang-star. We noticed the PR of E5M2 KV Cache quantization has been merged. It's a great work, but older devices like Ampere and Turing GPUs cannot benefit from FP8 quantization. Could you please review this PR and let us know if there is any additional work to be done to get it merged?

docs/source/quantization

Hi, we have finished code modification according to your suggestions. Please review our new PR. Here, we update the benchmark results of INT8 KV CACHE.
ENV

GPU = 1 A100-80G
model = Llama-13B
vllm = 0.3.0
enable cuda graph = True
calibration dataset = pile
input length = 300
output length = 200

Accuracy
We evaluate accuracy on MMLU datasets. Compared with FP16 kv cache, the accuracy of INT8 kv cache only drops a little on this dataset.

KV CACHE DTYPE
STEM
Social Sciences
Humanities
Other
Average

FP16
0.4056
0.4965
0.4750
0.4855
0.4657

INT8
0.4037(↓0.47%)
0.4956(↓0.18%)
0.4748(↓0.04%)
0.4849(↓0.12%)
0.4648(↓0.19%)

Latency
INT8 kv cache can reduce latency a little when QPS is low. We believe this is due to faster memory access hiding the computational overhead of dequant.

QPS
FP16 KV CACHE
INT8 KV CACHE

0.5
4.1961 s
4.1861 s(↓0.24%)

1
4.5359 s
4.4538 s(↓1.81%)

2
5.2365 s
5.0337 s(↓3.87%)

4
7.2236 s
6.5905 s(↓8.76%)

Throughout
INT8 kv cache can significantly improve throughput when QPS is high.

QPS
FP16 KV CACHE
INT8 KV CACHE

10
1142.6220 token/s
1368.6593 tokes/s(↑19.79%)

20
1147.4441 token/s
1452.7811 token/s(↑26.59%)

40
1150.1117 token/s
1507.1199 token/s(↑31.04%)

Thanks for your contribution. Several Reminders left:

Add int8_kv_cache.rst under docs/source/quantization. It will be frendly for users.
Could you please submit a demo? We can reproduce the benchmark results under int8 kv cache.
Currently int8 kv cache has supported llama model. It is better to raise error when setting int8 kv cache for other model.

@zhaoyang-star Thanks for your suggestions! We have fixed these.

We have added docs/source/quantization/int8_kv_cache which tells how to export kv_quant_params and enable int8 kv cache in vllm.
We have updated the benchmark results and the scripts to reproduce benchmark results, see benchmark results.
We have fixed the supported model issue, see code support int8 kv cache for the specified model.

Left several minor comments.
And one more question: I noticed that the impl is per-layer quantization.

Shoud we make it explict?

Do you try to use per-channel quantization for kv cache? I think this way may bas less accuracy drop.

Is it necessary to define an enum like trt-llm?

Hi there！ Thank you for your valuable advices.
We have not tested per-channel kv cache quant yet because we found per-tensor calibration achieved very minor accuracy drop in various cases and datasets. We thought it is a balance for inference efficiency and model performance for now.
As for trt-llm style enum， we think it's a good way to refactor current quant config and support weight-acttivation quantization. We are considering add it on another PR of weight-activation quantization.

Left several minor comments.
And one more question: I noticed that the impl is per-layer quantization.

Shoud we make it explict?
Do you try to use per-channel quantization for kv cache? I think this way may bas less accuracy drop.
Is it necessary to define an enum like trt-llm?

Hi there！ Thank you for your valuable advices. We have not tested per-channel kv cache quant yet because we found per-tensor calibration achieved very minor accuracy drop in various cases and datasets. We thought it is a balance for inference efficiency and model performance for now. As for trt-llm style enum, we think it's a good way to refactor current quant config and support weight-acttivation quantization. We are considering add it on another PR of weight-activation quantization.

Sure.

Overall the pr LGTM. Please fix minor comments.

Thank you for your advice. The comments have been fixed. Sorry for the late response, as I was on vacation last week.

Now int8 kv cache only supports llama. It is better to make it explict in int8_kv_cache.rst.

Fixed.

Overall now the pr is lgtm. @zhuohan123 could you please take time to review?

Hi!  @zhuohan123 @WoosukKwon  We think this PR is ready. Could you please take some time to review it? Much appreciated!

@AniZpZ Could you please solve the conflicts? We are plannig to review it again and merge it if all is OK.

@AniZpZ Could you please solve the conflicts? We are plannig to review it again and merge it if all is OK.

Sure, I will sovle the conficts.

@AniZpZ Could you please solve the conflicts? We are plannig to review it again and merge it if all is OK.

@zhuohan123 @zhaoyang-star  Hi！The conflicts have been solved now.

LGTM

@zhuohan123 this was included in the release tracker for 4.0.0, but ended up not being merged in time. Should it be added to the new release tracker?

Hi, will you rebase your code on vllm 0.5.0?

Hi, will you rebase your code on vllm 0.5.0?

Hi, will you rebase your code on vllm 0.5.0?

Hi, will you rebase your code on vllm 0.5.0?

Hi, will you rebase your code on vllm 0.5.0?

@AniZpZ @simon-mo @WoosukKwon


ASVD3 : MONDO:0010859 & MONDO:0800268/MONDO:0020290 [Merge]

Mondo term (ID and Label)
MONDO:0010859 atrioventricular septal defect 3
Reason for deprecation
OMIM 600309 MOVED TO 606215
Term to be merged with
MONDO:0800268 or MONDO:0020290 ?
OMIM 606215  says "The symbol AVSD3 previously referred to a form of AVSD caused by mutation in the GJA1 gene (121014)." So I don't know if ASVD susceptibility or ASVD is the 'merged' concept that the OMIM record should be mapped to... @ahamosh ?
Your nano-attribution (ORCID)
If you don't have an ORCID, you can sign up for one here

note to self, double check this before proceeding

Hi Nicole, I am confused by the question.  AVSD3 went away because it was based on one paper in 2001 and hasn't been replicated since.  The variant is now a variant of unknown significance.  Probably all the AVSDs should be susceptibilities.  I will check with Joanna why 2 are and one is not...

@kanems @ahamosh I will obsolete AVSD3 for now. @ahamosh please let me know if we should move the PS (https://omim.org/phenotypicSeries/PS606215) to inherited disease susceptibility in Mondo.


How to deal with "almost equal partitions" when implementing dataset partitioning for DDP?

What is your question?
I need to implement some simple Data Partitioning logic in order to explicitly split my big dataset among processes used in DDP. The logic will be the following:
assuming that each data_partition will be identified by a data_partition_id and global_rank of each machine will increase monotonically, I will be loading data in the target process only if data_partion_id % global_rank == 0.
Data loading is indeed working as expected. However, DDP training doesn't even start, since data_splits are "almost" equal in terms of the number of examples.
My guess is that in pytorch-lightining we implicitly always have "training_epochs" outer loop and "training_steps"  inner loop. If examples needed to complete one full pass over the data (i.e epoch) differ, there won't be an "agreement" between DDP parts. The solution should be to completely disable the "epochs" logic and being able to specify only steps to train on, for each different process.
What have you tried?
I've tried to use only max_steps argument, but the problem still persists.
Do you have any idea how I could overcome such a problem? Otherwise, how to implement simple data partitioning for DDP in pytorch-lightning?
What's your environment?

OS: Linux
Packaging: pip
Version: pytorch-lightning==1.0.1, torch==1.5.0

Hey @arcticriki are you implementing DDP data partitioning logic into your dataloader? For some further information we do an automatic sampler swap if using DDP such that any standard data-loader that is meant to be used sequentially is automatically partitioned correctly for DDP:
https://pytorch-lightning.readthedocs.io/en/stable/multi_gpu.html#remove-samplers
Currently the sampler circles additional samples to the end to ensure that there are equal batches split across all processes.
This logic can be turned off in the trainer using replace_sampler_ddp=False if you'd like to specify your own sampler. Let me know if this helps!

@SeanNaren thanks for your answer. I'll tell you exactly I'm doing it, maybe you will have some more ideas.

I'm using pl.LightningDataModule to abstract my Dataset, say we have:

class MyDataModule(pl.LightningDataModule)
 ...

In the setup method of MyDataModule I'm "building" my dataset in this way:

def setup(self, stage: str = None):

  dataset = []
  data_chunks = list_filepaths(data_dir, filename_extension='.json')
  # sort to preserve order among processes
  data_chunks.sort()

  process_global_rank = torch.distributed.get_rank()
  num_processes = torch.distributed.get_world_size()

  local_data_chunks = data_chunks[process_global_rank::num_processes]

  for data_chunk in local_data_chunks:
    dataset.extend(load_json(data_chunk, logger))

  return dataset

then, this list (dataset) is passed to the dataloader:

    def train_dataloader(self, dataset) -> DataLoader:
        return DataLoader(
            dataset,
            batch_size=self.hparams.batch_size,
            num_workers=self.hparams.num_workers,
            shuffle=True,
            pin_memory=True,
        )

This code is packed into my "train.py" script, that is launched in every machine. In the logs I see that indeed every machine is reading its portion of data. Everything will work fine until, for each process, we will have exactly the same number of examples (i.e each partition is composed of an equal number of examples).
However, when the number of examples differs, the training doesn't even start.
As you can see, I'm not passing any sampler to my dataloader, so pytorch-lightning should automatically set the DistributedDataSampler. I tried to disable it, as you suggested, but the problem persists.
Given this experiment setup, what would you suggest to do?
Or maybe, can you suggest a completely different way of partitioning my data?


fix typos

ran codespell to fix some typos
Related to:
https://github.com/coollabsio/coolify/pull/1614
https://github.com/coollabsio/coollabs-documentation/pull/34
https://github.com/coollabsio/coolify-docs/pull/4

@ryseek fixed the issue you noted and don't see anything similar.


Create secondary Docker config.json

in hack/setup we are mutating local docker config - can we create a new config and convince docker to use that?

#218
#175


Automated cherry pick of #8116: umount nfs on detach storage

Cherry pick of #8116 on release/3.3.
#8116: umount nfs on detach storage

/lgtm
/approve


Linux OAuth2 response cannot be used.

Extension version: v0.2.1
VSCode Version: v1.28.2
OS: Linux (Arch)

Steps to Reproduce:

Add URL handler for vscode:// scheme (this should be done in vscode by default, but that's another discussion)
Attempt to authenticate via the OAuth2 flow
When vscode receives the callback URL, it displays an error dialog the width of the URL (typically this overflows the screen) stating:

Extension 'Github Pull Requests' is not loaded.
Would you like to reload the window to load
the extension and open the URL?

Clicking Cancel does as expected and cancels the OAuth2 flow, clicking Reload Window and Open just repeats this message forever.

Related to #573

The extension was working for me until the latest update (extension v0.3.1). I'd made the extension an essential part of my workflow, and now it's not working. I tried to add the githubPullRequests.hosts setting manually, but I don't see all PRs. For example, in one our the private repos under "All pull requests" we use I see one single PR which has been closed for a long time, while there are 7 open PRs.

@TylerLeonhardt FYI, though I don't know if this is still happening.


Objects (images, formular-objects) get lost

Hallo,
I have got a problem with a complex makro excel we use. The file includes some vba code, images and formular objects like checkboxes and buttons.
When I load this excel marko file by class ZCL_EXCEL_READER_XLSM (method load) and write it with class ZCL_EXCEL_WRITER_XLSM (method write_file) all images and formular objects get lost.
Thanks a lot

Reader has some limitation.
You can propose an enhancement to include this functionality


Add git revision to ./bin/alluxio version

In light of preserving behavior, the command behaves the same as in
previous versions. This change adds the -r option which can be specified
optionally so that users can  see part or all of the revision output
appended to the end of the normal version string.
Added two new maven plugins to retrieve the git revision.
Closes #9930

@cheyang does this satisfy what you need?

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5675/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5676/
Test FAILed.

Jenkins, test this please

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5722/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5730/
Test FAILed.

jenkins, test this please

@calvinjia could you take a look at this too?

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5731/
Test PASSed.

alluxio-bot, merge this please


Allow rustfmt --write=checkstyle to output JSON

XML is very unpleasant format to parse. JSON would be much nicer and easier to work, especially with linters (i.e. Vim has built in JSON parser which would be handy in linters).

@scampi @topecongiro - I'm going to take a look at implementing this one.
My preference would be to leverage serde to serialize the Mismatch-es in the emitter vs. trying to handcraft the json string, if that sounds like a reasonable approach.

@calebcartwright using serde sounds good to me

@calebcartwright Did you made any progression on this?

@TimDiekmann - I'm still waiting for some feedback on my question at https://github.com/rust-lang/rustfmt/issues/1386#issuecomment-513085736.
Once I've got the XML format fixed, I'll do the same here for JSON

Oh, I didn't see the question. I think for the JSON output it would make more sense to to compare blocks instead of emitting line-by-line.
Taking your example from #1386:
 1|fn add(x: i32,
 2|y: i32) -> i32 {
 3|            x + y
 4|}
 5|
 6|
 7|fn multiply(a: i32,
 8|b: i32) -> i32 {
 9|         a * b
10| }

I think the JSON should output something like this:
[
  {
    "line": 1,
    "severity": "warning",
    "message": "fn add(x: i32,\ny: i32) -> i32 {\n            x + y\n}\n",
    "replacement": "fn add(x: i32, y: i32) -> i32 {    x + y\n}"
  },
  {
    "line": 7,
    "severity": "warning",
    "message": "fn multiply(x: i32,\ny: i32) -> i32 {\n            x * y\n}\n",
    "replacement": "fn multiply(x: i32, y: i32) -> i32 {    x * y\n}"
  }
]

Thanks @TimDiekmann! What you've proposed would certainly simplify things. Basically emit a single entry for each mismatch with line set to the line number in the original file where each mismatch begins (and potentially another key with the ending line of each mismatch).
I'm going to proceed with that approach. However, I'm not sure what all is required/allowed/etc. by the CheckStyle spec so if anyone has any concerns or disagreements please let me know (as well as what you think the expected output should be)

Nice to hear you like the approach.
Anyway, doesn't it make more sense to focus on JSON first, and then adapt Checkstyle? JSON is much more flexible and easier to parse than XML (especially with tools like jq). Checkstyle is also very Java focused.
I'm not familiar with the internals of rustfmt, but I think this way is the easier one anyway.

Actually, in looking at this issue, it appears to be asking for a JSON representation of the diff in the Checkstyle schema (as opposed to a general JSON representation of the diff)

Anyway, doesn't it make more sense to focus on JSON first, and then adapt Checkstyle?

Whether we're talking about XML or JSON formatting of the Checkstyle representations of the diffs, there was still a need to first determine what the "correct' CheckStyle results should be. Also, the emitter for Checkstyle already exists, it's just not emitting line numbers the way folks are expecting. It's a lot easier to fix the existing formatter first. Creating a new emitter and wiring up the plumbing to make it available as an emit option is more involved.

JSON is much more flexible and easier to parse than XML (especially with tools like jq). Checkstyle is also very Java focused.

Completely agreed on both counts! I can definitely see the value in being able to emit the diff in various formats like json, but I'm also unsure on what/how exactly Checkstyle is being used.
I'd suggest that instead of trying to produce a JSON version of the Checkstyle representation (and trying to force the Checkstyle schema onto that JSON), that we instead separately provide JSON emit mode using the schema of our choosing (no checkstyle involved).
If that sounds amenable to folks then I'll start working on a non-checkstyle related JSON emitter


After 0.90.45 system acts like I have a mouse

I'm on a laptop that doesn't have mouse connected but the system acts like I have one (scrollbars always visible).

I too have the same issue.
Karabiner-Elements 0.90.45
OS X 10.12.1 Beta (16B2333a)

Thank you for feedback!
I've fixed this issue at 0.90.46.

Thanks!

I have the same problem with Karabiner-Elements 11.5.0 on osx 10.13.2.


How to extract_sub_graph in TF2?

My goal is to get partial model (tf.Graph) as feature extractor.
In TF1, the following utility can be used to get partial TF graph: https://www.tensorflow.org/api_docs/python/tf/compat/v1/graph_util/extract_sub_graph, how do I achieve same functionality given this util is deprecated?
[20200521 15:34:24 WARNING (from tensorflow.python.framework.graph_util_impl) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.compat.v1.graph_util.extract_sub_graph`

Graphs as a concept don't exist in TF2 - you can tf.function various pieces of code and under the hood they'll get converted to graphs. As a result,  such utilities as extract_sub_graph don't make that much sense.
Would be great to understand what your use case exactly is and why you need such a feature. Also, such questions are better suited for stack overflow where the community can help understand your use case and provide recommendations.

@rohan100jain In my use case I want to learn an embedding for a DNN workload by applying a GNN on the actual DNN. In this scenario it is too important for me to extract a graph representation of the actual TF workload. Any ideas or pointers for how I could achieve this goal?


Prioritized list of Regent features for HTR (PSAAP)

This is mostly a bookkeeping issue, to help us track the current set of prioritized Legion/Regent/Realm issues for HTR. My understanding is that these issues are currently (in order of priority):
Regent

[x] #637
[x] #958
[x] #1073
[x] #1184
[x] #1038
[x] #939
[x] #1041
[x] #873
[x] #1224
[x] #1264
[x] #1276
[x] #1188
[ ] #878
[ ] #995
[ ] #789
[ ] #694
[ ] #1190
[ ] #1189
[ ] #1354

Legion

[x] #1057
[x] #1388
[ ] #1167
[ ] #1420

Realm

[x] #1154
[x] #1141
[x] #1450
[ ] #521
[ ] #1364
[ ] #1164
[ ] #964
[ ] #1292
[ ] #1386
[ ] #1387

I think that HTR would also benefit from the solution of #873 and #694.
They are not critical so they should have the lowest priority.

Pinging here too: #1154 has a proposed fix that I need somebody to test out

@elliottslaughter, could you please insert #1276 in the Regent section with high priority?

@elliottslaughter, could you add #1292 to the Realm section with low priority?

@elliottslaughter, could you add #1386, #1387, and #1388 to the Realm (first two) and Legion (third issue) sections?
All these issues have low priority.
Thanks

@elliottslaughter, could you add #1364 to the Realm issues with priority just below #521?

@elliottslaughter, could you please add #1420 to the legion section?

@elliottslaughter, sorry for asking to add issues so frequently. Could you add #1262 to the Realm section above 1364?


Fetch ssj artifacts for end to end in ci

make setup does fetch them but may be skipped if no deps changed

This change is

suggestion. add the fetch-artifacts as a dep in the makefile for the make test-end-to-end instead

suggestion. add the fetch-artifacts as a dep in the makefile for the make test-end-to-end instead

pb is that locally I use a symlink and don't fetch, so it would override this + you don't want to dl again and again when you run them.
there is probably a better way to link artifacts though


Switch to installing packman from source

This means we don't need to re-release packman and update the
Dockerfile every time we roll out an updated configuration of the
artman remote.
Note that eventually when artman is versioned we'll want to switch
back to pegging packman.

Current coverage is 79.71% (diff: 100%)

Merging #92 into master will not change coverage

@@             master        #92   diff @@
==========================================
  Files            36         36
  Lines          1203       1203
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            959        959
  Misses          244        244
  Partials          0          0

Powered by Codecov. Last update 0c202d7...bc93d53

LGTM


include nvm and travis ci config, build with node 8/npm 5

In reference to #24.
This includes:

.nvmrc to point at node 8
package-lock.json as a part of npm 5
travis config

I'd be happy to swap out node versions or another CI. I also obviously cannot set up the hooks for travis to run in this repo so if we do go the travis route that will need to be added.

@bcruddy Nice, I love this. Especially the CI part :) Do I need to enable Travis before and after this is merged?

Yeah if you enable the travis hook we can make sure everything runs as expected (it should run if I force push to the branch)

Alright, I've enabled the Travis hook for this repo. Do you want to try it out?

@stasm I'm not sure if its just not showing up until someone pushes on an open PR but there's a repository settings to force CI to pass before merging (it can be overridden by admins)


Immediately invite user to all rooms of a guild upon bridging

When bridging a guild, it's kind of annoying to have to wait until a message is sent in each room before you can participate in it.
It would be nice if it were possible to be immediately invited to all rooms of a guild upon bridging it, instead of waiting for a message to be sent in each one.

What about listchannels and then clicking the pills to join? Kinda worried users reporting the opposite bug if implementing this, like "I just bridged a guild and now i got spammed with 40 invites"

You could do that and additionally prompt the user with:
"If you would like to be invited to all channels, use joinallrooms <user ID> <guild ID>"

Fixed in https://github.com/matrix-discord/mx-puppet-discord/commit/63f1887ec55a9bf51420d9bbc2f4ab03c4c9e04c
Syntax is joinentireguild <puppetId> <guildId>


test(pkg/nar): Fuzz the Parse and JoinURL funcs

TL;DR
Added fuzzing tests for URL parsing and joining functionality in the NAR package.
What changed?

Added FuzzParseURL to test the URL parsing functionality with various input combinations
Added FuzzJoinURL to test URL joining functionality with different hashes, queries, and base URLs
Optimized ParseURL function to return early on errors and initialize the URL struct more efficiently

How to test?
Run the fuzzing tests:
go test -fuzz=FuzzParseURL ./pkg/nar
go test -fuzz=FuzzJoinURL ./pkg/nar

Why make this change?
Fuzzing tests help identify edge cases and potential vulnerabilities in URL parsing and joining operations by testing with randomly generated inputs. This improves the robustness and security of the NAR package's URL handling capabilities.

#134  👈 (View in Graphite)
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Merge activity

Dec 18, 9:05 PM EST: A user merged this pull request with Graphite.